@charset "UTF-8"; 
/*
Theme Name: TOHO
Text Domain: TOHO
Theme URI:
*/
/******************/
/******************/
/* RESET CSS */
*,
*::before,
*::after {box-sizing:border-box;}
* {margin:0; vertical-align:baseline; padding:0; font-style:inherit; font-family:inherit; font-weight:inherit; text-decoration:none; border:0; outline:0;}
article, aside, dialog, figure, footer, header, main, nav, section {display:block;}
img, picture, audio, canvas, video, svg {display:inline-block; max-width:100%;}
img {vertical-align:bottom; max-width:100%; height:auto;}
video {height:auto;}
picture {display:contents;}
h1, h2, h3, h4, h5, h6 {overflow-wrap:break-word;}
br,
hr {display:block;}
ol,
ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote::before, blockquote::after, q::before, q::after {content:none;}
input,
select {vertical-align:middle;}
html {font-size:62.5%;}
body {position:relative; width:100%; height:auto; text-align:center; line-height:1.5; letter-spacing:.2em; --letter-spacing:.15em; font-size:1.5rem; font-family:"Noto Sans JP","YuGothic", "Yu Gothic", "游ゴシック", "Meiryo", "メイリオ", Arial, Verdana, sans-serif; font-weight:500; color:var(--text-color-darknavy); background-color:var(--color-white); overflow-x:hidden; overflow-x:hidden; -webkit-text-size-adjust:100%; -moz-text-size-adjust:100%; -ms-text-size-adjust:100%; -o-text-size-adjust:100%; text-size-adjust:100%; font-feature-settings:"palt"; -webkit-font-smoothing:antialiased; font-smoothing:antialiased; -webkit-tap-highlight-color:transparent;}
.is-navi {padding-right:var(--scrollbar-width,0);}
 @media screen and (max-width:800px) {
	body {font-size:1.3rem;}
}
.is-navi {overflow:hidden;}
a,
a:link,
a:visited,
a:hover,
a:active {text-decoration:none; color:inherit; transition:color .25s; -webkit-tap-highlight-color:transparent rgba(0,0,0,0); -moz-tap-highlight-color:transparent rgba(0,0,0,0); -ms-tap-highlight-color:transparent rgba(0,0,0,0); -o-tap-highlight-color:transparent rgba(0,0,0,0); tap-highlight-color:transparent rgba(0,0,0,0); -webkit-text-decoration-skip:objects;}
a:hover {color:var(--text-color-red);}
h1,h2,h3,h4,h5,h6 {display:block;}
b {color:var(--color-navy);}
i {font-style:normal;}
u {text-decoration:underline;}
em {font-weight:inherit;}
strong {font-size:inherit; font-weight:bold;}
mark {background:transparent;}
hr {margin:0 0 40px 0; height:0; border:0; border-top:1px solid #cccccc; border-color:var(--color-light);}
table {width:100%; border-collapse:collapse; border-spacing:0; empty-cells:show; border:0;}
table th,
table td {vertical-align:top;}

::-moz-selection {color:var(--text-color-white); background-color:var(--color-red);}
::selection {color:var(--text-color-white); background-color:var(--color-red);}

:root {
	--color-white:#ffffff; 
	--color-black:#000000; 
	--color-gray:#a4b7bf; 
	--color-blue:#3b83a8; 
	--color-lightblue:#f0f8fc; 
	--color-grayish-blue:#cddae0; 
	--color-darkblue:#1c648b; 
	--color-lightpurple:#f1f3fa; 
	--color-purple:#3b71a8; 
	--color-navy:#274e8d; 
	--color-darknavy:#0f4d6e; 
	--color-red:#b91a1a; 
	--color-darkred:#7b0a0a; 
	--text-shadow:0 .15em .25em rgba(0,0,0,.5); 
	--text-color-white:#ffffff; 
	--text-color-black:#000000; 
	--text-color-lightgray:#bebebe; 
	--text-color-lightblue:#cddae0; 
	--text-color-navy:#3b71a8; 
	--text-color-darknavy:#0f4d6e; 
	--text-color-blue:#3b83a8; 
	--text-color-red:#b91a1a; 
	--border-color-white:#ffffff; 
	--border-color-lightblue:#cddae0; 
	--border-color-darknavy:#0f4d6e; 
	--border-color-dark:#333333; 
	--shadow-dark-small:0 3px 6px rgba(54,51,51,.2); 
	--content-padding:40px; 
	--content-width-narrow:min(920px,calc(100vw - var(--content-padding) * 2)); 
	--content-width:min(1080px,calc(100vw - var(--content-padding) * 2)); 
	--content-width-wide:min(1200px,calc(100vw - var(--content-padding) * 2)); 
	--header-height:100px; 
}
@media screen and (max-width:1240px) {
	:root {
		--header-height:72px; 
	}
}
 @media screen and (max-width:800px) {
	:root {
		--content-padding:24px; 
	}
}
@media screen and (max-width:360px) {
	:root {
		--content-padding:16px; 
	}
}

.keep-all {word-break:keep-all!important;}
@media not screen and (max-width:1024px) {
	.pc-hide {display:none!important;}
}
@media screen and (max-width:1024px) {
	.sp-hide {display:none!important;}
}
* {letter-spacing:var(--letter-spacing);}
.site {overflow-x:hidden;}

.site-header {position:fixed; top:0; right:var(--scrollbar-width,0); left:0; z-index:8; display:flex; height:var(--header-height); justify-content:space-between; transition:height .5s;}
.header-logo {position:relative; z-index:4; display:flex; height:100%; flex-shrink:0; padding:0 44px; justify-content:center; align-items:center; background:var(--color-white);}
.header-logo > .sitelogo {margin:0 16px 0 0; height:45%;}
.header-logo > .sitelogo > a {transition:opacity .25s;}
.header-logo > .sitelogo img {display:block; width:auto; height:100%;}
.header-logo > .sitelogo > a:hover {opacity:.5;}
.header-logo > .description {text-align-last:left; font-size:1.4rem; font-weight:700; color:var(--text-color-black);}
.header-navi-container {display:flex; height:100%; flex-basis:100%; flex-basis:100%; flex-shrink:1; justify-content:flex-end; background:var(--color-black);}
.header-navi {display:flex; margin:0 3%; height:100%; flex-basis:auto; justify-content:space-between; --letter-spacing:.05em; color:var(--text-color-white); flex-grow:0;}
.header-navi > .item {position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 0;}
.header-navi > .item > a {display:block; padding:1.25em 0; font-size:1.6rem; font-weight:500;}
.header-navi > .item:not(:first-child) > a {padding-left:1em;}
.header-navi > .item:not(:last-child) > a::after {content:""; display:inline-block; margin:0 0 0 1em; vertical-align:-.25em; width:1px; height:1.25em; background:var(--text-color-white); transform:rotate(20deg);}
.header-navi > .item > a:hover {color:var(--text-color-red);}
.header-navi-submenu {position:absolute; bottom:16px; left:0; transform:translate(0,100%); transition:opacity .25s,transform .25s,bottom .25s;}
.header-navi-submenu {border:1px solid rgba(255,255,255,.58); opacity:0; pointer-events:none;}
.header-navi-submenu > .item {display:contents;}
.header-navi-submenu > .item > a {display:block; padding:.25em 1em; text-align:left; line-height:1.75; white-space:nowrap; --letter-spacing:.2em; background:rgba(0,0,0,.58);}
.header-navi-submenu > .item:not(:last-child) > a {border-bottom:1px solid rgba(255,255,255,.58);}
.header-navi > .item:hover .header-navi-submenu {bottom:0; opacity:1; pointer-events:auto;}
a.header-entry {display:flex; padding:0 2.5em; justify-content:center; align-items:center; font-size:1.6rem; color:var(--text-color-white); background:var(--color-red); transition:background-color .25s;}
a.header-entry:hover {background-color:var(--color-darkred);}
.navi-toggle {position:relative; width:30px; height:100%; padding:0 calc(14px + var(--content-padding)); background:none; cursor:pointer; transition:background-color .25s;}
.navi-toggle {display:none;}
.navi-toggle::before,
.navi-toggle::after {content:""; position:absolute; left:50%; display:block; width:30px; height:2px; background:var(--color-black); border-radius:400px; transform:translate(-50%,0);}
.navi-toggle:hover {background-color:var(--color-black);}
.navi-toggle:hover::before,
.navi-toggle:hover::after {background-color:var(--color-white);}
.navi-toggle::before {top:calc(50% - 6px);}
.navi-toggle::after {bottom:calc(50% - 6px);}
.navi-toggle.is-on {background-color:var(--color-black);}
.navi-toggle.is-on::before {background-color:var(--color-white); animation:navitoggle-on-before .25s 0s both normal ease-in-out;}
.navi-toggle.is-on::after {background-color:var(--color-white); animation:navitoggle-on-after .25s 0s both normal ease-in-out;}
@keyframes navitoggle-on-before {
	0% {top:calc(50% - 6px);}
	50% {top:calc(50% - 1px); transform:translate(-50%,0) rotate(0deg);}
	100% {top:calc(50% - 1px); background-color:var(--color-white); transform:translate(-50%,0) rotate(-45deg);}
}
@keyframes navitoggle-on-after {
	0% {bottom:calc(50% - 6px);}
	50% {bottom:calc(50% - 1px); transform:translate(-50%,0) rotate(0deg);}
	100% {top:calc(50% - 1px); background-color:var(--color-white); transform:translate(-50%,0) rotate(45deg);}
}
@media screen and (max-width:1440px) {
	.header-logo {padding:0 20px;}
	.header-navi > .item > a {font-size:1.4rem;}
	a.header-entry {font-size:1.4rem;}
}
@media screen and (max-width:1320px) {
	a.header-entry {padding:0 1.75em;}
}
@media screen and (max-width:1240px) {
	.site-header {background:var(--color-white);}
	.header-logo {padding:0 0 0 var(--content-padding);}
	.header-navi-container {position:fixed; top:var(--header-height); right:var(--scrollbar-width,0); bottom:0; left:0; display:block; height:auto; padding:56px var(--content-padding) 80px; overflow-y:scroll;}
	.header-navi-container {visibility:hidden; opacity:0; transition:opacity .5s; pointer-events:none;}
	.header-navi-container::-webkit-scrollbar {display:none;}
	.header-logo > .description {font-size:1.3rem;}
	.navi-toggle {display:block;}
	.is-navi .header-navi-container {visibility:visible; opacity:1; pointer-events:auto;}
	.header-navi {display:grid; margin:0 0 40px; height:auto; padding:0; gap:32px; grid-template-columns:1fr;}
	.header-navi > .item {display:block; padding:0;}
	.header-navi > .item > a {position:relative; margin:0 0 .75em; width:100%; padding:0 0 1em; text-align:left; border-bottom:2px solid var(--border-color-white);}
	.header-navi > .item:not(:first-child) > a {padding-left:0;}
	.header-navi > .item:not(:last-child) > a::after {display:none;}
	.header-navi > .item > a:last-child {padding-left:1.5em;}
	.header-navi > .item > a:last-child::before {content:""; position:absolute; top:.375em; left:0; width:.6em; height:.8em; background:var(--color-white); --clip-path:polygon(0 0,100% 50%,0 100%); clip-path:var(--clip-path); transition:background-color .25s; -webkit-clip-path:var(--clip-path); transition:background-color 0.25s;}
	.header-navi > .item > a:last-child:hover::before {background-color:var(--text-color-red);}
	.header-navi-submenu {position:static; display:grid; grid-template-columns:1fr; border:none; opacity:1; transform:none; pointer-events:auto;}
	.header-navi-submenu > .item > a {position:relative; width:fit-content; padding:.375em 0 .375em 1.5em; background:none; border:none;}
	.header-navi-submenu > .item:not(:last-child) > a {border:none;}
	.header-navi-submenu > .item > a::before {content:""; position:absolute; top:.875em; left:0; width:.6em; height:.8em; background:var(--color-white); --clip-path:polygon(0 0,100% 50%,0 100%); clip-path:var(--clip-path); transition:background-color .25s; -webkit-clip-path:var(--clip-path);}
	.header-navi-submenu > .item > a:hover::before {background-color:var(--text-color-red);}
	a.header-entry {display:block; padding:1.5em 0;}
	.site-header.-bg-blue {background:none;}
	.site-header.-bg-blue .header-logo {color:var(--text-color-white); background:none;}
	.site-header.-bg-blue .header-logo .description {color:var(--text-color-white);}
	.site-header.-bg-blue::before {content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; background:rgba(3, 99, 150, .6); mix-blend-mode:multiply;}
	.site-header.-bg-blue .navi-toggle::before,
	.site-header.-bg-blue .navi-toggle::after {background-color:var(--color-white);}
}
@media screen and (max-width:600px) {
	.header-navi {font-size:1.4rem;}
}

.site-main {padding:0 0 40px;}
.site-main.-pb-0 {padding-bottom:0;}

.page-header {position:relative; z-index:0; margin:0 0 80px; padding:calc(var(--header-height) + 88px) 0 88px; animation:fade-in .5s .5s 1 both ease-in-out;}
.page-header > .picture {position:absolute; top:0; right:0; bottom:0; z-index:-1; width:60%;}
.page-header > .picture::after {content:""; position:absolute; top:0; right:0; bottom:0; left:0; display:block; background:var(--color-blue); opacity:.6; mix-blend-mode:multiply;}
.page-header > .picture img {width:100%; height:100%; object-fit:cover;}
.page-title-container {position:relative; z-index:0; margin:0 auto; width:var(--content-width); color:var(--text-color-white);}
.page-title-container > .bgtext {position:absolute; top:50%; left:max(-120px,calc(50% - 50vw)); height:130px; transform:translate(0,-50%);}
.page-title-container > .bgtext img {width:auto; height:100%;}
.page-title-container .page-title {width:fit-content; min-width:60%;}
.page-title {position:relative; padding:112px 40px 112px 0; text-align:left;}
.page-title::before {content:""; position:absolute; top:0; right:0; bottom:0; z-index:-1; width:120vw; background:var(--color-darknavy); opacity:.9;}
.page-title > .japanese {position:relative; line-height:1.25; --letter-spacing:.2em; font-size:5.0rem; font-weight:500;}
.page-title > .japanese::before {content:""; position:absolute; top:50%; right:calc(100% + .5em); width:120vw; height:2px; background:var(--text-color-white); transform:translate(0,-50%);}
.page-title > .english {display:block; --letter-spacing:.2em; font-size:2.5rem; font-weight:500;}

.page-header-small {position:relative; display:flex; padding:calc(120px + var(--header-height)) 0 120px; flex-direction:column; justify-content:center; align-items:center; text-align:center; color:var(--text-color-white);}
.page-header-small .background {position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1;}
.page-header-small .background img {width:100%; height:100%;}
.page-header-small .background::before {content:""; position:absolute; top:0; right:0; bottom:0; left:0; background:var(--color-darknavy); opacity:.9; mix-blend-mode:multiply;}
.page-header-small .title {margin:0 0 1em; text-align:center; line-height:1; font-size:5.0rem;}
.page-header-small > .description {text-align:center; font-size:2rem;}
@keyframes fade-in {
	0% {opacity:0;}
	100% {opacity:1;}
}
@media screen and (max-width:1024px) {
	.page-header {display:flex; margin-bottom:24px; height:450px; padding:0; padding:52px 0; flex-direction:column; justify-content:flex-end;}
	.page-header > .picture {width:100%;}
	.page-title-container > .bgtext {top:auto; bottom:24px; left:0; height:80px; transform:none;}
	.page-title {padding:0;}
	.page-title::before {display:none;}
	.page-title .japanese {font-size:3.5rem;}
	.page-title .japanese::before {display:none;}
	.page-title > .english {font-size:2rem;}
}

.page-navi {position:relative; z-index:2; display:flex; width:var(--content-width); justify-content:center; flex-wrap:wrap; gap:2.666%; animation:fade-in .5s .5s 1 both ease-in-out;}
.page-navi {margin:80px auto;}
.page-header + .page-navi {margin-top:200px;}
.page-navi > .item {position:relative; flex-basis:23%; box-shadow:var(--shadow-dark-small);}
.page-navi > .item .anchor {position:absolute; top:0; right:0; bottom:0; left:0; z-index:2; display:flex; padding:32px 48px 32px 24px; flex-direction:column; justify-content:center; align-items:center; text-align:left; word-break:keep-all; font-size:2.0rem; font-weight:500; color:var(--text-color-white);}
.page-navi > .item .anchor::after {content:""; position:absolute; top:50%; right:.5em; width:1.75em; height:1.75em; background:var(--text-color-white); transform:translate(0,-50%); --mask:url("images/arrow-right-b.svg") center/contain no-repeat; -webkit-mask:var(--mask); mask:var(--mask);}
.page-navi > .item .background {position:relative; z-index:-1; z-index:-1;}
.page-navi > .item .background::before {content:""; display:block; min-height:96px; padding-top:100%;}
.page-navi > .item .background::after {content:""; position:absolute; top:0; right:0; bottom:0; left:0; display:block; background:var(--color-blue); mix-blend-mode:multiply; transition:background-color .25s;}
.page-navi > .item .background img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.page-navi > .item .page-navi-submenu {position:absolute; bottom:0; left:0; opacity:0; transform:translate(0,calc(100% - 16px)); transition:opacity .25s,transform .25s; pointer-events:none; z-index:3;}
.page-navi > .item:hover .background::after {background-color:var(--color-darknavy);}
.page-navi > .item:hover .page-navi-submenu {opacity:1; transform:translate(0,100%); pointer-events:auto;}
.page-navi.-adjustment-left > .item .anchor {align-items:flex-start; padding-left:1.5em; padding-right:24px;}
.page-navi-submenu {display:grid; width:fit-content; width:100%; padding:16px 0; gap:10px; grid-auto-flow:row;}
.page-navi-submenu .item {display:flex; width:100%; justify-content:space-between; align-items:center;}
.page-navi-submenu .item::before {content:""; display:block; margin:0 8px 0 0; width:40px; height:40px; border:2px solid var(--border-color-darknavy); border-top:none; border-right:none; transform:translate(0,-12px);}
.page-navi-submenu .item a {display:block; width:100%; padding:.75em 1em; text-align:left; font-size:1.5rem; font-weight:500; color:var(--text-color-white); background:var(--color-darknavy); box-shadow:var(--shadow-dark-small); transition:background-color .25s;}
.page-navi-submenu .item a:hover {background:var(--color-darkred);}
@media screen and (max-width:1024px) {
	.page-navi {padding:0; gap:16px;}
	.page-navi {margin:56px auto;}
	.page-header + .page-navi {margin-top:48px;}
	.page-navi > .item {flex-basis:calc(50% - 8px);}
	.page-navi > .item .anchor,
	.page-navi.-adjustment-left > .item .anchor {text-align:center; padding:28px 0 36px; line-height:1.25; align-items:center;}
	.page-navi > .item .anchor br.pc {display:none;}
	.page-navi > .item .anchor::after {top:auto; right:auto; bottom:4px; left:50%; width:1.5em; transform:translate(-50%,0); --mask:url("images/arrow-down-b.svg") center/contain no-repeat;}
	.page-navi > .item .background::before {padding-top:50%;}
	.page-navi > .item.-has-submenu .anchor {pointer-events:none;}
	.page-navi > .item:hover .page-navi-submenu {opacity:0;}
	.page-navi > .item.is-submenu-open .page-navi-submenu {opacity:1; pointer-events:auto; transform:translate(0,100%);}
	.page-navi-submenu {gap:4px; padding-top:8px;}
	.page-navi-submenu .item::before {display:none;}
	.page-navi-submenu .item a {padding:0.375em 0.75em;}
}
@media screen and (max-width:800px) {
	.page-navi > .item .anchor {font-size:1.3rem;}
}

.section-title {position:relative; margin:0 auto 2em; width:fit-content; max-width:var(--content-width); padding:0 .25em .25em; text-align:center; --letter-spacing:.2em; font-size:4.0rem; font-weight:500;}
.section-title::after {content:""; position:absolute; right:0; bottom:0; left:0; height:4px; background:linear-gradient(90deg,#b91a1a,#ffecd9);}

.subsection-title {margin:0 0 1.5em; text-align:center; font-size:3.0rem; font-weight:500;}
.subsection-title:not(:first-child) {margin-top:2em;}

.subsection-title-border {margin:0 0 2em; padding:0 .5em 1em; text-align:left; font-size:2rem; font-weight:500; border-bottom:2px solid var(--text-color-darknavy);}
@media screen and (max-width:1024px) {
	.section-title {padding:0 .25em .625em; font-size:2.5rem;}
	.subsection-title {font-size:2.0rem;}
	.subsection-title-border {font-size:1.8rem;}
	.subsection-title-border.-sp-center {text-align:center;}
}

.section-content-box {position:relative; z-index:0; margin:0 auto; width:var(--content-width); padding:48px 0;}
.section-content-box::before {content:""; position:absolute; top:0; right:-120px; bottom:0; left:-120px; z-index:-1; background:var(--color-lightblue); box-shadow:var(--shadow-dark-small);}
.section-content-box .subbox {padding:48px; background:var(--color-white); background:var(--color-white); box-shadow:var(--shadow-dark-small);}
.section-content-box .subbox img {width:100%;}
.section-content-box.-bg-purple::before {background-color:var(--color-lightpurple);}
@media screen and (max-width:1024px) {
	.section-content-box .subbox {padding:24px;}
}


.section-copy {display:flex; margin:0 auto; width:var(--content-width); flex-direction:column; justify-content:center; align-items:center; text-align:left; line-height:1.875; font-size:5.0rem; font-weight:500; color:transparent; background:linear-gradient(90deg,#9ad3d6,#458bbc,#0b385a); background-clip:text; -webkit-background-clip:text;}
.section-copy {margin:0 auto 120px;}
.section-copy strong {font-weight:inherit;}
@media screen and (min-width:1024px) {
	.section-copy .-pc-hide {display:none;}
}
@media screen and (max-width:1024px) {
	.section-copy {font-size:2.7rem;}
	.section-copy .-sp-hide {display:none;}
}

.body-text {line-height:2;}
.body-text.-align-left {text-align:left;}
.body-text .picture {margin:2em 0;}
.body-text .emphasis {font-size:1.333em;}

.site-mainvisual {width:100%; height:auto; padding:var(--header-height) 0 0;}
.site-mainvisual .background video {display:block; width:100%; height:auto;}

.more-button {position:relative; display:block; width:fit-content; padding:1em 5em 1em 1.5em; align-items:center; border:1px solid var(--border-color-white);}
.more-button::after {content:""; position:absolute; top:50%; right:3.5em; margin:0 .5em; width:1.5em; height:.875em; background:var(--text-color-white); transform:translate(100%,-50%); transition:width .25s; --mask:url("images/arrow-right-a.svg") right center/auto 100% no-repeat; -webkit-mask:var(--mask); mask:var(--mask);}
.more-button:hover::after {width:2.5em;}

.page-section {position:relative; z-index:0; margin:0 auto; padding:80px 0;}
.page-section > .inner {margin:0 auto; width:var(--content-width);}
.page-section > .inner.-narrow {width:var(--content-width-narrow);}
.page-section > .inner.-wide {width:var(--content-width-wide);}
.page-section > .background {position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; overflow:hidden; pointer-events:none;}
.page-section > .background img,
.page-section > .background video {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.page-section > .background[data-inview="bg-fade-in"] img {top:-16px; height:calc(100% + 16px); opacity:0; transform:translate(0,16px); transition:transform .75s,opacity .75s;}
.page-section > .background[data-inview="bg-fade-in"].is-inview img {opacity:1; transform:translate(0,0);}
.page-section > .background .sp {display:none;}
.page-section > .background.-overlay-blue::after {content:""; position:absolute; top:0; right:0; bottom:0; left:0; background:var(--color-blue); opacity:.78; mix-blend-mode:multiply;}
.page-section > .section-englishtitle {position:absolute; top:50%; transform:translate(0,-50%);}
.page-section.-padding-0 {padding:0;}
.page-section.-pt-0 {padding-top:0;}
.page-section.-pb-0 {padding-bottom:0;}
@media screen and (max-width:1024px) {
	.page-section {padding:56px 0;}
	.page-section > .section-englishtitle {display:none;}
	.page-section > .background .pc {display:none;}
	.page-section > .background .sp {display:block;}
}
.section-englishtitle {right:96px; z-index:4; writing-mode:tb; --letter-spacing:.2em; font-size:1.5rem; font-weight:700; font-weight:500; text-align:center;}
.section-englishtitle div {display:inline-block;}
.section-englishtitle div:not(:last-child) {margin-bottom:2em;}
.section-englishtitle.-white {color:var(--text-color-white);}
@media screen and (max-width:1400px) {
	.section-englishtitle {right:16px;}
}
@media screen and (max-width:1024px) {
	.section-englishtitle {margin:0 0 .5em; writing-mode:horizontal-tb; text-align:left; font-size:1.3rem; transform:none;}
	.section-englishtitle::after {content:""; display:block; margin:.5em 0 0; width:2.5em; height:3px; background:var(--color-red);}
	.section-englishtitle.-white::after {background-color:var(--color-white);}
}

.top-introduction {position:relative; padding:144px 0; text-align:left; text-shadow:var(--text-shadow); color:var(--text-color-white);}
.top-introduction > .copy {margin:0 0 1.125em; line-height:1.375; font-size:6rem; font-weight:400;}
.top-introduction > .description {line-height:2; font-size:2.0rem;}
.top-introduction::after {content:""; position:absolute; bottom:0; left:50%; z-index:2; width:120vw; height:14px; background:linear-gradient(90deg,#e7fc4a 0%,#c57575 29%,#ed2f2f 50%,#a62b9d 62%,#050596); transform:translate(-50%,0);}
@media screen and (max-width:1200px) {
	.top-introduction .section-englishtitle {display:none;}
}
@media screen and (max-width:1024px) {
	.top-introduction {padding:64px 0 72px;}
	.top-introduction > .copy {line-height:1.75; font-size:3.5rem;}
	.top-introduction > .description {font-size:1.6rem;}
}

.site-menu-vertical {display:grid; gap:32px; grid-template-columns:1fr;}
.site-menu-vertical {padding:60px 0;}
.site-menu-vertical > .item {position:relative;}
.site-menu-vertical > .item > .section-englishtitle {position:absolute; top:50%; height:100%; transform:translate(0,-50%);}
.site-menu-vertical > .item > a {display:flex; margin:0 auto; width:var(--content-width-narrow); justify-content:space-between; align-items:center; --letter-spacing:0.2em;}
.site-menu-vertical .label {margin:0 16px 0 0; min-width:280px; flex-basis:40%; text-align:left;}
.site-menu-vertical .label > .title {--letter-spacing:.2em; font-size:4.0rem; font-weight:400;}
.site-menu-vertical .label > .description {font-weight:400;}
.site-menu-vertical .button {position:relative; z-index:2; flex-shrink:0; padding:1.375em 2.5em; font-size:1.7rem; color:var(--text-color-white); background:var(--color-black); box-shadow:var(--shadow-dark-small);}
.site-menu-vertical .button::after {content:""; position:absolute; top:10px; right:10px; bottom:10px; left:10px; border:1px solid var(--border-color-white);}
.site-menu-vertical .picture {position:relative; margin:0 -40px 0 -120px; overflow:hidden; box-shadow:var(--shadow-dark-small);}
.site-menu-vertical .picture::after {content:""; position:absolute; top:0; right:0; bottom:0; left:0; background:var(--color-darknavy); opacity:.25; transition:opacity 0.375s;}
.site-menu-vertical .picture img {width:100%; min-height:160px; object-fit:cover; transition:transform .375s;}
.site-menu-vertical > .item > a:hover {color:inherit;}
.site-menu-vertical > .item > a:hover .picture img {transform:scale(1.325) rotate(6deg);}
.site-menu-vertical > .item > a:hover .picture::after {opacity:0;}
@media screen and (max-width:1200px) {
	.site-menu-vertical .picture {margin-right:0;}
}
@media screen and (max-width:1024px) {
	.site-menu-vertical {margin:0 auto; width:var(--content-width); padding:48px 0; gap:88px;}
	.site-menu-vertical .picture {margin-right:0;}
	.site-menu-vertical > .item > .section-englishtitle {position:static; height:auto; transform:none;}
	.site-menu-vertical > .item > a {display:block; width:100%;}
	.site-menu-vertical .button {position:absolute; bottom:0; left:50%; width:fit-content; padding:.875em 3em; white-space:nowrap; transform:translate(-50%,50%);}
	.site-menu-vertical .button::after {top:2px; right:2px; bottom:2px; left:2px;}
	.site-menu-vertical .label {margin:0 0 2em;}
	.site-menu-vertical .label > .title {margin:0 0 .125em; font-size:2.5rem;}
	.site-menu-vertical .picture {margin:0;}
}

.site-menu-grid {display:grid; grid-template-columns:1fr 1fr;}
.site-menu-grid > .item {position:relative; z-index:0; text-align:left;}
.site-menu-grid > .item > a {display:block; padding:56px 0; color:var(--color-white);}
.site-menu-grid > .item .inner {margin:0 auto; width:calc(var(--content-width-narrow) / 2); padding:40px 0;}
.site-menu-grid > .item .background {position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; overflow:hidden; pointer-events:none;}
.site-menu-grid > .item .background .hover {position:absolute; top:0; right:0; bottom:0; left:0;}
.site-menu-grid > .item .background .hover {opacity:0; transition:opacity .5s,transform 0.5s;}
.site-menu-grid > .item .background::after {content:""; position:absolute; top:0; right:0; bottom:0; left:0; background:var(--color-darknavy); opacity:.6; mix-blend-mode:multiply; transition:opacity .5s;}
.site-menu-grid > .item .background img {position:absolute; top:0; right:0; bottom:0; left:0; width:100%; height:100%; object-fit:cover;}
.site-menu-grid > .item .background[data-inview="bg-fade-in"] img.default {top:-16px; height:calc(100% + 16px); opacity:0; transform:translate(0,16px); transition:transform .75s,opacity .75s;}
.site-menu-grid > .item .background[data-inview="bg-fade-in"].is-inview img.default {opacity:1; transform:translate(0,0);}
.site-menu-grid > .item.-left .inner {margin:0 0 0 auto; padding-right:40px;}
.site-menu-grid > .item.-left .background {right:0;}
.site-menu-grid > .item.-right .inner {margin:0 auto 0 0; padding-left:40px;}
.site-menu-grid > .item.-right .background {left:0;}
.site-menu-grid > .item .title {margin:0 0 48px; max-width:320px; flex-basis:42%;}
.site-menu-grid > .item .title .english {display:block; margin:0 0 .5em; padding:0 0 .25em; letter-spacing:.2em; font-size:2.5rem; font-weight:600; border-bottom:1px solid var(--border-color-white);}
.site-menu-grid > .item .title .japanese {font-size:4.0rem;}
.site-menu-grid > .item .content {max-width:320px; flex-basis:50%;}
.site-menu-grid > .item .description {line-height:2; font-weight:400;}
.site-menu-grid > .item .more-button {margin:36px 0 0;}
.site-menu-grid > .item .section-englishtitle {position:absolute; top:50%; transform:translate(0,-50%); height:100%;}
.site-menu-grid > .item .section-englishtitle .-sp {display:none;}
.site-menu-grid > .item > a:hover .more-button::after {width:2.5em;}
.site-menu-grid > .item > a:hover .background::after {opacity:.8;}
.site-menu-grid > .item > a:hover .background .hover {opacity:1; transform:scale(1.05);}
.site-menu-grid > .item.-large {grid-column:span 2;}
.site-menu-grid > .item.-large .inner {display:flex; width:var(--content-width-narrow); padding-top:120px; padding-bottom:120px; justify-content:space-between; align-items:center;}
.site-menu-grid > .item.-large .title {max-width:none;}
.site-menu-grid > .item.-large .title .english {text-align:center; font-size:3.0rem;}
.site-menu-grid > .item.-large .content {max-width:none; padding-left:40px;}
@media screen and (max-width:1024px) {
	.site-menu-grid {grid-template-columns:1fr;}
	.site-menu-grid > .item.-large {grid-column:span 1;}
	.site-menu-grid > .item {padding:0 var(--content-padding);}
	.site-menu-grid > .item > a {padding:40px 0;}
	.site-menu-grid > .item.item .inner {margin:0 auto; width:100%; max-width:none; padding:0;}
	.site-menu-grid > .item.-large .inner {display:block;}
	.site-menu-grid > .item .title {margin-bottom:24px; max-width:none;}
	.site-menu-grid > .item.-large .title.-sp-hide {display:none;}
	.site-menu-grid > .item .title .japanese {font-size:2.4rem; font-weight:400;}
	.site-menu-grid > .item .title .english {display:none;}
	.site-menu-grid > .item .content {max-width:none;}
	.site-menu-grid > .item.-large .content {padding:0;}
	.site-menu-grid > .item .section-englishtitle {position:static; transform:none;}
	.site-menu-grid > .item .section-englishtitle div:not(:last-child) {margin-bottom:0em;}
	.site-menu-grid > .item .section-englishtitle .-sp {display:block;}
	.site-menu-grid > .item .section-englishtitle .-pc {display:none;}
}

.entry-menu {display:grid; padding:60px 0; gap:48px; grid-template-columns:1fr; ;}
.entry-menu > .item {position:relative;}
.entry-menu > .item .section-englishtitle {position:absolute; top:50%; transform:translate(0,-50%);}
.entry-menu > .item > .inner {margin:0 auto; width:var(--content-width-narrow);}
.entry-menu > .item a {position:relative; z-index:0; display:block; padding:48px; text-align:left; color:var(--text-color-white); overflow:hidden;}
.entry-menu > .item a::before {content:""; position:absolute; top:0; left:0; z-index:-2; width:100%; height:calc(100% + 16px); background:center/cover no-repeat; opacity:0; box-shadow:var(--shadow-dark-small); transition:top .5s,opacity .5s;}
.entry-menu > .item a::after {content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; opacity:0; mix-blend-mode:multiply; transition:opacity .5s;}
.entry-menu > .item a.is-inview::before {top:-16px; opacity:1;}
.entry-menu > .item .title {margin:0 0 16px;}
.entry-menu > .item .title > .english {display:block; line-height:1.25; font-size:2.5rem; font-weight:700; text-transform:uppercase;}
.entry-menu > .item .title > .japanese {display:block; --letter-spacing:.2em; font-size:5.0rem; font-weight:400;}
.entry-menu > .item .description {font-weight:400;}
.entry-menu > .item.-bg-blue a::before {background-image:url("images/entry-menu-bg-blue.png");}
.entry-menu > .item.-bg-blue a::after {background-color:#e21111;}
.entry-menu > .item.-bg-red a::before {background-image:url("images/entry-menu-bg-red.png");}
.entry-menu > .item.-bg-red a::after {background-color:#346996;}
.entry-menu > .item a:hover::after {opacity:.25;}
@media screen and (max-width:1024px) {
	.entry-menu {padding:24px 0;}
	.entry-menu .section-englishtitle {display:none;}
	.entry-menu > .item > .inner {max-width:600px;}
	.entry-menu > .item a {padding:32px;}
	.entry-menu > .item .title > .english {font-size:1.8rem;}
	.entry-menu > .item .title > .japanese {font-size:3.0rem; font-weight:400;}
}

.company-introdction-figure {position:relative; z-index:0; padding:48px 0;}
.company-introdction-figure::before {content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; background:var(--color-lightblue);}
.company-introdction-figure > .inner {position:relative; margin:0 auto; width:var(--content-width); padding:32px; background:var(--color-white); box-shadow:var(--shadow-dark-small);}
.company-introdction-figure .title {position:absolute; top:-1em; left:0; z-index:2; width:fit-content; padding:1em 0; text-align:left; line-height:1.625; font-size:2.5rem; font-weight:500; color:var(--text-color-white);}
.company-introdction-figure .title > .note {display:block; font-size:1.6rem;}
.company-introdction-figure .title::before {content:""; position:absolute; top:0; right:-4em; bottom:0; z-index:-1; width:120vw; background:var(--color-blue); box-shadow:var(--shadow-dark-small);}
.company-introdction-figure .figure {position:relative;}
.company-introdction-figure .figure .graph {display:block; margin:0 0 0 auto; width:calc(100% - 320px);}
.company-introdction-figure .figure .copy {position:absolute; right:calc(100% - 300px); bottom:12px; width:300px; height:calc(100% - 80px); object-fit:contain; object-position:right bottom;}
.company-introdction-figure {margin:80px 0;}
.company-introdction-figure:last-child {margin-bottom:0;}
@media screen and (max-width:1024px) {
	.company-introdction-figure {padding:0 0 40px;}
	.company-introdction-figure::before {top:32px;}
	.company-introdction-figure > .inner {position:static; padding:0; background:none; box-shadow:none;}
	.company-introdction-figure .title {position:relative; top:auto; left:auto; margin:0 0 16px; font-size:2.0rem;}
	.company-introdction-figure .title > .note {font-size:1.3rem;}
	.company-introdction-figure .figure {padding:24px; background:var(--color-white); box-shadow:var(--shadow-dark-small);}
	.company-introdction-figure .figure .graph {width:100%;}
	.company-introdction-figure .figure .copy {position:static; width:100%; max-width:400px;}
	.company-introdction-figure .figure .copy.-pc {display:none;}
	.company-introdction-figure .figure .copy.-sp {display:block;}
}

.representative-message-header {position:relative; margin:0 auto; width:var(--content-width);}
.representative-message-header > .picture {width:65%; transform:translate(-10%,0); box-shadow:var(--shadow-dark-small);}
.representative-message-header > .title {position:absolute; right:0; bottom:32px; z-index:2; width:55%; min-width:fit-content; padding:40px 0 40px 48px; text-align:left; color:var(--text-color-white);}
.representative-message-header > .title::before {content:""; position:absolute; top:0; bottom:0; left:0; z-index:-1; width:120vw; background:var(--color-blue); opacity:.9;}
.representative-message-header > .title .large {display:block; font-size:4.0rem; font-weight:500;}
.representative-message-header > .title .small {display:block; margin:0 0 .75em; font-size:2.0rem;}

.representative-message .representative-message-content {margin:-80px auto 0;}
.representative-message-content {width:var(--content-width); padding:160px 80px 80px; text-align:left; line-height:2; font-weight:500; box-shadow:var(--shadow-dark-small);}
.representative-message-content > .inner {margin:0 auto; max-width:720px;}
.representative-message-content .sign {margin:1em 0 0; text-align:right;}
@media screen and (max-width:1024px) {
	.representative-message-header > .picture {width:100%; transform:translate(calc(var(--content-padding) * -1));}
	.representative-message-header > .title {bottom:-64px;}
	.representative-message-header > .title {padding:24px 0;}
	.representative-message-header > .title::before {left:-28px;}
	.representative-message-header > .title .large {--letter-spacing:.075em; font-size:2.8rem;}
	.representative-message-header > .title .small {font-size:1.4rem;}
	.representative-message-content {padding:180px 32px 32px;}
}

.business-introduction-container {position:relative; z-index:0; padding:0 0 80px;}
.business-introduction-container {margin:80px 0;}
.business-introduction-container::before {content:""; position:absolute; top:120px; right:0; bottom:0; left:0; z-index:-1; background:var(--color-lightblue); box-shadow:var(--shadow-dark-small);}

.business-introduction-title {position:relative; z-index:1;}
.business-introduction-title {margin:80px 0 80px;}
.business-introduction-title > .inner {position:relative; margin:0 auto; width:var(--content-width); padding:40px 48px 56px; text-align:left; color:var(--text-color-white);}
.business-introduction-title > .inner::before {content:""; position:absolute; top:0; bottom:0; left:0; z-index:-1; width:120vw; background:var(--color-darknavy);}
.business-introduction-title .title {position:relative; margin:0 0 .75em; padding:0 0 .625em; --letter-spacing:.2em; font-size:3.0rem; font-weight:500;}
.business-introduction-title .title::after {content:""; position:absolute; bottom:0; left:0; width:120vw; width:120vw; height:1px; background:var(--border-color-white);}
.business-introduction-title .description {line-height:2; --letter-spacing:.1em;}
.business-introduction-title > .bgtext {position:absolute; right:0; bottom:0; width:auto; height:130px;}
.business-introduction-title > .bgtext img {width:auto; height:100%;}
.business-introduction-title > .bgtext .sp {display:none;}
@media screen and (max-width:1024px) {
	.business-introduction-title {margin:64px 0;}
	.business-introduction-title > .inner {padding:32px 0 36px 24px;}
	.business-introduction-title .title {font-size:2.3rem;}
	.business-introduction-title.-sp-left .title::after {right:0; left:auto;}
	.business-introduction-title.-sp-left .inner {padding:32px 24px 36px 0;}
	.business-introduction-title.-sp-left .inner::before {right:0; left:auto;}
	.business-introduction-title > .bgtext {width:auto; height:100%; max-height:100%; top:0; right:auto; bottom:auto; left:var(--content-padding);}
	.business-introduction-title > .bgtext .pc {display:none;}
	.business-introduction-title > .bgtext .sp {display:block;}
	.business-introduction-title > .bgtext img {width:100%; height:100%; object-fit:contain; object-position:0 0;}
	.business-introduction-title.-sp-left > .bgtext {left:0;}
}

.business-list {display:grid; margin:0 auto; width:var(--content-width-wide); gap:56px; text-align:left; grid-auto-flow:row;}
.business-list .business-list-item {width:92.5%;}
.business-list-item {position:relative; display:flex; padding:32px 32px 32px 200px; justify-content:space-between; align-items:center; gap:24px; background:var(--color-white); border-bottom:16px solid var(--accent-color); box-shadow:var(--shadow-dark-small); --accent-color:var(--color-blue);}
.business-list-item > .number {position:absolute; top:0; bottom:-1px; left:0; display:flex; width:160px; flex-direction:column; justify-content:center; align-items:center; font-size:60px; color:transparent; background:var(--accent-color); --clip-path:polygon(0 0,calc(100% - 24px) 0,100% 100%,0 100%); clip-path:var(--clip-path); -webkit-text-stroke:1px var(--text-color-white); -webkit-clip-path:var(--clip-path);}
.business-list-item > .textcontent > .title {margin:0 0 1em; letter-spacing:.15em; font-size:2.5rem; font-weight:600;}
.business-list-item > .textcontent > .description {line-height:1.625; --letter-spacing:.1em;}
.business-list-item > .picture {flex-basis:20%; flex-shrink:0;}
.business-list-item:nth-of-type(1) {margin-left:0; --accent-color:var(--color-blue);}
.business-list-item:nth-of-type(2) {margin-right:auto; margin-left:auto; --accent-color:var(--color-darkblue);}
.business-list-item:nth-of-type(3) {margin-left:auto; --accent-color:var(--color-darknavy);}
@media screen and (max-width:1024px) {
	.business-list .business-list-item {width:100%; padding:144px 24px 24px; border-bottom:none; border-left:10px solid var(--accent-color);}
	.business-list-item {flex-direction:column;}
	.business-list-item > .number {right:0; bottom:auto; width:100%; padding:0 0 28px; --clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),0 100%);}
	.business-list-item > .picture {width:90%; max-width:360px;}
	.business-list-item > .textcontent > .description {line-height:2.5;}
}

.business-introduction-content {position:relative; z-index:0; margin:0 auto; width:var(--content-width); padding:64px; text-align:left;}
.business-introduction-content::before {content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; background:var(--color-white); box-shadow:var(--shadow-dark-small);}
.business-introduction-content > .title {margin:0 0 1.75em; padding:0 0 .75em; letter-spacing:.15em; font-size:2.5rem; font-weight:500; border-bottom:1px solid var(--border-color-darknavy);}
.business-introduction-content .picture {max-width:var(--max-width,100%);}
.business-introduction-content .picture.-float-right {float:right;}
.business-introduction-content .picture img {width:100%;}
.business-introduction-content .picture.-center {margin-right:auto; margin-left:auto;}
.business-figure-container > .title {margin:0 0 1.5em; text-align:center; letter-spacing:.15em; font-size:2.0rem;}
.business-figure-container > .title .small {display:inline-block; margin:0 1em 0 0; vertical-align:middle; font-size:.6em;}
.business-figure-container > .figure img {width:100%;}
@media screen and (max-width:1024px) {
	.business-introduction-content > .title {font-size:2.1rem;}
	.business-introduction-content {padding:0 24px 24px;}
	.business-introduction-content::before {top:-240px; right:auto; left:0; width:120vw;}
	.business-figure-container > .title {text-align:center;}
	.business-figure-container > .title .small {display:block; margin-bottom:0.5em;}
}

.distribution-section {position:relative; z-index:0; margin:0 auto; width:var(--content-width); padding:48px 0 64px; --accent-color:var(--color-blue); --bg-color:var(--color-lightblue);}
.distribution-section::before {content:""; position:absolute; top:0; right:-80px; bottom:-120px; z-index:-1; width:120vw; background:var(--bg-color); box-shadow:var(--shadow-dark-small);}
.distribution-section:last-of-type::before {bottom:0;}
.distribution-section.-right {--accent-color:var(--color-purple); --bg-color:var(--color-lightpurple);}
.distribution-section.-right::before {right:auto; left:-80px;}
.distribution-section-copy {position:relative; margin:3em 0 2em; padding:0 0 0 1.75em; text-align:left; font-size:2rem; font-weight:500;}
.distribution-section-copy::before {content:""; position:absolute; top:.125em; left:0; margin:0 .5em 0 0; vertical-align:-.25em; width:1.25em; height:1.25em; background:url("images/arrow-right-c.svg") center/cover no-repeat;}
.distribution-section-title {position:relative; z-index:0; margin:0 0 32px; width:fit-content; min-width:min(100%,600px); padding:32px 32px 32px 0; text-align:left; font-size:2.5rem; font-weight:500; color:var(--text-color-white);}
.distribution-section-title::before {content:""; position:absolute; top:0; right:0; bottom:0; z-index:-1; width:120vw; background:var(--accent-color); box-shadow:var(--shadow-dark-small);}
.distribution-section-title .small {display:block; margin:1em 0 0; font-size:1.4rem; font-weight:400;}
.distribution-section.-right .distribution-section-title::before {left:-144px; width:auto;}
.distribution-list {display:grid; gap:32px; grid-template-columns:1fr;}
.distribution-list-item {width:fit-content; max-width:100%; padding:32px; background:var(--color-white); box-shadow:var(--shadow-dark-small);}
.distribution-list.-grid {grid-template-columns:repeat(2,auto); grid-auto-flow:row;}
.distribution-list.-grid .distribution-list-item {width:100%;}
.distribution-list.-grid .distribution-list-item.-large {grid-column:span 2;}
.distribution-list-item > .header {display:flex; justify-content:space-between; align-items:center; text-align:left;}
.distribution-list-item > .header > .title {position:relative; flex-grow:0.375; margin:0 3em 0 2em; min-width:min(9em,100%); padding:1em 2em 1em 2.25em; text-align:center; white-space:nowrap; font-size:2.0rem; font-weight:500; background:var(--bg-color); box-shadow:var(--shadow-dark-small);}
.distribution-list-item > .header > .title > .number {position:absolute; top:50%; left:-2em; display:flex; width:2.75em; height:2.75em; flex-direction:column; justify-content:center; align-items:center; text-align:center; --letter-spacing:0; font-size:2.0rem; font-weight:500; color:var(--text-color-white); background:var(--accent-color); transform:translate(0,-50%); box-shadow:var(--shadow-dark-small);}
.distribution-list-item > .header .icons {display:grid; gap:24px; grid-auto-flow:column; ;}
.distribution-list-item > .header .icons img {width:140px; box-shadow:var(--shadow-dark-small);}
.distribution-list-item .content {position:relative; margin:32px 0 0; padding:24px; text-align:left; border:1px solid var(--border-color-darknavy);}
.distribution-list-item .content::before {content:""; position:absolute; top:-13px; left:80px; width:24px; height:24px; background:var(--color-white); border:1px solid var(--border-color-darknavy); border-right:none; border-bottom:none; transform:rotate(45deg) translate(0,.5px);}
.distribution-list-item:nth-of-type(1) {margin:0 0 0 -40px;}
.distribution-list-item:nth-of-type(3) {margin:0 -40px 0 auto;}
.distribution-list.-grid .distribution-list-item:nth-of-type(n) {margin:0;}
.machine-list {display:grid; gap:.75em; text-align:left; font-size:1.3rem;}
.machine-list .item {display:flex; justify-content:flex-start; align-items:center;}
.machine-list .item.-span-2 {grid-column:span 2;}
.machine-list .item .title {margin:0 1em 0 0; width:8em; flex-shrink:0; padding:.25em 0; text-align:center; border:1px solid var(--border-color-darknavy);}
@media screen and (max-width:1200px) {
	.distribution-list-item:nth-of-type(n) {margin:0;}
}
@media screen and (max-width:1024px) {
	.distribution-section-title {font-size:2.3rem;}
	.distribution-section::before {right:-12px;}
	.distribution-section.-right::before {left:-12px;}
	.distribution-section-copy {margin-bottom:4.5em; font-size:1.6rem;}
	.distribution-section-title {margin-bottom:72px;}
	.distribution-list {gap:96px;}
	.distribution-list-item {position:relative; width:100%; padding:64px 24px 24px;}
	.distribution-list-item > .header > .title {position:static; margin:0 0 2em; padding:1em 1.5em; white-space:normal; font-size:2.0rem;}
	.distribution-list-item > .header {position:static; flex-direction:column;}
	.distribution-list-item > .header > .title > .number {top:0; left:50%; transform:translate(-50%,-50%);}
	.distribution-list-item > .header .icons {margin:0 auto; max-width:360px; gap:14px; grid-template-columns:repeat(2,1fr); grid-auto-flow:row;}
	.distribution-list-item > .header .icons img {width:100%;}
	.distribution-list-item > .header .icons img:first-child:last-child {margin:0 auto; width:calc(50% - 7px); grid-column:span 2;}
	.distribution-list-item .content {padding:24px 16px;}
	.distribution-list-item .content::before {display:none;}
	.distribution-list.-grid {grid-template-columns:1fr;}
	.distribution-list.-grid .distribution-list-item.-large {grid-column:span 1;}
}
 @media screen and (max-width:800px) {
	.machine-list {gap:24px;}
	.machine-list .item.-span-2 {grid-column:span 1;}
}
@media screen and (max-width:600px) {
	.machine-list {font-size:1.2rem;}
	.machine-list .item {display:block;}
	.machine-list .item .title {margin:0 0 .75em;}
}


.environment-action {position:relative; z-index:0; display:flex; justify-content:space-between; align-items:center;}
.environment-action > .picture {z-index:-1; margin:0 -20% 0 5%; width:55%; height:auto; box-shadow:var(--shadow-dark-small);}
.environment-action > .picture img {width:100%;}
.environment-action .environtment-action-list {margin:0 0 0 auto; width:60%;}
.environtment-action-list {display:grid; gap:8px; grid-auto-flow:row;}
.environtment-action-list > .item {padding:.75em 2em; text-align:left; font-weight:500; background:var(--color-lightblue); box-shadow:var(--shadow-dark-small);}
@media screen and (max-width:1024px) {
	.environment-action {flex-direction:column;}
	.environment-action > .picture {margin:0 0 24px; width:100%;}
	.environment-action .environtment-action-list {width:100%;}
}

.job-flow-figure img {width:100%;}
.job-section-container {display:grid; padding:120px 0 0; gap:144px; grid-template-columns:1fr;}
.job-section {position:relative; margin:0 auto; width:var(--content-width); padding:64px 0;}
.job-section::before {content:""; position:absolute; top:0; right:-80px; bottom:0; z-index:-1; width:120vw; background:var(--color-lightblue); box-shadow:var(--shadow-dark-small);}
.job-section.-right::before {right:auto; left:-80px;}
.job-section.-purple::before {background-color:var(--color-lightpurple);}
.job-section.-blue::before {background-color:var(--color-lightblue);}
.job-section-header {position:relative; margin:0 0 64px;}
.job-section-header .title {position:relative; z-index:2; padding:64px 64px; text-align:left; --letter-spacing:.2em; font-size:3.5rem; font-weight:500; color:var(--text-color-white);}
.job-section-header .title::after {content:""; position:absolute; top:calc(.75em + 64px); right:calc(100% - 36px); width:120vw; height:2px; background:var(--border-color-white);}
.job-section-header .title::before {content:""; position:absolute; top:0; right:0; bottom:0; z-index:-1; width:120vw; background:var(--color-darkblue); opacity:.6;}
.job-section-header .title .small {display:block; margin:.5em 0 0; font-size:2rem;}
.job-section-header .picture {position:absolute; right:-10%; bottom:32px; z-index:2; width:45%; box-shadow:var(--shadow-dark-small);}
.job-section-header .picture img {width:100%;}
.job-section-header.-purple .title::before {background-color:var(--color-navy);}
.job-section-header.-blue .title::before {background-color:var(--color-darkblue);}

.job-flow {display:grid; gap:20px; grid-template-columns:1fr;}
.job-flow .item {display:flex; padding:24px 32px; justify-content:flex-start; align-items:center; background:var(--color-white); box-shadow:var(--shadow-dark-small);}
.job-flow .item .icon {flex-basis:160px; flex-shrink:0; margin:0 32px 0 0;}
.job-flow .item .icon img {margin:0 auto; width:70%;}
.job-flow .item .textcontent {flex-basis:82%; text-align:left;}
.job-flow .item .textcontent > .title {margin:0 0 .5em; font-size:2.0rem; font-weight:500;}
.job-flow .item .textcontent > .title > .number {margin:0 1em 0 0; vertical-align:-.125em; line-height:1; font-size:1.5em;}
@media screen and (max-width:1024px) {
	.job-section-container {padding:80px 0 0; gap:64px;}
	.job-section {padding:0 0 48px;}
	.job-section::before {top:24px;}
	.job-section-header {margin:0 0 32px;}
	.job-section-header .title {margin:0 0 40px; width:fit-content; min-width:min(100%,304px); padding:24px 48px; font-size:2.0rem;}
	.job-section-header .title::after {top:calc(.75em + 24px); right:calc(100% - 20px);}
	.job-section-header .title .small {font-size:1.3rem;}
	.job-section-header .picture {position:static; width:100%;}
	.job-section-header .picture img {max-height:400px; object-fit:cover;}
	.job-flow .item {padding:12px 24px 24px; justify-content:space-between; flex-wrap:wrap;}
	.job-flow .item .textcontent {display:contents;}
	.job-flow .item .icon {order:2; flex-basis:56px; margin:0;}
	.job-flow .item .icon img {width:100%;}
	.job-flow .item .textcontent > .title {order:1; font-size:1.5rem;}
	.job-flow .item .textcontent > .title > .number {margin-right:.5em;}
	.job-flow .item .textcontent > .description {order:3;}
}
@media screen and (max-width:800px){
	.job-flow-figure img {margin:0 0 0 calc(50% - 50vw); width:100vw; max-width:none;}
}

.job-section-others-container {display:grid; margin:0 auto; width:var(--content-width-wide); grid-template-columns:1fr;}
.job-section-others-container .job-section-others {width:92.5%;}
.job-section-others-container .job-section-others.-right {margin:0 0 0 auto;}
.job-section-others {position:relative; z-index:0; padding:40px 0 80px;}
.job-section-others::before {content:""; position:absolute; top:0; right:0; bottom:-32px; left:0; z-index:-1; background:var(--color-lightblue); box-shadow:var(--shadow-dark-small);}
.job-section-others > .title {position:relative; z-index:2; margin:0 0 1em; width:fit-content; min-width:12em; padding:1em 0; text-align:left; font-size:3.0rem; font-weight:500; color:var(--text-color-white);}
.job-section-others > .title::before {content:""; position:absolute; top:0; right:0; bottom:0; left:-80px; z-index:-1; background:var(--color-blue); opacity:.6;}
.job-section-others > .content {display:flex; padding:0 48px; justify-content:flex-end;}
.job-section-others .content > .picture {position:relative; z-index:2; display:flex; flex-basis:35%; flex-direction:column; justify-content:center; align-items:center;}
.job-section-others .content > .picture img {width:100%; box-shadow:var(--shadow-dark-small);}
.job-section-others .textcontent {position:relative; z-index:0; display:flex; flex-basis:60%; padding:0 40px; flex-direction:column; justify-content:center; text-align:left; font-weight:500;}
.job-section-others .textcontent::before {content:""; position:absolute; top:-48px; right:0; bottom:-48px; left:-80px; z-index:-1; background:var(--color-white); box-shadow:var(--shadow-dark-small);}
.job-section-others .textcontent > .copy {margin:0 0 .75em; --letter-spacing:.2em; font-size:2.5rem; font-weight:600;}
.job-section-others .textcontent > .body-text {line-height:1.75;}
.job-section-others.-purple::before {background-color:var(--color-lightpurple);}
.job-section-others.-purple > .title::before {background-color:var(--color-navy);}
.job-section-others:last-of-type::before {bottom:0;}
@media screen and (max-width:1024px) {
	.job-section-others-container .job-section-others {width:100%;}
	.job-section-others {padding:40px 0 32px 24px;}
	.job-section-others::before {right:auto; bottom:-80px; left:0; width:120vw;}
	.job-section-others.-right {padding-right:24px; padding-left:0;}
	.job-section-others.-right::before {right:0; left:auto;}
	.job-section-others > .title {margin-bottom:.5em; font-size:2.0rem;}
	.job-section-others .content {position:relative; z-index:0; padding:24px; flex-direction:column;}
	.job-section-others .content::before {content:""; position:absolute; top:-48px; right:0; bottom:0; left:0; z-index:-1; background:var(--color-white); box-shadow:var(--shadow-dark-small);}
	.job-section-others .content > .picture {margin:0 0 24px; width:100%; order:2;}
	.job-section-others .textcontent {display:contents;}
	.job-section-others .textcontent::before {display:none;}
	.job-section-others .textcontent > .copy {margin-bottom:1.5em; order:1; font-size:2.0rem;}
	.job-section-others .textcontent > .body-text {order:3;}
}

.human-interview-container {display:grid; gap:128px; grid-template-columns:1fr;}
.human-interview-section {position:relative; z-index:0; margin:0 auto; width:var(--content-width); --bg-color:var(--color-lightblue); --accent-color:var(--color-blue);}
.human-interview-section::before {content:""; position:absolute; top:64px; right:-80px; bottom:40px; z-index:-1; width:120vw; background:var(--bg-color);}
.human-interview-header {position:relative; margin-bottom:80px; padding:128px 0 0;}
.human-interview-header > .titlebox {position:relative; z-index:0; z-index:2; width:fit-content; min-width:62.5%; padding:40px 40px 40px 0; text-align:left;}
.human-interview-header > .titlebox::before {content:""; position:absolute; top:0; right:0; bottom:0; z-index:-1; width:120vw; background:var(--color-white); opacity:.9; box-shadow:var(--shadow-dark-small);}
.human-interview-header > .titlebox > .title {position:relative; display:block; margin:0 0 .75em; line-height:1.375; font-size:3.0rem;}
.human-interview-header > .titlebox > .title::before {content:""; position:absolute; top:.75em; right:calc(100% + .75em); width:120vw; height:2px; background:var(--border-color-darknavy);}
.human-interview-header > .titlebox > .note {display:block; font-size:1.5rem;}
.human-interview-header > .excerpt {position:relative; z-index:4; margin:-48px 0 0 auto; width:fit-content; padding:28px 0 28px 10%; text-align:left; line-height:1.25; --letter-spacing:.2em; font-size:2.5rem; color:var(--text-color-white);}
.human-interview-header > .excerpt::before {content:""; position:absolute; top:0; bottom:0; left:0; z-index:-1; width:120vw; background:var(--accent-color); opacity:.6; box-shadow:var(--shadow-dark-small);}
.human-interview-header > .excerpt .large {font-size:1.6em;}
.human-interview-header > .picture {position:absolute; top:0; right:-10%; width:55%; box-shadow:var(--shadow-dark-small);}
.human-interview-qa {display:grid; gap:20px; grid-template-columns:1fr; text-align:left;}
.human-interview-qa > .item {padding:32px 40px; text-align:left; background:var(--color-white); box-shadow:var(--shadow-dark-small);}
.human-interview-qa > .item .question {position:relative; margin:0 0 .375em; padding:0 0 0 80px; font-size:2.0rem;}
.human-interview-qa > .item .number {position:absolute; top:-.375em; left:0; vertical-align:.05em; flex-shrink:0; font-size:2.0rem;}
.human-interview-qa > .item .number .large {display:inline-block; margin:0 .25em; vertical-align:-.15em; font-size:1.5em;}
.human-interview-qa > .item .answer {padding:0 0 0 80px; line-height:1.75;}
.human-interview-qa > .item .answer .emphasis {letter-spacing:.2em; font-size:1.125em; color:var(--text-color-blue);}
.human-interview-content + .human-interview-message {margin-top:80px;}
.human-interview-message {display:flex; justify-content:space-between; align-items:flex-end;}
.human-interview-message > .picture {position:relative; z-index:2; margin:0 0 40px; width:42.5%; height:448px; box-shadow:var(--shadow-dark-small);}
.human-interview-message > .picture img {position:absolute; top:0; right:0; bottom:0; margin:0 0 0 auto; width:50vw; max-width:none; height:100%; object-fit:cover; object-position:50% 20%;}
.human-interview-message > .textcontent {flex-basis:50%; text-align:left;}
.human-interview-message .title {margin:0 0 48px; font-size:2.2rem;}
.human-interview-message .title .english {position:relative; display:block; margin:0 0 .5em; width:fit-content; padding:0 .5em 0 0; line-height:1; font-size:5.0rem;}
.human-interview-message .title .english::after {content:""; position:absolute; top:50%; left:100%; width:120vw; height:2px; background:var(--border-color-darknavy);}
.human-interview-message .message {position:relative; z-index:0; padding:48px 0; line-height:2; color:var(--text-color-white);}
.human-interview-message .message::before {content:""; position:absolute; top:0; bottom:0; left:-35vw; z-index:-1; width:120vw; background:var(--accent-color); opacity:.6; box-shadow:var(--shadow-dark-small);}
.human-interview-section .bgimage::before,
.human-interview-section .bgimage::after {content:""; position:absolute; z-index:-2; width:320px; height:320px; background:center/contain no-repeat;}
.human-interview-section .bgimage::before {top:-80px; left:-240px; background-image:var(--image-src-01);}
.human-interview-section .bgimage::after {top:calc(100% - 480px); right:-240px; background-image:var(--image-src-02);}
.human-interview-section.-blue {--bg-color:var(--color-lightblue); --accent-color:var(--color-blue);}
.human-interview-section.-purple {--bg-color:var(--color-lightpurple); --accent-color:var(--color-navy);}
@media screen and (max-width:1024px) {
	.human-interview-header {margin-bottom:24px; padding:136px 0 0;}
	.human-interview-header > .picture {right:0; margin:0 calc(-1 * var(--content-padding)) 0 auto; width:calc(85% + var(--content-padding)); max-width:600px;}
	.human-interview-header > .picture img {max-height:320px; object-fit:cover;}
	.human-interview-header > .titlebox {padding:24px 24px 24px 40px;}
	.human-interview-header > .titlebox > .title {margin-bottom:.25em; font-size:2.5rem;}
	.human-interview-header > .titlebox > .note {font-size:1.3rem;}
	.human-interview-header > .excerpt {margin-top:-12px; padding:16px 0 16px 10%; font-size:1.8rem;}
	.human-interview-message {align-items:center; flex-wrap:wrap;}
	.human-interview-message > .picture {margin:0 0 0 calc(-1 * var(--content-padding)); height:auto; flex-basis:calc(48% + var(--content-padding));}
	.human-interview-message > .picture img {position:static; width:100%;}
	.human-interview-message .textcontent {display:contents;}
	.human-interview-message .textcontent .pc {display:none;}
	.human-interview-message .title {margin:24px 0; flex-basis:48%; font-size:1.3rem;}
	.human-interview-message .title .english {font-size:3.0rem;}
	.human-interview-message .message {margin:0 0 0 auto; flex-basis:85%; padding:10px 24px;}
	.human-interview-message .message::before {top:-14px; right:auto; bottom:-14px; left:0;}
	.human-interview-section .bgimage::before {display:none;}
	.human-interview-section .bgimage::after {top:auto; bottom:-160px; left:-48px; width:160px;}
}
 @media screen and (max-width:800px) {
	.human-interview-qa > .item {padding:24px;}
	.human-interview-qa > .item .question {padding-left:44px; font-size:1.5rem;}
	.human-interview-qa > .item .number {font-size:1.5rem;}
	.human-interview-qa > .item .number .large {margin:0;}
	.human-interview-qa > .item .answer {padding-left:0;}
}
@media screen and (max-width:600px) {
	.human-interview-container {gap:56px;}
	.human-interview-header > .titlebox > .title {font-size:1.5rem;}
	.human-interview-header > .excerpt {max-width:280px; font-size:1.3rem;}
	.human-interview-header > .excerpt br {display:none;}
	.human-interview-message .title {font-size:1.3rem;}
	.human-interview-message .title .english {font-size:1.5rem;}
}

.projectstory-introduction {margin:0 auto; width:var(--content-width);}
.projectstory-introduction > .description {text-align:center; line-height:2; font-size:2.0rem;}
@media screen and (max-width:1024px) {
	.projectstory-introduction .description {line-height:1.5; font-size:1.5rem;}
}

.projectstory-profile-container {position:relative; z-index:0; display:grid; gap:48px; grid-template-columns:repeat(2,1fr);}
.projectstory-profile-container {margin:104px 0;}
.projectstory-profile-container::before {content:""; position:absolute; top:24px; bottom:80px; left:-40px; z-index:-1; width:120vw; background:var(--color-lightblue);}
.projectstory-profile-container::after {content:""; position:absolute; top:50%; left:50%; z-index:-1; width:92px; height:92px; background:url("images/projectstory-profile-crossicon.svg") center/contain no-repeat; transform:translate(-50%,-50%);}
.projectstory-profile > .picture {position:relative; z-index:2; margin:0 0 -64px; width:100%;}
.projectstory-profile > .picture img {width:100%;}
.projectstory-profile > .picture .sp {display:none;}
.projectstory-profile > .profile {width:calc(380 / 488 * 100%); padding:80px 32px 32px; text-align:left; color:var(--text-color-white); background:var(--color-blue);}
.projectstory-profile > .profile > .position {display:flex; margin:0 0 1em; padding:0 0 .75em; justify-content:space-between; align-items:center; border-bottom:1px solid var(--border-color-white);}
.projectstory-profile > .profile > .name {line-height:1; font-size:2.5rem;}
.projectstory-profile.-left .profile {margin-left:auto;}
.projectstory-profile.-right .profile {margin-right:auto;}
.projectstory-profile.-blue .profile {background-color:var(--color-blue);}
.projectstory-profile.-navy .profile {background-color:var(--color-darknavy);}
@media screen and (max-width:1024px) {
	.projectstory-profile-container {padding:40px 0; gap:16px;}
	.projectstory-profile-container {margin:64px 0;}
	.projectstory-profile-container::before {top:0; bottom:0; left:50%; transform:translate(-50%,0);}
	.projectstory-profile-container::after {top:40%; width:24px;}
	.projectstory-profile > .picture .pc {display:none;}
	.projectstory-profile > .picture .sp {display:block;}
	.projectstory-profile > .picture {margin-bottom:-28px;}
	.projectstory-profile > .profile {width:calc(380 / 400 * 100%); padding:36px 16px 18px;}
	.projectstory-profile > .profile > .position {display:block;}
	.projectstory-profile > .profile > .name {font-size:1.6rem;}
}

.projectstory-question-titlebox {position:relative; z-index:0; width:var(--content-width); padding:32px 0 48px; color:var(--text-color-blue);}
.projectstory-question-titlebox {margin:80px auto;}
.projectstory-question-titlebox::before {content:""; position:absolute; top:0; right:-40px; bottom:0; left:-40px; z-index:-1; background:var(--color-lightblue);}
.projectstory-question-titlebox > .title {display:flex; margin:0 0 1.75em; justify-content:flex-start; align-items:center; text-align:left;}
.projectstory-question-titlebox > .title > .text {font-size:3.0rem;}
.projectstory-question-titlebox > .title .spacer {display:inline-block; width:3em;}
.projectstory-question-titlebox > .title > .number {font-size:5.0rem; color:var(--text-color-blue); opacity:.4;}
.projectstory-question-titlebox > .title > .number .large {vertical-align:-.125em; font-size:2em;}
.projectstory-question-titlebox > .title > .text .large {font-size:1.5em;}
.projectstory-question-titlebox > .content {margin:0 20% 0 auto; max-width:720px; padding:0 0 0 40px; text-align:left;}
.projectstory-question-titlebox .question {position:relative; margin:0 0 .5em; font-size:2.0rem;}
.projectstory-question-titlebox .question::before {content:""; position:absolute; top:.75em; right:calc(100% + 2em); width:120vw; height:2px; background:var(--text-color-blue);}
.projectstory-question-titlebox .description {line-height:2; font-weight:400;}
.projectstory-question-titlebox .picture {position:absolute; right:-12.5%; bottom:0; width:34%; min-width:200px;}
.projectstory-question-titlebox .picture img {width:100%;}

.projectstory-eyecatch {position:relative; margin:104px auto;}
.projectstory-eyecatch .title {position:absolute; top:17.5%; left:50%; width:180px; max-height:55%; object-fit:contain; transform:translate(-50%,0);}
.projectstory-eyecatch .background {min-height:280px; object-fit:cover;}

.projectstory-section-container {display:grid; gap:80px; grid-template-columns:1fr;}
.projectstory-section {position:relative; margin:0 auto; width:var(--content-width-narrow);}
.projectstory-section > .picture {margin:64px 0;}
.projectstory-section > .picture img {width:100%;}
.projectstory-section .endtext {margin:4em 0 0; text-align:center; color:var(--text-color-blue);}
.projectstory-section + .projectstory-section.-blue-box {margin-top:80px;}
.projectstory-section.-blue-box {z-index:0; ; padding:64px 0;}
.projectstory-section.-blue-box::before {content:""; position:absolute; top:0; right:-80px; bottom:0; left:-80px; z-index:-1; background:var(--color-lightblue);}
@media screen and (max-width:1024px) {
	.projectstory-section > .picture {margin:24px 0 40px;}
}

.projectstory-question-title {position:relative; text-align:left; font-size:2rem;}
.projectstory-question-title {margin:0 0 3.5em;}
.projectstory-question-title::before {content:""; position:absolute; top:.75em; right:calc(100% + 2em); width:120vw; height:2px; background:var(--text-color-darknavy);}
.projectstory-question-title.-indent {margin:0 auto; max-width:720px;}

.projectstory-answer {position:relative; display:grid; gap:48px; grid-template-columns:1fr; text-align:left; color:var(--text-color-blue);}
.projectstory-answer > .item {display:flex; justify-content:space-between;}
.projectstory-answer > .item > .name {flex-basis:11em; flex-shrink:0; line-height:2;}
.projectstory-answer > .item > .bodytext {flex-basis:100%; line-height:2; font-weight:400;}
.projectstory-answer > .item.-blue {color:var(--text-color-blue);}
.projectstory-answer > .item.-navy {color:var(--text-color-navy);}
.projectstory-answer > .background {position:absolute; top:50%; right:calc(50% - 50vw); left:20%; z-index:-1; width:calc(30% + 50vw + 40px); transform:translate(0,-50%);}
.projectstory-answer > .background img {width:100%;}
.projectstory-answer > .background.-left {right:20%; left:auto;}
.projectstory-answer > .background.-right {right:auto; left:20%;}

.projectstory-answerbox {position:relative; z-index:0; height:320px; padding:40px 0; color:var(--text-color-white);}
.projectstory-answerbox {margin:104px 0 120px;}
.projectstory-answerbox::before {content:""; position:absolute; top:0; bottom:0; left:-80px; z-index:-1; width:120vw; background:var(--color-blue);}
.projectstory-answerbox .picture {position:absolute; bottom:0; left:-20%; width:70%; overflow:hidden;}
.projectstory-answerbox .picture img {transform:translate(0,calc(33 / 480 * 100%)); filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));}
.projectstory-answerbox .picture .sp {display:none;}
.projectstory-answerbox .excerpt {display:flex; margin:0 0 0 auto; width:fit-content; min-width:min(60%,400px); height:100%; flex-direction:column; justify-content:center; align-items:center; text-align:left; line-height:1.375; font-size:2.0rem;}
.projectstory-answerbox .excerpt .spacer.-vertical {display:block; height:1em;}
.projectstory-answerbox .excerpt .large {margin:0 0 .125em; font-size:4.5rem;}
.projectstory-answerbox.-blue::before {background-color:var(--color-blue);}
.projectstory-answerbox.-navy::before {background-color:var(--color-darknavy);}
.projectstory-answerbox.-reverse .picture {right:-20%; left:auto;}
.projectstory-answerbox.-reverse::before {right:-80px; left:auto;}
.projectstory-answerbox.-reverse .excerpt {margin:0;}
@media screen and (max-width:1024px) {
	.projectstory-eyecatch {margin:64px 0;}
	.projectstory-question-titlebox {padding:40px 0 156px;}
	.projectstory-question-titlebox {margin:64px auto;}
	.projectstory-question-titlebox > .title {margin-bottom:3em;}
	.projectstory-question-titlebox > .title > .number {font-size:3.0rem;}
	.projectstory-question-titlebox > .title > .number .large {font-size:1.5em;}
	.projectstory-question-titlebox > .title > .text {font-size:2.0rem;}
	.projectstory-question-titlebox > .title > .text .large {font-size:1.25em;}
	.projectstory-question-titlebox > .title .spacer {width:2em;}
	.projectstory-question-titlebox > .content {width:100%; padding:0 24px;}
	.projectstory-question-titlebox .question {margin-bottom:1.5em; padding:0 0 0 .5em; font-size:1.5rem;}
	.projectstory-question-titlebox .question::before {right:calc(100% + .5em); height:1px;}
	.projectstory-question-title {padding:0 24px; font-size:1.5rem;}
	.projectstory-question-title::before {right:calc(100% - 24px + 1em); height:1px;}
	.projectstory-answer {gap:24px;}
	.projectstory-answer > .item {display:block; padding:0 24px;}
	.projectstory-answer > .item > .name {margin:0 0 .5em;}
	.projectstory-answerbox {height:280px;}
	.projectstory-answerbox {margin:48px 0;}
	.projectstory-answerbox::before {left:40px;}
	.projectstory-answerbox .picture {left:-5%; width:55%;}
	.projectstory-answerbox.-reverse .picture {right:-5%;}
	.projectstory-answerbox .picture .sp {display:block;}
	.projectstory-answerbox .picture .pc {display:none;}
	.projectstory-answerbox .excerpt {width:60%; font-size:2.0rem;}
	.projectstory-answerbox .excerpt br {display:none;}
	.projectstory-answerbox .excerpt .large {word-break:keep-all; font-size:3.2rem;}
	.projectstory-answerbox.-reverse::before {right:40px; left:auto;}
}
@media screen and (max-width:600px) {
	.projectstory-answerbox {height:152px;}
	.projectstory-answerbox .excerpt {font-size:1.3rem;}
	.projectstory-answerbox .excerpt .large {font-size:1.8rem;}
}

.constitution-container {display:grid; margin:0 auto; width:var(--content-width-wide); gap:48px; grid-template-columns:1fr;}
.constitution-container + .subsection-title {margin-top:132px;}
.constitution-box {background:var(--color-lightblue); box-shadow:var(--shadow-dark-small);}
.constitution-box .figure {margin:0 0 -1% -4%; width:108%; max-width:none;}
.constitution-box.-blue {background-color:var(--color-lightblue);}
.constitution-box.-purple {background-color:var(--color-lightpurple);}
@media screen and (max-width:1024px) {
	.constitution-container {width:100%; gap:24px;}
	.constitution-box .figure {margin:0; width:100%;}
}

.culture-department-container {display:grid; margin:0 auto; width:var(--content-width); gap:24px; grid-template-columns:repeat(4,1fr);}
.subsection-title + .culture-department-container {margin-top:88px;}
.culture-department-container .culture-department {display:flex; flex-direction:column; justify-content:space-between;}
.culture-department > .title {margin:0 0 1.25em; text-align:center; font-size:1.5rem;}
.culture-department .box {flex-basis:100%; padding:32px; text-align:left; background:var(--color-lightblue); box-shadow:var(--shadow-dark-small);}
.culture-department .list {display:grid; margin:0 auto; max-width:9em; gap:12px; grid-template-columns:1fr;}
@media screen and (max-width:1024px) {
	.culture-department-container {grid-template-columns:repeat(2,1fr);}
	.culture-department .list {display:block; width:100%; max-width:18em; columns:2; gap:32px;}
	.culture-department .list li {margin:0 0 .25em;}
}
@media screen and (max-width:600px) {
	.culture-department-container {grid-template-columns:repeat(1,1fr);}
}

.welfare-container {display:grid; margin:0 auto; width:var(--content-width); gap:32px; grid-template-columns:repeat(2,1fr);}
.welfare-container > .welfare-box.-large {grid-column:span 2;}
.welfare-box {padding:32px; text-align:left; background:var(--color-lightblue); box-shadow:var(--shadow-dark-small);}
.welfare-box img {width:100%;}
.welfare-box > .title {margin:0 0 1em; line-height:1; font-size:2.5rem;}
.welfare-box .box {padding:48px; background:var(--color-white);}
.welfare-box .box:not(:first-child) {margin-top:24px;}
.welfare-box.-large {padding:56px;}
.welfare-box.-large > .title {margin-bottom:.5em; font-size:3.0rem;}
.welfare-box.-blue {background:var(--color-lightblue);}
.welfare-box.-purple {background:var(--color-lightpurple);}
.other-welfare-list {display:grid; grid-auto-flow:column; margin:0 auto; max-width:740px; column-gap:32px; row-gap:8px; grid-template-columns:repeat(2,1fr); background:url("images/culture-welfare-05-bg.svg") center/240px no-repeat;}
.other-welfare-list > li {grid-column:1;}
.other-welfare-list > li.-right {grid-column:2;}
.other-welfare-list > li.-span-2 {grid-column:1 / span 2;}
@media screen and (max-width:1024px) {
	.welfare-container {grid-template-columns:repeat(1,1fr);}
	.welfare-container > .welfare-box.-large {grid-column:span 1;}
	.welfare-box.-large {padding:32px;}
	.welfare-box.-sp-blue {background:var(--color-lightblue);}
	.welfare-box.-sp-purple {background:var(--color-lightpurple);}
	.welfare-box > .title {font-size:2.0rem;}
	.welfare-box.-large > .title {margin-bottom:1em; font-size:2.0rem;}
}
 @media screen and (max-width:800px) {
	.other-welfare-list {grid-template-columns:1fr; grid-auto-flow:row;}
	.other-welfare-list .item.-span-2 {grid-column:1;}
	.other-welfare-list > li.-right {grid-column:1;}
	.welfare-box .box {padding:24px;}
}

.gallery-grid {position:relative; display:grid; margin:0 auto; width:var(--content-width); gap:24px; grid-template-columns:repeat(3,1fr);}
.gallery-grid:before {content:""; position:absolute; top:-20%; left:-20%; right:-20%; bottom:-20%; z-index:-1; background:url("images/culture-gallery-bg.png") center/contain no-repeat;}
.gallery-grid {margin-top:112px; margin-bottom:112px;}
.gallery-grid:last-child {margin-bottom:0;}
.gallery-grid .item {overflow:hidden; box-shadow:var(--shadow-dark-small);}
.gallery-grid .item img {width:100%; transition:transform .5s;}
.gallery-grid .item:hover img {transform:scale(1.1);}
 @media screen and (max-width:800px) {
	.gallery-grid {gap:8px;}
	.gallery-grid {margin-top:80px; margin-bottom:80px;}
}

.training-container {position:relative; z-index:0; margin:0 auto; width:var(--content-width); padding:80px 0; grid-template-columns:1fr;}
.training-container {margin:80px auto;}
.training-container::before {content:""; position:absolute; top:0; right:-80px; bottom:0; z-index:-1; width:120vw; background:var(--color-lightpurple); box-shadow:var(--shadow-dark-small);}
.training-container .training-item {margin:0 auto 0 0; width:calc(100% - 40px);}
.training-container .training-item:not(:last-child) {margin-bottom:56px;}
.training-container .training-item.-reverse {margin-right:0; margin-left:auto; border-left:none;}
.training-item {position:relative; position:relative; z-index:0; display:flex; clear:both; padding:var(--color-white); padding:32px 32px 32px 96px; justify-content:space-between; align-items:flex-start; text-align:left; background:var(--color-white); box-shadow:var(--shadow-dark-small);}
.training-item::before {content:""; position:absolute; top:0; bottom:0; left:0; width:48px; background:var(--color-darknavy); box-shadow:var(--shadow-dark-small);}
.training-item .textcontent {position:relative; height:100%; flex-basis:70%;}
.training-item .title {margin:0 0 1em; padding:0 0 .5em; font-size:2.5rem; border-bottom:2px solid var(--border-color-darknavy);}
.training-item .description {line-height:1.75; --letter-spacing:.1em;}
.training-item .picture {flex-basis:25%; flex-shrink:0; box-shadow:var(--shadow-dark-small);}
.training-item .picture img {width:100%; max-height:320px; object-fit:cover; object-position:50% 20%;}
.training-item .bgicon {position:absolute; top:50%; left:50%; z-index:-1; width:220px; transform:translate(-50%,-50%);}
.training-item .training-detail-list {margin:-56px 0; flex-basis:25%;}
.training-item.-reverse {padding-right:96px; padding-left:32px; flex-direction:row-reverse;}
.training-item.-reverse::before {right:0; left:auto;}
.training-detail-list {position:relative;}
.training-detail-list .list {display:grid; width:calc(100% + 48px); gap:8px; grid-template-columns:1fr;}
.training-detail-list .list > .item {display:flex; padding:1em 2em; flex-direction:column; justify-content:center; align-items:center; text-align:left; color:var(--text-color-white); background:var(--color-darknavy); box-shadow:var(--shadow-dark-small);}
.training-detail-list .note {position:absolute; right:-56px; bottom:0; transform:translate(100%,0);}
@media screen and (max-width:1024px) {
	.training-container {padding:56px 0;}
	.training-container .training-item {width:calc(100% - var(--content-padding));}
	.training-container .training-item:not(:last-child) {margin-bottom:32px;}
	.training-item {display:block; padding:24px 24px 24px calc(24px + var(--content-padding));}
	.training-item::before {width:var(--content-padding);}
	.training-item .training-detail-list {float:right; margin:0; margin:0 calc(-24px - var(--content-padding)) 32px auto;}
	.training-detail-list .list {width:100%;}
	.training-detail-list .note {right:-6px;}
	.training-item .textcontent {margin-bottom:24px;}
	.training-item .title {font-size:2.0rem;}
	.training-item .description {line-height:2;}
	.training-item.-reverse {padding:24px calc(24px + var(--content-padding)) 24px 24px; flex-direction:column;}
}

.certification-box {position:relative; z-index:0; margin:0 auto; width:var(--content-width); padding:32px 80px; text-align:left; color:var(--text-color-white);}
.certification-box::before {content:""; position:absolute; top:32px; bottom:-32px; left:32px; z-index:-1; width:120vw; background:var(--color-lightpurple); box-shadow:var(--shadow-dark-small);}
.certification-box::after {content:""; position:absolute; top:0; right:-200px; bottom:0; left:0; z-index:-1; background:var(--color-darknavy);}
.training-container + .certification-box {margin-top:120px;}
.certification-box > .title {margin:0 0 1em; font-size:3.0rem;}
.certification-box > .content {position:relative; display:flex; max-width:780px; justify-content:space-between; align-items:center;}
.certification-box > .content > .picture {flex-basis:55%;}
.certification-box > .content > .picture img {width:100%;}
.certification-list {position:relative; flex-basis:40%; padding:0 2em 0 0;}
.certification-list .list {display:grid; gap:6px; grid-template-columns:1fr;}
.certification-list .list .item {padding:1.125em 2em; text-align:center; color:var(--text-color-darknavy); background:var(--color-white); box-shadow:var(--shadow-dark-small);}
.certification-list .note {position:absolute; right:0; bottom:0;}
.certification-box .bgimage {position:absolute; bottom:-104px; left:-24px; z-index:-1; width:140px; transform:translate(-100%,0);}
.certification-box .bgimage img {width:100%;}
@media screen and (max-width:1024px) {
	.certification-box {padding:32px 24px;}
	.training-container + .certification-box {margin-top:72px;}
	.certification-box > .title {font-size:2.0rem;}
	.certification-box::after {right:0; left:auto; width:120vw;}
	.certification-box > .content {flex-direction:column;}
	.certification-box > .content > .picture {width:80%;}
	.certification-list {width:100%; padding:0;}
	.certification-list .list {margin-top:-16px; width:100%; column-gap:14px; row-gap:10px; grid-template-columns:repeat(2,1fr);}
	.certification-box .bgimage {right:0; bottom:-64px; left:auto; z-index:2; width:64px;}
}

.recruit-info-table {display:block; margin:0 auto; width:var(--content-width); border-collapse:collapse; border:1px solid var(--border-color-darknavy);}
.recruit-info-table tbody {display:table; width:100%;}
.recruit-info-table th,
.recruit-info-table td {padding:1.5em 2em; border-bottom:1px solid var(--border-color-lightblue);}
.recruit-info-table tr:last-child th,
.recruit-info-table tr:last-child td {border-bottom:none;}
.recruit-info-table th {vertical-align:middle; min-width:10em; text-align:center; text-align:left; color:var(--text-color-white); background:var(--color-darknavy);}
.recruit-info-table td {padding-left:3em; text-align:left; font-weight:400; background:var(--color-white);}
@media screen and (max-width:1024px) {
	.recruit-info-table th {padding:1.5em 1em;}
	.recruit-info-table td {padding:1.5em;}
}

.recruit-selector {display:flex; justify-content:center; align-items:stretch; width:var(--content-width); margin:0 auto;}
.recruit-selector > .item {position:relative;}
.recruit-selector > .item button {position:relative; z-index:0; min-width:8em; height:100%; padding:1em 1em 1.5em; text-align:center; font-size:4.0rem; font-weight:400; color:var(--text-color-white); background:none; cursor:pointer; transition:font-size .25s .175s;}
.recruit-selector > .item button.is-active {z-index:2; font-size:4.5rem; font-weight:500; transition:font-size .25s;}
.recruit-selector > .item button.is-active::before {top:-24px; box-shadow:var(--shadow-dark-small);}
.recruit-selector > .item button::before {content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; background:var(--color-darknavy); transition:box-shadow .25s,top .25s,width .25s,background-color .25s,color .25s;}
.recruit-selector > .item button:not(.is-active):hover {color:var(--text-color-darknavy);}
.recruit-selector > .item button:not(.is-active):hover::before {top:4px; color:var(--text-color-darknavy); background-color:var(--color-gray);}
.recruit-selector > .item.-blue button::before {background-color:var(--color-blue);}
.recruit-selector > .item.-navy button::before {background-color:var(--color-darknavy);}
@media screen and (max-width:1024px) {
	.recruit-selector > .item {flex-basis:50%; max-width:12em;}
	.recruit-selector > .item button {width:100%; padding:1.5em 1em 2em; font-size:1.3rem;}
	.recruit-selector > .item button.is-active {font-size:1.3rem;}
	.recruit-selector > .item button.is-active::before {top:-6px;}
}

.recruit-index-container {position:relative; z-index:2; padding:80px 0; color:var(--text-color-white);}
.recruit-index-container .background {position:absolute; top:0; right:0; bottom:0; left:0; z-index:-4; background:var(--color-darknavy); transition:background-color .25s;}
.recruit-index-container {margin:0 0 80px;}
.recruit-index-container > .inner {margin:0 auto; width:var(--content-width);}
.recruit-index-container > .inner > .title {margin:0 0 40px; padding:0 0 0 24px; text-align:left; font-size:2.0rem; border-left:10px solid var(--color-white);}
.recruit-index-container > .inner > .title .english {display:block; margin:0 0 .5em; line-height:1; font-size:4.0rem;}
.recruit-index-container .bgtext {position:absolute; right:24px; bottom:24px; z-index:-1; width:100%; height:240px; pointer-events:none;}
.recruit-index-container .bgtext img {width:100%; height:100%; object-fit:contain; object-position:right bottom;}
.recruit-index-container .-navy.is-active~.background {background-color:var(--color-darknavy);}
.recruit-index-container .-blue.is-active~.background {background-color:var(--color-blue);}
.recruit-index {display:grid; column-gap:48px; row-gap:24px; grid-template-columns:repeat(2,auto); overflow:hidden; grid-auto-flow:column;}
.recruit-index > .item > a {position:relative; display:flex; justify-content:flex-end; align-items:center; transition:color .5s;}
.recruit-index > .item .title {padding:0 1em; font-size:2.5rem;}
.recruit-index > .item .picture {position:relative; width:120px; height:120px; flex-shrink:0; border:4px solid var(--color-white); border-radius:400px;}
.recruit-index > .item .picture::after {content:""; position:absolute; top:0; right:0; bottom:0; left:0; background:var(--color-darknavy); border-radius:400px; opacity:0; mix-blend-mode:multiply; transition:opacity .5s;}
.recruit-index > .item .picture img {border-radius:400px;}
.recruit-index > .item .picture::before {content:""; position:absolute; top:-8px; left:50%; z-index:-1; width:2px; height:16px; background:var(--color-white); transform:translate(-50%,-100%);}
.recruit-index > .item > a:hover {color:var(--text-color-lightblue);}
.recruit-index > .item > a:hover .picture::after {opacity:.7;}
.recruit-index > .item.-left {grid-column:1/2;}
.recruit-index > .item.-left > a {flex-direction:row; text-align:right;}
.recruit-index > .item.-right {grid-column:2/3;}
.recruit-index > .item.-right > a {flex-direction:row-reverse; text-align:left;}
.recruit-index > .item.-closed a::before {content:""; position:absolute; top:-4px; right:-4px; bottom:-4px; left:-4px; z-index:2; background:var(--color-darknavy); opacity:0; mix-blend-mode:multiply; transition:opacity .25s;}
.recruit-index > .item.-closed .closedtext {position:absolute; top:50%; left:50%; z-index:4; width:100%; text-align:center; line-height:1.25; font-size:2.5rem; color:var(--text-color-white); opacity:0; transform:translate(-50%,-50%); transition:opacity .25s;}
.recruit-index > .item.-closed a:hover::before {opacity:1;}
.recruit-index > .item.-closed a:hover .closedtext {opacity:1;}
@media screen and (max-width:1024px) {
	.recruit-index > .item .picture {width:96px; height:96px;}
	.recruit-index > .item .title {font-size:1.8rem;}
	.recruit-index > .item.-closed .closedtext {font-size:1.3rem;}
	.recruit-index > .item.-closed a::before {opacity:1;}
	.recruit-index > .item.-closed a .closedtext {opacity:1;}
}
@media screen and (max-width:600px) {
	.recruit-index-container {padding:40px 0;}
	.recruit-index-container > .inner > .title {font-size:1.3rem; border-left-width:8px;}
	.recruit-index-container > .inner > .title .english {font-size:1.5rem;}
	.recruit-index {margin:0 auto; width:fit-content; grid-template-columns:1fr; grid-auto-flow:row;}
	.recruit-index > .item .title {font-size:1.5rem;}
	.recruit-index > .item.-left,
	.recruit-index > .item.-right {grid-column:span 1;}
	.recruit-index > .item.-right > a {flex-direction:row; text-align:right;}
	.recruit-index > .item .picture {width:72px; height:72px;}
	.recruit-index-container .bgtext {right:auto; left:50%; height:80px; transform:translate(-50%,0);}
	.recruit-index-container .bgtext img {object-position:center bottom;}
}

.recruit-job-container {display:grid; gap:104px; grid-template-columns:1fr;}
.recruit-job-section {position:relative; z-index:0; margin:0 auto; width:var(--content-width); padding:64px 0 120px;}
.recruit-job-section::before {content:""; position:absolute; top:0; right:-80px; bottom:0; left:-80px; z-index:-1; background:var(--color-lightblue);}
.recruit-job-section.-closed::after {content:""; position:absolute; top:0; right:-80px; bottom:-48px; left:-80px; z-index:4; background:var(--color-darknavy); opacity:0; mix-blend-mode:multiply; transition:opacity .25s; pointer-events:none;}
.recruit-job-section.-closed:hover::after {opacity:1;}
.recruit-job-section .closedtext {position:absolute; top:min(50%,40vh); left:50%; z-index:6; width:100%; text-align:center; font-size:2.0rem; color:var(--text-color-white); opacity:0; transform:translate(-50%,-50%); transition:opacity .25s; pointer-events:none;}
.recruit-job-section.-closed:hover .closedtext {opacity:1;}
.recruit-job-section .entry-button {position:absolute; bottom:0; left:50%; width:max-content; transform:translate(-50%,50%);}
.job-title {position:relative; margin:0 0 .5em; margin:0 auto .5em; max-width:800px; padding:0 0 3em; text-align:center; line-height:1.375; font-size:3.0rem; background:url("images/job-detail-title-bgline-a.svg") center .75em/100% calc(100% - .75em) no-repeat;}
.job-title::after,
.job-title .inner::after {content:""; position:absolute; width:10px; height:10px; background:var(--color-darknavy); border-radius:400px;}
.job-title::after {bottom:-2px; left:-4px;}
.job-title .inner {position:relative; z-index:2; display:block; margin:0 auto; width:fit-content; padding:0 1em; background:var(--color-lightblue);}
.job-title .inner::after {top:calc(.75em - 4px); right:-2px;}
.job-title .small {display:block; line-height:1.75; font-size:.5em;}
.job-description {margin:0 auto 5em; max-width:820px; text-align:center; line-height:2;}
.job-detail-box {position:relative; padding:64px 40px 40px; text-align:left; line-height:1.75; background:var(--color-white); background:var(--color-white);}
.job-detail-box > .title {position:relative; margin:calc(-1.625em - 64px) 0 1.5em 0; width:fit-content; min-width:8em; padding:.75em 3em .75em 0; text-align:left; font-size:2.0rem; color:var(--text-color-white); z-index:0;}
.job-detail-box > .title::before {content:""; position:absolute; top:0; right:0; bottom:0; left:-3em; background:var(--border-color-darknavy); z-index:-1;}
.job-detail-box > .title .small {display:block; width:100%; text-align:left; font-size:1.5rem;}
.job-detail-box + .job-detail-box {margin-top:80px;}
.job-detail-box > .note {margin:24px auto; max-width:820px;}
.job-detail-box > .title + .note {margin-top:0;}
.job-detail-box > .note:last-child {margin-bottom:0;}
.job-detail-box .flow {position:relative; margin:0 auto; max-width:680px;}
.job-detail-box .flow .note {position:absolute; top:-32px; right:0; text-align:right; color:var(--text-color-blue);}
.job-memo {display:flex; max-width:940px; justify-content:space-between; text-align:left; background:var(--color-white); box-shadow:var(--shadow-dark-small);}
.job-memo {margin:24px auto;}
.job-detail-box + .job-memo {margin-top:64px;}
.job-memo > .title {position:relative; z-index:2; display:flex; flex-shrink:0; padding:1em 2em; justify-content:flex-start; align-items:center; color:var(--text-color-white);}
.job-memo > .title::before {content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; background:var(--color-darknavy);}
.job-memo > .title .english {margin:0 1em 0 0; font-size:1.5em;}
.job-memo > .description {position:relative; z-index:0; display:flex; padding:1em 2em; flex-direction:column; justify-content:center; align-items:flex-start; text-align:left; flex-grow:1;}
.job-detail-box + .job-requirements {margin-top:32px;}
.job-requirements > .title {position:relative; margin:0 auto; max-width:800px; padding:.75em 0 3em; text-align:center; line-height:1.375; font-size:3rem; background:url("images/job-detail-title-bgline-b.svg") center top/100% 100% no-repeat;}
.job-requirements > .title::after,
.job-requirements > .title .inner::before,
.job-requirements > .title .inner::after {content:""; position:absolute; width:10px; height:10px; background:var(--color-darknavy); border-radius:400px;}
.job-requirements > .title::after {top:-2px; left:-4px;}
.job-requirements > .title .inner {position:relative; z-index:2; display:block; margin:0 auto; width:fit-content; padding:0 1em; background:var(--color-lightblue);}
.job-requirements > .title .inner::after {top:calc(.5em + 3px); right:-2px;}
.job-requirements > .title .inner::before {top:calc(.5em + 3px); left:-2px;}
@media screen and (max-width:1024px) {
	.recruit-job-section {padding:48px 0 56px;}
	.recruit-job-section.-closed::after {opacity:1; bottom:-30px;}
	.recruit-job-section.-closed .closedtext {opacity:1;}
	.recruit-job-section .closedtext {font-size:1.3rem; top:50%; transform:translate(-50%,-50%);}
	.job-title {font-size:2.0rem;}
	.job-title .inner {max-width:calc(100% - 48px);}
	.job-title .small {font-size:1.3rem;}
	.job-description {text-align:left;}
	.job-description.-sp-align-center {text-align:center;}
	.job-detail-box {padding:52px 24px 24px;}
	.job-detail-box > .title {margin:calc(-1.625em - 52px) 0 1.5em; padding-right:1.25em;}
	.job-detail-box > .title.-sp-small {font-size:1.7rem;}
	.job-detail-box .flow .note {position:static; width:100%; float:left; margin:4em auto 3em; text-align:center; font-size:1.2rem; color:var(--text-color-blue);}
	.job-detail-box + .job-memo {margin-top:32px;}
	.job-memo {display:block; background:none; box-shadow:none;}
	.job-memo > .title {width:100%; padding:1em 12px;}
	.job-memo > .title .english {margin-right:.5em;}
	.job-memo > .title::before {right:12px; left:-12px;}
	.job-memo > .title.-sp-width-full {width:100%; text-align:center; justify-content:center;}
	.job-memo > .title.-sp-width-full:before {right:0; left:0;}
	.job-memo > .title.-sp-width-full .japanese {font-size:1.5rem;}
	.job-memo > .description {margin:-12px 0 0 12px; padding:24px;}
	.job-memo > .description::before {content:""; position:absolute; top:0; right:-12px; bottom:0; left:0; z-index:-1; background:var(--color-white); box-shadow:var(--shadow-dark-small);}
	.job-memo > .description.-sp-width-full {margin:0;}
	.job-memo > .description.-sp-width-full::before {right:0;}
	.job-requirements > .title {margin:2.5em auto 1.5em; padding:0; font-size:2.0rem; background:none;}
	.job-requirements > .title::after,
	.job-requirements > .title .inner::before,
	.job-requirements > .title .inner::after {display:none;}
}


a.entry-button {display:block; margin:0 auto; width:fit-content; padding:.875em 1.5em; letter-spacing:.25em; font-size:2.5rem; color:var(--text-color-white); background:var(--color-red); box-shadow:var(--shadow-dark-small); transition:background-color .25s;}
a.entry-button::before {content:""; display:inline-block; margin:0 1em 0 0; vertical-align:-.6em; width:2em; height:2em; background:var(--text-color-white); --mask:url("images/icon-entry.svg") center/contain no-repeat; -webkit-mask:var(--mask); mask:var(--mask);}
a.entry-button:hover {background:var(--color-darkred);}
@media screen and (max-width:1024px) {
	a.entry-button {font-size:1.5rem; padding:1.25em 1em;}
	a.entry-button::before {display:none;}
}

.page-header + .entry-banner {margin-top:112px;}
.entry-banner {position:relative; display:block; width:var(--content-width); max-width:640px; box-shadow:var(--shadow-dark-small);}
.entry-banner {margin:40px auto;}
.entry-banner img {width:100%; transition:opacity .25s;}
.entry-banner .hover {position:absolute; top:0; right:0; bottom:0; left:0;}
.entry-banner .default {position:relative; z-index:2;}
.entry-banner:hover .default {opacity:0;}

.entry-selector {position:relative; z-index:2; display:flex; justify-content:center; align-items:stretch;}
.entry-selector > .item {position:relative;}
.entry-selector > .item button {position:relative; z-index:0; min-width:10em; height:100%; padding:1.25em 1.5em; text-align:center; font-size:3.0rem; color:var(--text-color-blue); background:none; cursor:pointer; transition:color .25s;}
.entry-selector > .item button.is-active {z-index:2; color:var(--text-color-darknavy);}
.entry-selector > .item button.is-active::before {top:-6px; bottom:-1px; box-shadow:var(--shadow-dark-small);}
.entry-selector > .item button:hover:not(.is-active)::before {top:10px; background-color:var(--color-grayish-blue);}
.entry-selector > .item button::before {content:""; position:absolute; top:6px; right:0; bottom:-2px; left:0; z-index:-1; background:var(--color-darknavy); --clip-path:polygon(-8px 0,calc(100% + 8px) 0,calc(100% + 8px) calc(100% - 1px),-8px calc(100% - 1px)); clip-path:var(--clip-path); transition:background-color .25s,top .25s, bottom .25s,box-shadow .375s .2s; -webkit-clip-path:var(--clip-path);}
.entry-selector > .item.-blue button::before {background-color:var(--color-lightblue);}
.entry-selector > .item.-purple button::before {background-color:var(--color-lightpurple);}
 @media screen and (max-width:800px) {
	.entry-selector > .item button {font-size:1.5rem;}
	.entry-selector > .item button::before {top:4px;}
}

.entry-form-container {position:relative; z-index:0; margin:0 auto; width:var(--content-width); padding:40px; box-shadow:var(--shadow-dark-small);}
.entry-form-container > .background {position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; background:var(--color-lightblue); transition:background-color .25s;}
.contact-form {position:relative;}
.contact-form .form-table {margin:0 auto; max-width:800px;}
.contact-form > .note {display:block; margin:2em 0; text-align:center; line-height:1.625; font-size:1.3rem; font-size:1.1rem;}
.contact-form.-blue.is-active~.background {background:var(--color-lightblue);}
.contact-form.-purple.is-active~.background {background:var(--color-lightpurple);}
.form-table {table-layout:fixed; text-align:left; font-size:1.6rem; color:var(--text-c1lor-darknavy);}
.form-table textarea {width:100%; height:200px; padding:1em; font-size:inherit; resize:vertical;}
.form-table th {padding:2.375em 0; width:35%;}
.form-table th .note {display:block; margin:1em 0; font-size:1.1rem; font-weight:400;}
.form-table td {vertical-align:middle; width:65%; padding:1.5em 0;}
.form-table th .required {margin:0 1em; vertical-align:middle; font-size:.625em;}
.form-table td input {margin-bottom:0; width:100%; font-size:inherit; font-weight:400; color:var(--text-color-darknavy);}
.form-table td select {vertical-align:middle; max-width:100%; padding:1em 1em; font-size:inherit; font-weight:400; color:var(--text-color-darknavy); border:1px solid var(--border-color-darknavy);}
.form-table .subitems {display:grid; gap:24px; grid-template-columns:1fr;}
.form-table .subitems .label {display:block; margin:0 0 .75em; font-size:1.3rem;}
.form-table td .note {margin:1em 0; font-size:1.1rem; font-weight:400;}
.form-table input {padding:1em 1.5em; border:1px solid var(--border-color-darknavy);}
.form-table input::placeholder {color:var(--text-color-lightgray);}
.form-table input.-inline {margin:0 2em; vertical-align:middle; width:8em; min-width:auto;}
.form-table select.-inline {margin:0 2em;}
.form-table input.-inline:first-child,
.form-table select.-inline:first-child {margin-left:0;}
.form-table.-confirm th,
.form-table.-confirm td {padding:1em 0;}
.form-table.-confirm th {min-width:24em; padding-right:3em; font-weight:400;}
.contact-form > .submit-button {margin:32px auto 64px;}
.submit-button {display:block; width:fit-content; min-width:min(100%,18em); padding:1.25em 4em; text-align:center; font-size:1.6rem; font-weight:400; color:var(--text-color-darknavy); background:var(--color-white); border:1px solid var(--border-color-darknavy); box-shadow:var(--shadow-dark-small); cursor:pointer; transition:color .25s,background-color .25s;}
.submit-button::after,
.submit-button.-back::before {content:""; display:inline-block; margin:0 0 0 1.5em; vertical-align:-.2em; width:1em; height:1.25em; background:var(--color-darknavy); --clip-path:polygon(0 0,100% 50%,0 100%); clip-path:var(--clip-path); transition:background-color .25s; -webkit-clip-path:var(--clip-path);}
.submit-button.-back::after {display:none;}
.submit-button.-back::before {margin:0 1.5em 0 0; --clip-path:polygon(0 50%,100% 0,100% 100%);}
.submit-button.-blue {color:var(--text-color-white); background:var(--color-darknavy);}
.submit-button.-blue::before,
.submit-button.-blue::after {background-color:var(--text-color-white);}
.submit-button:hover {color:var(--text-color-white); background-color:var(--color-darknavy);}
.submit-button:hover::after {background:var(--color-white);}
.submit-button.-back:hover {color:var(--text-color-darknavy); background-color:var(--color-lightblue);}
.submit-button.-blue:hover {background-color:var(--color-darkblue);}
a.back-button {display:block; width:fit-content; padding:1em 2.5em; text-align:center; font-size:1.6rem; font-weight:500; color:var(--text-color-darknavy); background:var(--color-white); border:1px solid var(--border-color-darknavy); box-shadow:var(--shadow-dark-small); cursor:pointer; transition:color .25s,background-color .25s;}
a.back-button::after {content:""; display:inline-block; margin:0 0 0 1.25em; vertical-align:0; width:.625em; height:.625em; border:1px solid var(--text-color-darknavy); border-top:none; border-left:none; transform:rotate(-45deg); transition:border-color .25s;}
a.back-button:hover {color:var(--text-color-blue); background-color:var(--color-grayish-blue);}
a.back-button:hover::after {border-color:var(--text-color-blue);}

.contact-confirm {margin:0 auto; width:fit-content; max-width:var(--content-width-narrow); padding:80px 0;}
.confirm-buttons {display:flex; justify-content:center; gap:16px;}
.confirm-buttons {margin:120px auto 0;}
.confirm-buttons .submit-button {min-width:auto;}
 @media screen and (max-width:800px) {
	.entry-form-container {width:100%; padding:40px 24px;}
	.form-table {display:block;}
	.form-table tbody {display:contents;}
	.form-table tbody,
	.form-table tr,
	.form-table th,
	.form-table td {display:block; padding:0; font-size:1.3rem; width:100%;}
	.form-table th {margin:0 0 .75em; font-size:1.5rem;}
	.form-table tr:not(:last-child) {margin-bottom:24px;}
	.form-table td input,
	.form-table td select {font-size:1.3rem;}
	.form-table input.-inline {margin:0 1em;}
	.form-table select.-inline {margin:0 1em;}
	.form-table.-confirm th {margin-bottom:.25em; padding:0; font-size:1.3rem;}
	.form-table.-confirm td {padding:0; font-size:1.5rem; font-weight:600;}
	.submit-button {padding:1.25em 2em; font-size:1.5rem;}
	.contact-confirm {width:100%; padding:0;}
	a.back-button {font-size:1.3rem;}
}

.entry-thanks {z-index:0; padding:calc(var(--header-height) + 120px) 0 120px;}
.entry-thanks > .background {position:absolute; top:0; right:0; bottom:0; left:0; z-index:-2;}
.entry-thanks > .background img,
.entry-thanks > .background video {width:100%; height:100%; object-fit:cover;}
.entry-thanks > .box {position:relative; display:flex; margin:0 auto; width:var(--content-width); min-height:500px; padding:40px; flex-direction:column; justify-content:center; align-items:center; color:var(--text-color-white);}
.entry-thanks > .box::before {content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; background:var(--color-darknavy); opacity:.9; mix-blend-mode:multiply;}
.entry-thanks > .box > .title {margin:0 0 .75em; font-size:5.0rem;}
.entry-thanks > .box > .bodytext {margin:0 0 40px; line-height:1.75;}
@media screen and (max-width:1024px) {
	.entry-thanks {padding:calc(16px + var(--header-height)) 0 16px;}
	.entry-thanks > .box {min-height:auto; padding:32px;}
	.entry-thanks > .box > .title {font-size:3.0rem;}
	.entry-thanks > .box > .bodytext {text-align:left;}
}

.site-footer {position:relative; margin:0 0 0; padding:88px 0 32px; letter-spacing:0; color:var(--text-color-white); background:var(--color-black); z-index:2;}
.site-footer > .inner {margin:0 auto; max-width:var(--content-width-narrow);}
.footer-content {display:flex; justify-content:space-between; align-items:flex-end; gap:32px;}
.footer-content {margin:0 0 80px;}
.footer-navi {display:grid; gap:.25em 1.75em; grid-template-columns:repeat(4,auto); text-align:left; letter-spacing:0; font-size:1.8rem;}
.footer-navi > .item > a {display:block; padding:.5em 0;}
.footer-navi > .item > a:hover {color:var(--text-color-red);}
.footer-navi > .item.-full {grid-column:span 4;}
.footer-navi + .footer-navi-external {margin-top:40px;}
.footer-navi-external {display:grid; max-width:480px; gap:16px; grid-template-columns:1fr 1fr;}
.footer-navi-external > .item > a {display:block; padding:1em; text-align:center; font-weight:500; color:var(--text-color-white); background:var(--color-red);}
.footer-navi-external > .item > a:hover {color:var(--text-color-lightgray);}
.footer-info {text-align:left; letter-spacing:0;}
.footer-info > .title {margin:0 0 1.5em; font-size:1.8rem;}
.footer-info > .description {line-height:1.625; font-size:1.2rem;}
.site-info {font-size:1.2rem;}
@media screen and (max-width:1024px) {
	.site-footer {padding:48px 0 32px;}
	.footer-content {display:block;}
	.footer-content {margin-bottom:48px;}
	.footer-navi {display:block;}
	.footer-navi > .item > a {padding:1.125em 28px; font-size:1.4rem;}
	.footer-navi > .item:not(:last-child) {border-bottom:1px solid var(--border-color-dark);}
	.footer-navi-external {width:100%; gap:10px; grid-template-columns:1fr;}
	.site-footer .footer-navi-external {margin:48px auto;}
	.footer-info {padding:0 28px;}
	.site-info {letter-spacing:0; font-size:.9rem; opacity:.5;}
}

.loading-wrapper {position:fixed; top:0; left:0; z-index:10; width:100%; height:100%; background:var(--color-white); animation:loader-fadeout .25s .75s both normal ease-in-out;}
.loading-logo {position:absolute; top:48%; left:50%; display:block; width:72px; height:auto; text-align:center; transform:translate(-50%,-50%);}
.loading-text {position:absolute; top:calc(50% + 112px); left:50%; font-size:1.4rem; font-family:"YuGothic", "Yu Gothic", "游ゴシック", "Meiryo", "メイリオ", Arial, Verdana, sans-serif; color:var(--text-color-darknavy); transform:translate(-50%,-50%); ;}
.loading-content {position:relative; top:47.5%; left:50%; width:140px; height:140px; border:2px solid transparent; border-radius:50%; --transform:translate(-50%,-50%); animation:loader 1.5s linear infinite; border-top-color:var(--color-blue); border-bottom-color:var(--color-blue);}
.loading-content::before {content:""; position:absolute; top:5px; right:5px; bottom:5px; left:5px; border:2px solid transparent; border-radius:50%; --transform:translate(0,0); animation:loader 2s linear infinite; border-top-color:var(--color-darknavy); border-bottom-color:var(--color-darknavy);}
.loading-content::after {content:""; position:absolute; top:12px; right:12px; bottom:12px; left:12px; border:2px solid transparent; border-radius:50%; --transform:translate(0,0); animation:loader 1.25s linear infinite; border-top-color:var(--color-blue); border-bottom-color:var(--color-blue);}
@keyframes loader {
	0% {transform:var(--transform) rotate(0deg);}
	100% {transform:var(--transform) rotate(360deg);}
}
@keyframes loader-fadeout {
	0% {opacity:1;}
	100% {opacity:0; pointer-events:none;}
}


.unordered-list {display:grid; row-gap:4px;}
.unordered-list.-column-2 {grid-auto-flow:column; column-gap:40px; grid-template-columns:repeat(2,1fr);}
.unordered-list > li {grid-column:1;}
.unordered-list > li.-right {grid-column:2;}
.unordered-list > li.-span-2 {grid-column:1 / span 2;}
.unordered-list > li.-mb-1em {margin-bottom:1em;}
@media screen and (max-width:600px) {
	.unordered-list.-column-2 {grid-auto-flow:row; grid-template-columns:1fr;}
	.unordered-list > li.-right {grid-column:1;}
	.unordered-list > li.-span-2 {grid-column:span 1;}
}

.border-box {padding:32px clamp(32px,calc(50% - 380px),96px); border:1px solid var(--border-color-darknavy);}
@media screen and (max-width:600px) {
	.border-box {padding:24px;}
}

.vertical-spacer {margin:40px 0; border:none;}
.vertical-spacer.-margin-1em {margin:0.5em;}

.inline-icon {display:inline-block; margin:0 .5em; vertical-align:.15em; height:1.1em;}
.inline-icon img {width:auto; height:100%;}
 @media screen and (max-width:800px) {
	.inline-icon {height:1em;}
}

.picture-frame.-column-2 {display:grid; gap:24px; grid-template-columns:repeat(2,1fr);}
.picture-frame.-shadow img {box-shadow:var(--shadow-dark-small);}
@media screen and (max-width:400px) {
	.picture-frame.-column-2 {grid-template-columns:1fr;}
}

[data-tabcontent]:not(.is-active) {display:none;}

.flex-container {display:flex; margin:0; padding:0; list-style:none; flex-direction:row; justify-content:space-between; align-items:stretch; align-content:stretch; -webkit-justify-content:space-between;}
.flex-container.-row-reverse {flex-direction:row-reverse;}
.flex-container.-align-center {align-items:center;}
.flex-container.-width-med {margin:0 auto; width:var(--content-width-med);}
@media screen and (max-width:1000px) {
	.flex-container.-break-pc {display:block;}
	.flex-container.-break-pc .flex-item:not(:last-child) {margin-bottom:40px;}
}
 @media screen and (max-width:800px) {
	.flex-container.-break-tb {display:block;}
	.flex-container.-break-tb .flex-item:not(:last-child) {margin-bottom:40px;}
}
@media screen and (max-width:600px) {
	.flex-container.-break-sp {display:block;}
	.flex-container.-break-sp .flex-item:not(:last-child) {margin-bottom:40px;}
}

.flex-item {margin:0; flex-basis:48%; flex-shrink:1; padding:0; flex:0 1 auto; flex-grow:0;}
.flex-item.-fb-20 {flex-basis:20%;}
.flex-item.-fb-25 {flex-basis:25%;}
.flex-item.-fb-30 {flex-basis:30%;}
.flex-item.-fb-35 {flex-basis:35%;}
.flex-item.-fb-40 {flex-basis:40%;}
.flex-item.-fb-45 {flex-basis:45%;}
.flex-item.-fb-50 {flex-basis:50%;}
.flex-item.-fb-55 {flex-basis:55%;}
.flex-item.-fb-60 {flex-basis:60%;}
.flex-item.-fb-65 {flex-basis:65%;}
.flex-item.-fb-70 {flex-basis:70%;}
.flex-item.-fb-75 {flex-basis:75%;}

[data-inview="text-wipe"] {opacity:0; --clip-path:inset(100% 0 0 0); clip-path:var(--clip-path); transition:clip-path .75s,opacity .75s; -webkit-clip-path:var(--clip-path);}
[data-inview="text-wipe"].is-inview {opacity:1; --clip-path:inset(0 0 0 0); clip-path:var(--clip-path); -webkit-clip-path:var(--clip-path);}
[data-inview="fade-in"] {opacity:0; transform:translate(0,16px); transition:transform .75s,opacity .75s!important;}
[data-inview="fade-in"].is-inview {opacity:1; transform:translate(0,0);}
[data-inview="fade-in-left"] {opacity:0; transform:translate(-16px,0); transition:transform .75s,opacity .75s;}
[data-inview="fade-in-left"].is-inview {opacity:1; transform:translate(0,0);}
[data-inview="fade-in-right"] {opacity:0; transform:translate(16px,0); transition:transform .75s,opacity .75s;}
[data-inview="fade-in-right"].is-inview {opacity:1; transform:translate(0,0);}
[data-inview="fadein-item-container"] > [data-inview="fadein-item"] {opacity:0; transform:translate(0,16px); transition:opacity .75s var(--inview-delay,0s),transform .75s var(--inview-delay,0s);}
[data-inview="fadein-item-container"].is-inview > [data-inview="fadein-item"] {opacity:1; transform:translate(0,0);}
[data-inview="fadein-item-container"] > [data-inview="fadein-item"]:nth-of-type(1) {--inview-delay:0s;}
[data-inview="fadein-item-container"] > [data-inview="fadein-item"]:nth-of-type(2) {--inview-delay:.125s;}
[data-inview="fadein-item-container"] > [data-inview="fadein-item"]:nth-of-type(3) {--inview-delay:.25s;}
[data-inview="fadein-item-container"] > [data-inview="fadein-item"]:nth-of-type(4) {--inview-delay:.375s;}
[data-inview="fadein-item-container"] > [data-inview="fadein-item"]:nth-of-type(5) {--inview-delay:.5s;}
[data-inview="fadein-item-container"] > [data-inview="fadein-item"]:nth-of-type(6) {--inview-delay:.625s;}
[data-inview="fadein-item-container"] > [data-inview="fadein-item"]:nth-of-type(7) {--inview-delay:.75s;}
[data-inview="fadein-item-container"] > [data-inview="fadein-item"]:nth-of-type(8) {--inview-delay:.875s;}

/* 2025用更新 20241115 */
/* 背景の青を消してます */
.constitution-box.for-2025{
  background: transparent;
  box-shadow: none;
  .figure{
    width: 101.5%;
    margin: 0px 0px 0 -9px;
    @media screen and (max-width:1024px) {
      margin: 0 auto;
      width: 100%;
    }
  }
}