/*-------------------- mobile --------------------*/
@media screen and (max-width: 768px) {
    html{
        margin: 0 !important;
    }
    .mv_area{
        img{
            width:100px;
        }
    }
    #wpadminbar{
        display: none !important;
    }
/*-------------------- header --------------------*/
.header_container{
    padding: 15px 20px;
    position: fixed;
	height:69px;
    right: 0;
    top: 0;
    width: 100%;
    background: var(--white-color);
    box-sizing: border-box;
	display: flex;
    align-items: center;
	

    .menu_icon {
        display: flex;
    }
    .menu_box {
        position: absolute;
        top: 100%;
        right: 0;
        width: 100%;
        background: var(--white);
        z-index: 100;
        opacity: 0;
        transform: translateY(-10px);
        pointer-events: none;
        transition: opacity 0.3s ease, transform 0.3s ease;
    }
    .menu_box.active {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
    .main_nav ul {
        flex-direction: column;
        padding: 20px;
        gap: 15px;
    }
}
.header_container .logo {
    margin-bottom: 0;
}
.header_container .menu_box .main_nav ul li a::before {
    content: none;
}
.header_container .menu_box .main_nav ul {
    gap: 10px;
}

/*-------------------- footer --------------------*/
.footer_container .footer_contents {
    flex-direction: column;
    gap: 20px;
    padding-bottom: 30px;
}
.footer_container .footer_contents .logo a {
    font-size: 26px;
}
.footer_container .footer_contents .logo a .small_text_logo{
    font-size: 20px;
}
.footer_container .footer_contents .footer_link {
    flex-direction: column;
}
.footer_container .footer_contents .footer_link .footer_content {
    padding: 0;
    border-right: none;
}
.footer_container {
    padding: 30px 25px 0;
    font-size: 18px;
}
.footer_container .footer_contents .footer_link .footer_content ul li {
    margin-bottom: 15px;
}

/*-------------------- all --------------------*/
.main_container{
    padding-top:69px;
}

/*---------- css ----------*/
/*mb改行*/
.mb{
	display:block;
}
/*共通見出し*/
.caption{
	h2 {
		font-size:24px;
		margin-bottom:20px;
	}
/* 	h2::before, h2::after {
		content: '';
		background: var(--green);
		height: 1px;
		width: 45%;
	}
	h2::before {
		margin-right: 30px;
	}
	h2::after {
		margin-left: 30px;
	} */
}
.sub_visual{
    height:300px;

    .title{
        left:50%;
        top: 50%;
        transform:translate(-50%, -50%);
        width:300px;
        height:80px;
        padding:28px 0 0px;

        h1{
            font-size:30px;
        }
    }
    .fix_position{
        position: unset;
    }
}
.sub_container{
    padding:40px 0 60px;
}
.sub_wrap{
    padding:0 20px;
}

/*---------- 会社概要 ----------*/
.company_contents{
	margin-bottom:50px;
    table{
        th{
            width:25%;
            padding:10px;
            font-size:18px;
        }
        td{
            padding:10px;
            font-size:18px;

            img{
                max-width:200px;
            }
        }
    }
    p{
        margin-top:20px;
        padding-left:20px;
        font-size:18px;
    }
}

/*-------------------- home --------------------*/

.home_container{
	.top_container{
		.top_contents{
			.fix_position {
				height:100%;
				margin:0 auto;
				padding:0 20px;
				
				.site_kv_contents{
/* 					height: 100px; */
/* 					position: absolute;
					bottom: 0;
					left: 20px;
					min-width: 380px;
					padding: 20px;
					
					left: 50%;
                    top: 50%;
					transform: translate(-50%, -50%); */
					
					h1{
						line-height: 1.5em;
						font-size:25px;
						margin-top:0;
					}
				}
			}
		}
	}
}
.home_container .policy_container {
    font-size: 18px;
}
.home_container .policy_container .policy_contents {
    padding-top: 30px;
}
.home_container .policy_container .policy_contents .text_img_style {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
}
.home_container .policy_container .policy_contents .text_img_style .img_box {
    width: 100%;
}
.home_container .policy_container .policy_contents .text_img_style .img_box img {
    max-width: 100%;
	width:100%;
}
.home_container .policy_container .policy_contents .text_img_style .text_box {
    width: 100%;
}
.home_container .policy_container .policy_contents h3 {
    font-size: 20px;
}
.home_container .policy_container .policy_contents .text_img_style .text_box .title {
    margin-bottom: 10px;
}
.home_container .policy_container .policy_contents .text_img_style .text_box .detail {
    height: unset;
    margin-bottom: 20px;
}
.home_container .policy_container .policy_contents a {
    padding: 10px 30px;
    font-size: 18px;
}
.flex_col_rev_sp{
    flex-direction: column-reverse !important;
}
.home_container .room_info_container {
    font-size: 18px;
    margin-top: 50px;
}
.home_container h2 {
    font-size: 24px;
}
.home_container .policy_container .policy_contents h2 {
    font-size: 24px;
}
.home_container .room_info_container .room_info_contents .img_flex_style .img_box {
    /* flex-direction: column; */
    gap: 10px;
}
.home_container .room_info_container .room_info_contents .img_flex_style .img_box .note {
    width: 70px;
    height: 70px;
    top: -43px;
    left: 10px;
    transform: translate(0%);
    font-size:18px;
}

.home_container .room_info_container .room_info_contents .container_title {
    margin-bottom: 50px;
}
.home_container .room_info_container .room_info_contents .img_flex_style .info_box .info_content .content_title {
    width: 100px;
    background: var(--bg_green);
    padding: 0 10px;
    border: 1px solid var(--green);
	text-align:center;
}
.home_container .room_info_container .room_info_contents .img_flex_style .info_box .info_content {
    line-height: 36px;
    flex-direction: column;
}
.home_container .room_info_container .room_info_contents .img_flex_style .info_box {
    margin-top: 20px;
}
.home_container .room_info_container .room_info_contents .img_flex_style .info_link a {
    padding: 10px 30px;
    font-size: 18px;
}
.home_container .room_info_container .room_info_contents .img_flex_style {
    margin-bottom: 70px;
}
.home_container .room_info_container .room_info_contents .img_flex_style .info_box .info_content {
    margin-bottom: 10px;
}
.home_container .room_info_container .room_info_contents .img_flex_style {
    margin-bottom: 60px;
}
.home_container .room_info_container .room_info_contents .img_flex_style .img_box .img {
    max-width: 100%;
}
.home_container .room_info_container .room_info_contents .img_flex_style .img_box .img img{
    width: 100%;
}
.home_container .cop_info_container {
    font-size: 18px;
    margin: 0 0 60px;
}
.home_container .cop_info_container .cop_info_contents .container_title {
    margin-bottom: 30px;
}
.home_container .cop_info_container .cop_info_contents .cop_info_style {
    gap: 20px;
    flex-direction: column;
}
.home_container .cop_info_container .cop_info_contents .cop_info_style .cop_info_box .cop_info_content {
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid var(--gray);
}
.home_container .cop_info_container .cop_info_contents .cop_info_style .cop_info_box .cop_info_content .content_title {
    width: 95px;
}
.home_container .cop_info_container .cop_info_contents .cop_info_style .cop_info_box .cop_info_content .content_detail img {
    max-width: 223px;
}
.home_container .cop_info_container .cop_info_contents .cop_info_style .img_box{
    max-width: 100%;
}
.home_container .cop_info_container .cop_info_contents .cop_info_style .img_box img{
    width: 100%;
}
.home_container .cop_info_container .cop_info_contents .cop_info_style .cop_info_box {
    width: 100%;
}
.home_container .news_container .news_contents .container_title {
    margin-bottom: 30px;
}
.home_container .news_container .news_contents .news_style {
    flex-direction: column;
    gap: 20px;
    font-size: 18px;
}
.home_container .news_container .news_contents .news_style .news_content .news_detail .view_more_link a {
    font-size: 18px;
}
.home_container .news_container .news_contents .news_style .news_content .news_detail {
    height: 138px;
}
.home_container .news_container {
    margin-bottom: 60px;
}
.home_container .contact_container {
    font-size: 18px;
}
.home_container .contact_container .contact_contents .contact_content {
    padding: 20px;
    flex-direction: column;
    gap: 20px;
}
.home_container .contact_container .contact_contents .contact_content .mail_button {
    width: 100%;
    padding-right: 0;
}
.home_container .contact_container .contact_contents .contact_content .mobile_contact {
    width: 100%;
}
.home_container .contact_container .contact_contents .contact_content .mobile_contact input {
    font-size: 18px;
    padding: 15px;
    border-radius: 10px;
}
.home_container .news_container .news_contents .news_style .news_content {
    max-width: 100%;
}
.home_container .news_container .news_contents .content_detail {
    grid-template-columns: repeat(1, 1fr);
}
.home_container .news_container .news_contents .content_detail .news_content {
    max-width: unset;
}

/*-------------------- offic info --------------------*/
.offic_info .offic_info_button .button_content {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.offic_info .offic_info_button .button_content a {
    font-size: 18px;
    padding: 10px;
    text-align: center;
}
.offic_info .offic_info_detail .offic_info_detail_top {
    margin: 20px 0 60px;
}
.offic_info .offic_info_detail .img_flex_style {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 30px;
    gap: 10px;
}
.offic_info .offic_info_detail .img_flex_style .img_content {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
    padding: 5px;
}
.offic_info .offic_info_detail .img_flex_style .img_content img {
    width: 100%;
}
.offic_info .offic_info_detail .offic_info_detail_top .take_file_button a {
    font-size: 18px;
}
.offic_info h2 {
    font-size: 24px;
    margin-bottom: 30px;
}
.offic_info h3 {
    font-size: 18px;
    margin-bottom: 20px;
}
.offic_info .offic_info_detail .offic_info_detail_rent {
    font-size: 18px;
}
.offic_info .offic_info_detail .offic_info_detail_rent .info_detail_text {
    line-height: 30px;
}
.offic_info .offic_info_detail .offic_info_detail_rent .table_style {
    margin-bottom: 20px;
}
.offic_info .offic_info_detail .offic_info_detail_rent .rent_content {
    margin-bottom: 50px;
}
.offic_info .offic_info_detail .offic_info_detail_access {
    font-size: 18px;
}
.offic_info .offic_info_detail .offic_info_detail_access .info_detail_text {
    line-height: 30px;
}
.offic_info .offic_info_detail {
    margin-bottom: 60px;
}
.offic_info .offic_info_detail .take_file_button .img_flex_style {
    grid-template-columns: repeat(3, 1fr);
	align-items: stretch;
}
.offic_info .offic_info_detail .img_guid {
    margin-top: 20px;
    font-size: 18px;
}

/* -------------------- 同じスタイル ----------------- */
.same_style .site_kv_container {
    height: 300px;
}
.same_style .site_kv_container .site_kv_contents {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
    height: 80px;
    padding: 28px 0 0px;
}
.same_style .site_kv_container .site_kv_contents h1 {
    font-size: 30px;
}
.same_style .table_style {
    font-size: 18px;
    margin-bottom: 30px;
}
.same_style .table_style table tbody tr td {
    padding: 10px;
}
.same_style .table_change_style {
    font-size: 18px;
    margin-bottom: 30px;
}
.same_style .table_change_style dl {
    grid-template-columns: 1fr;
}
.same_style .table_change_style dl dt {
    padding: 10px 20px;
    border-right: none;
    border-bottom: 1px solid var(--green);
}
.same_style .table_change_style dl dd {
    padding: 10px 20px;
}
.same_style .map a {
    height: 200px;
}
.same_style .contact_container {
    font-size: 18px;
    margin-bottom: 60px;
}
.same_style .contact_container .contact_link a img {
    width: 30px;
}
.same_style .contact_container .contact_link {
	flex-direction: column;
	gap: 20px;
}
.same_style .contact_container .contact_link a {
	font-size: 18px;
	padding: 10px 20px;
}
.same_style.contact_container  .contact_link  a img {
	width: 30px;
}
.same_style .contact_container .contact_note {
	margin-bottom: 30px;
}

/* -------------------- philosophy ----------------- */
.comp_section{
	grid-template-columns:1fr;
	margin: 0 0 50px !important;
}
.philosophy_content{
	margin-bottom: 50px;
	
	h3, p{
		text-align:left;
	}

	h3{
		font-size:20px;
/* 		color: var(--black);
		word-break: auto-phrase;
		white-space: nowrap; */
		margin-bottom:20px;
	}
	
	p{
		font-size:18px;
	}
}
/* .philosophy .philosophy_contents .philosophy_content h2 {
    font-size: 24px;
    margin-bottom: 30px;
}
.philosophy .philosophy_contents .philosophy_content .content_detail {
    font-size: 18px;
}
.philosophy .philosophy_contents {
    margin-top: 40px;
}
.philosophy {
    margin-bottom: 60px;
} */

/*-------------------- availability--------------------*/
.availability .availability_contents .availability_content h2 {
    font-size: 24px;
    margin-bottom: 30px;
}
.availability .availability_contents {
    margin-top: 40px;
    font-size: 18px;
}
.availability .availability_contents .availability_note {
    margin-bottom: 40px;
}
.availability .availability_contents .availability_content h2 {
    font-size: 24px;
    margin-bottom: 30px;
}
.availability .same_style .site_kv_container .site_kv_contents h1 {
    font-size: 28px;
}
.availability .availability_contents .availability_content .content_detail .schedule table tr th {
    padding: 10px;
}
.availability .availability_contents .availability_content .content_detail .schedule table tr td {
    padding: 10px;
}
.availability {
    margin-bottom: 60px;
}

/*-------------------- recruit--------------------*/
.recruit .recruit_contents .recruit_content h2 {
    font-size: 24px;
    margin-bottom: 30px;
}
.recruit .recruit_contents {
    margin-top: 40px;
    font-size: 18px;
}
.recruit .recruit_contents .recruit_note {
    margin-bottom: 40px;
}
.recruit .recruit_contents .recruit_content h2 {
    font-size: 24px;
    margin-bottom: 30px;
}
.recruit .same_style .contact_container .contact_note p span {
    font-size: 25px;
}
.recruit .recruit_contents .recruit_content .content_detail .detail_note {
    margin: 20px 0;
}
.recruit .recruit_contents .recruit_content h3 {
    padding-left: 20px;
    font-size: 18px;
    margin: 20px 0 10px;
}
.recruit .recruit_contents .recruit_content h3::before {
    width: 10px;
    height: 10px;
}
.recruit .recruit_contents .recruit_content {
    margin-bottom: 40px;
}
.recruit {
    margin-bottom: 60px;
}

/*-------------------- accessmap--------------------*/
.accessmap_contents{
	padding:0;
	margin: 0 auto 60px;
	
	.accessmap_content{
		h3{
			font-size:20px;
		}	
	}
}
.accessmap .accessmap_contents .accessmap_content h2 {
    font-size: 24px;
    margin-bottom: 30px;
}

/*-------------------- category--------------------*/
.category {
    margin-bottom: 60px;
}
.category .category_contents {
    font-size: 18px;
}
.category .category_contents .category_content {
    margin-bottom: 40px;
}
.category .category_contents .category_content .content_detail {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    font-size: 18px;
    margin-bottom: 40px;
}
.category .category_contents .category_content .content_detail .news_content .news_detail .view_more_link a {
    font-size: 18px;
}
.category .category_contents .category_content .content_detail .news_content .news_detail {
    height: 138px;
}
.category .category_contents .category_content .content_detail .news_content {
    width: 100%;
    max-width: none;
}
.category .category_contents .category_content .content_detail .news_content .news_detail .detail_title h2 {
    font-size: 21px;
}
.category .category_contents .pagination {
    font-size: 18px;
    padding: 10px 0;
}
.category .category_contents .pagination .page-numbers {
    padding: 5px 10px;
}

/*-------------------- contact --------------------*/
.contact .contact_contents .contact_content h2 {
    font-size: 24px;
    margin-bottom: 30px;
    text-align: center;
}
.contact .contact_contents {
    font-size: 24px;
}
.contact .contact_contents .contact_content .content_detail .detail_text p {
    font-size: 24px;
    margin-bottom: 10px;
}
.contact .contact_contents .contact_content .content_detail .detail_text span {
    font-size: 18px;
}
.contact .contact_contents .contact_content .content_detail .contact_form {
    font-size: 18px;
}

/*-------------------- contact form --------------------*/
.wpcf7-form label {
	grid-template-columns: 1fr;
}
.wpcf7-form label .title_label{
	text-align: start;
}
.wpcf7-form select {
    font-size: 18px;
}
.wpcf7-form input, .wpcf7-form textarea {
    font-size: 18px;
}
.wpcf7-spinner {
    right: 25%;
}
.wpcf7-form label .title_label .note {
    padding: 4px 8px;
    font-size: 18px;
    border-radius: 7px;
    margin-right: 5px;
}

/*-------------------- news page--------------------*/
.news_main {
    margin-bottom: unset;
}
.news_main .news_wrap .news_detail_article {
    margin-top: 102px;
}
.news_main .news_wrap .news_detail_article {
    font-size: 18px;
    margin-top: 102px;
}
.news_main .news_wrap .news_detail_article .news_detail_head h1 {
    font-size: 24px;
    margin-bottom: 30px;
}


/*---- よくある質問 ----*/
.faq_area{
	padding-top:20px;
}
.faq_select_section{
	top:49px;
    grid-template-columns:1fr;
    gap: 15px;
	
	a{
		font-size:18px;
	}
}

.que_ans_content{
	margin-bottom:0;
	margin-top:50px;
	
	.que_ans_title{
		margin-bottom:20px;
		
		h2 {
			font-size:24px;
			margin-bottom:0;
		}
	
		.que_ans_lists{
			display: grid;
			grid-gap: 20px;

			.que_ans_box{
				position: relative;
				cursor: pointer;
				transition: 0.3s;

				.que_box{
					position: relative;
					cursor: pointer;
					transition: 0.3s;
					border: 1px solid #c6c6c6;

					> dl{
						display: flex;
						justify-content: flex-start;
						align-items: center;
						grid-gap:15px;
						margin: 0;
						padding: 10px 40px 10px 20px;

						dt{
							font-size: 22px;
						}
						dd{
							font-size:18px;
						}
					}
				}
				.que_box:before {
					content: '';
					position: absolute;
					top: calc(45%);
					right: 20px;
					width: 10px;
					height: 10px;
					border-right: 2px solid #777777;
					border-bottom: 2px solid #777777;
					transform: translateY(-50%) rotate(45deg);
				}

				.ans_box{
					border: 1px solid #c6c6c6;
					background: #ededed;
					border-top: none;

					dl{
						display: flex;
						justify-content: flex-start;
						align-items: center;
						grid-gap:15px;
						margin: 0;
						padding: 10px 40px 10px 20px;

						dt{
							font-size: 22px;
						}

						dd{
							font-size:18px;
						}
					}
				}
			}
		}
	}






}