@charset "utf-8";
/* CSS Document */

body { font-size:calc(18 * 0.20vw); line-height: 1.8; }
:target { scroll-margin-top: calc(155vw / 7.2); }


.pc { display:none; }
.sp { display:block; }



.sp_left { text-align:left; }

.fs10vw { font-size:calc(10 * 0.22vw); }
.fs12vw { font-size:calc(12 * 0.22vw); }
.fs14vw { font-size:calc(14 * 0.20vw); }
.fs15vw { font-size:calc(15 * 0.20vw); }
.fs16vw { font-size:calc(16 * 0.20vw); }
.fs17vw { font-size:calc(17 * 0.20vw); }
.fs18vw { font-size:calc(18 * 0.20vw); }
.fs20vw { font-size:calc(20 * 0.20vw); }
.fs21vw { font-size:calc(20 * 0.20vw); }
.fs22vw { font-size:calc(22 * 0.18vw); }
.fs23vw { font-size:calc(23 * 0.18vw); }
.fs24vw { font-size:calc(24 * 0.18vw); }
.fs25vw { font-size:calc(25 * 0.18vw); }
.fs26vw { font-size:calc(26 * 0.17vw); }
.fs27vw { font-size:calc(27 * 0.17vw); }
.fs28vw { font-size:calc(28 * 0.17vw); }
.fs29vw { font-size:calc(29 * 0.15vw); }
.fs30vw { font-size:calc(30 * 0.15vw); }
.fs32vw { font-size:calc(32 * 0.14vw); }
.fs34vw { font-size:calc(34 * 0.14vw); }
.fs35vw { font-size:calc(35 * 0.14vw); }
.fs36vw { font-size:calc(36 * 0.14vw); }
.fs37vw { font-size:calc(37 * 0.14vw); }
.fs38vw { font-size:calc(38 * 0.14vw); }
.fs40vw { font-size:calc(40 * 0.14vw); }
.fs45vw { font-size:calc(45 * 0.11vw); }
.fs48vw { font-size:calc(48 * 0.11vw); }
.fs50vw { font-size:calc(50 * 0.11vw); }
.fs52vw { font-size:calc(52 * 0.11vw); }
.fs54vw { font-size:calc(54 * 0.11vw); }
.fs56vw { font-size:calc(56 * 0.11vw); }
.fs58vw { font-size:calc(58 * 0.11vw); }
.fs60vw { font-size:calc(60 * 0.11vw); }
.fs65vw { font-size:calc(65 * 0.11vw); }
.fs66vw { font-size:calc(66 * 0.11vw); }
.fs68vw { font-size:calc(68 * 0.11vw); }
.fs70vw { font-size:calc(70 * 0.11vw); }
.fs72vw { font-size:calc(72 * 0.11vw); }
.fs80vw { font-size:calc(80 * 0.1vw); }
.fs90vw { font-size:calc(90 * 0.1vw); }
.fs100vw { font-size:calc(100 * 0.1vw); }

.inner { width: 92%; }
.middle_inner { width: 92%; }
.low_inner { width: 92%; }
.minimum_inner { width: 92%; }


.right_inner { width: 100%; }
.left_inner { width: 100%; }

.more { width: calc(320vw / 7.2); height: calc(70vw / 7.2); }




#header .logo_box { width: calc(460vw / 6.2); z-index: 9999; }
#header .logo_box a .logo { width: calc(126vw / 7.2); }


#header #hamburger { caret-color: transparent; z-index: 9999; }
#header #hamburger .bar {
	display: block; width: calc(70vw / 7.2); height: 2px; 
	transition: transform 0.3s ease, opacity 0.3s ease;transform-origin: center center; transform: none;
}
#header #hamburger .bar_1 { margin-block-end:calc(30vw / 19.2); }

#header #hamburger.active .bar {  }
#header #hamburger.active .bar_1 { transform: translateY(var(--offset)) rotate(45deg); margin-block-end:calc(30vw / 7.2); }
#header #hamburger.active .bar_2 { transform: translateY(calc(var(--offset) * -1)) rotate(-45deg); }

#header #drawer {
	position: fixed;top: 0;left: 0;width: 100%;height: 100%;
	background: rgba(0,0,0,0.5);display: flex; opacity:0;transition: opacity 0.3s ease; pointer-events:none;
	justify-content: flex-start;align-items: flex-start;z-index: 1000;
}
#header #drawer.open {opacity:1; pointer-events:auto;}

#header #drawer .drawer-content {
	display:block; width: 100%; height: 100%; transform: translateX(200%);transition: transform 0.3s ease;
	padding: 10em 4% 7em 4%; grid-template-rows: 20em; background-color: #127e40;
}
#header #drawer.open .drawer-content {transform: translateX(0);}


#header .header_nav .nav_list { display: block; }
#header .header_nav .nav_list li { margin:2em 1em 2em 1em; }
#header .header_nav .nav_list li a { font-size:calc(40 * 0.14vw); }


#footer .left_inner { display:block; }
#footer .logo_box { width: 92%; padding: 1.5em 0 1.5em calc(100vw / 19.2); }
#footer .logo_box .logo { width: calc(226vw / 7.2); }

#footer .footer_nav .nav_list { display: block; margin-block-start: 3em; }
#footer .footer_nav .nav_list li { margin: 1em 0 0 2em; }





#top_news .news_list .box { display: block; }
#top_news .news_list .box dt { display: block; width:100%; padding: 1em 0 0 0; }
#top_news .news_list .box dd { display: block; padding: 1em 0 1em 0; }


#top_news { padding: 3em 0 3em 0; }


#top_company { padding: 3em 0 3em 0; }
#top_company .text .ttl { top: -2.5em; line-height: 1.5; }
#top_company .text { width: 90%; padding: 3em 0 3em 2em; }

#top_company .more { margin: 1em 0 0 0; }



#top_group_companies { padding: 3em 0 3em 0; }
#top_group_companies .text .ttl { top: -2.5em; line-height: 1.5; }
#top_group_companies .text { width: 90%; padding: 3em 0 3em 2em; float: none; }

.thumb_group { position: static; width: 90%; margin: auto; }
.thumb_group .thumb { width: calc(420vw / 10.2); height: calc(325vw / 10.2); }


#top_other_contents { display: block; padding: 2em 0 4em 0; }

#top_other_contents .box { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; margin-block-end: 3em; }
#top_other_contents .box::after { width: 100%; height: 100%; background-size: 8px 8px; }
#top_other_contents .box .more { margin-block-start: 4em; }



.page_header { height: calc(300vw / 7.2); }


.company_nav { display: block; }


#philosophy .content { display: block; }

#philosophy .content .text { width: 100%; padding-bottom:1em; }

#philosophy .content .thumb { width: 100%; height: auto; aspect-ratio: 143 / 134; }


#company_profile .content .table dt { width: 5em; padding: 1em 0 1em 0; }

#company_profile .content .map dt { padding: 0 1em 0 0; }

#history .content .table dt { width: 5em; padding: 1em 0 1em 0; }





dl.relation_container dt { display: none; }
dl.relation_container dd { display: block; margin-left: 0; width: 100%;}
dl.relation_container dd .thumb { margin-block-end:1em; }

dl.relation_container dd dl dd { width: 100%; }
dl.relation_container dd span { font-size:calc(18 * 0.20vw); }



#contact-form { padding:0; }

form .box { display: block; }
form .box dt { display: block; width:100%; padding: 2em 0 1em 0; }
form .box dd { display: block; padding: 0 0 1em 0; }


form .next, form .send_btn, form .back_btn { width: calc(320vw / 7.2); height: calc(70vw / 7.2); }




