@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100..900&display=swap');

/* ===============================================
Initializr Styles
=============================================== */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#333}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

/* ===============================================
Reset
=============================================== */
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,figure {margin:0; padding:0;}
ul,ol {list-style:none;}

/* ===============================================
Web Font
=============================================== */
/* Noto Sans CJK JP */
@font-face {
	font-family:'NotoSansCJKjp';
	font-style:normal;
	font-weight:400;
	src:local('Noto Sans CJK JP Regular'),
		url(../fonts/NotoSansCJKjp-Regular_sub.woff) format('woff');
}
@font-face {
	font-family:'NotoSansCJKjp';
	font-style:normal;
	font-weight:700;
	src:local('Noto Sans CJK JP Bold'),
		url(../fonts/NotoSansCJKjp-Bold_sub.woff) format('woff');
}

/* Roboto Slab */
@font-face {
	font-family:'RobotoSlab';
	font-style:normal;
	font-weight:700;
	src:local('RobotoSlab Bold'),
		url(../fonts/RobotoSlab-Bold.woff) format('woff');
}
.roboto-slab {font-family: "Roboto Slab", serif;font-optical-sizing: auto;font-weight: 700 !important;font-style: normal;}
.roboto-slab > span {font-family: 'Noto Sans JP', 'NotoSansCJKjp', "Noto Sans CJK JP", sans-serif;}

/* ===============================================
Common Styles
=============================================== */
body {background:#fff; font-size:16px; color:#333; font-family: 'Noto Sans JP', 'NotoSansCJKjp', "Noto Sans CJK JP", sans-serif;}
* {
-webkit-backface-visibility:hidden;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
/* img */
img {max-width:100%; height:auto;}
/* a:link */
a:link {text-decoration:none; color:inherit;}
a:visited {color:inherit;}
a:hover {color:inherit;}
a:active {color:inherit;}
/* color */
.colorWhite {color:#fff !important;}
.colorBlack {color:#555 !important;}
.colorGray {color:#666 !important;}
.colorRed {color:#c00 !important;}
/* background */
.bgClr {background-color:transparent !important;}
.bgWhite {background-color:#fff !important;}
.bgBlack{background-color:#000 !important;}
.bgGray {background-color:#f1f0e9 !important;}
.bgBle{background-color:#d3e6f6 !important;}
/* sup/sub */
sub, sup {font-size:80%; line-height:0; position:relative;}
sup {top:-0.5em;}
sub {bottom:-0.25em;}
/* font-size */
.size30 {font-size:30px !important;}
.size28 {font-size:28px !important;}
.size26 {font-size:26px !important;}
.size24 {font-size:24px !important;}
.size22 {font-size:22px !important;}
.size20 {font-size:20px !important;}
.size18 {font-size:18px !important;}
.size16 {font-size:16px !important;}
.size15 {font-size:15px !important;}
.size14 {font-size:14px !important;}
.size13 {font-size:13px !important;}
.size12 {font-size:12px !important;}
.size11 {font-size:11px !important;}
.size10 {font-size:10px !important;}
/* margin */
.mg0 {margin:0 !important;}
.mt0 {margin-top:0 !important;}
.mb0 {margin-bottom:0 !important;}
.ml0 {margin-left:0 !important;}
.mr0 {margin-right:0 !important;}
/* add margin */
.mt50 {margin-top:50px !important;}
.mt40 {margin-top:40px !important;}
.mt30 {margin-top:30px !important;}
.mt20 {margin-top:20px !important;}
.mt10 {margin-top:10px !important;}
.mt05 {margin-top:5px !important;}
.mb50 {margin-bottom:50px !important;}
.mb40 {margin-bottom:40px !important;}
.mb30 {margin-bottom:30px !important;}
.mb20 {margin-bottom:20px !important;}
.mb10 {margin-bottom:10px !important;}
.mb05 {margin-bottom:5px !important;}
.ml30 {margin-left:30px !important;}
.ml20 {margin-left:20px !important;}
.ml10 {margin-left:10px !important;}
.ml1em{margin-left: 1em !important;}
.mbXL{margin-bottom: 95px !important;}
.mxAuto{margin-left: auto !important; margin-right: auto !important;}
/* padding */
.pd0 {padding:0 !important;}
.pt0 {padding-top:0 !important;}
.pb0 {padding-bottom:0 !important;}
.pl0 {padding-left:0 !important;}
.pr0 {padding-right:0 !important;}
/* add padding */
.pt50 {padding-top:50px !important;}
.pt40 {padding-top:40px !important;}
.pt30 {padding-top:30px !important;}
.pt20 {padding-top:20px !important;}
.pt10 {padding-top:10px !important;}
.pt05 {padding-top:5px !important;}
.pb50 {padding-bottom:50px !important;}
.pb40 {padding-bottom:40px !important;}
.pb30 {padding-bottom:30px !important;}
.pb20 {padding-bottom:20px !important;}
.pb10 {padding-bottom:10px !important;}
.pb05 {padding-bottom:5px !important;}
/* width */
.wAuto {width:auto !important;}
.w100p {width:100% !important;}
.w95p {width:95% !important;}
.w90p {width:90% !important;}
.w85p {width:85% !important;}
.w80p {width:80% !important;}
.w75p {width:75% !important;}
.w70p {width:70% !important;}
.w65p {width:65% !important;}
.w60p {width:60% !important;}
.w55p {width:55% !important;}
.w50p {width:50% !important;}
.w45p {width:45% !important;}
.w40p {width:40% !important;}
.w35p {width:35% !important;}
.w30p {width:30% !important;}
.w25p {width:25% !important;}
.w20p {width:20% !important;}
.w15p {width:15% !important;}
.w10p {width:10% !important;}
.w05p {width:5% !important;}
/* text-align */
.alignL {text-align:left !important;}
.alignC {text-align:center !important;}
.alignR {text-align:right !important;}
/* list-style */
.listDisc {padding-left:1.5em;}
.listDisc > li {list-style:disc;}
.listDecimal {padding-left:2.0em;}
.listDecimal > li {list-style:decimal;}
.listlowerAlpha {padding-left:2.0em;}
.listlowerAlpha > li {list-style:lower-alpha;}
/* notes */
.notes_01 {padding-left:1em; text-indent:-1em !important;}
.notes_01_5 {padding-left:1.5em; text-indent:-1.5em !important;}
.notes_02_5 {padding-left:2.5em; text-indent:-2.5em !important;}
.notes_03 {padding-left:3em; text-indent:-3em !important;}
.notesClr {padding:0; text-indent:0 !important;}
/* float */
.clearB {clear:both !important;}
/* Other */
.clearfix:before,
.clearfix:after {content:" "; display:table;}
.clearfix:after {clear:both;}
.clearfix {*zoom:1;}
::-moz-selection {background:#b3d4fc; text-shadow:none;}
::selection {background:#b3d4fc; text-shadow:none;}
hr {display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0;}
audio,canvas,iframe,img,svg,video {vertical-align:middle;}
fieldset {border:0; margin:0; padding:0;}
textarea {resize:vertical;}
/* display */
/* .viewL-B,.viewL-I,.viewL-Ib {display:none !important;} */
/* .viewM-B,.viewM-I,.viewM-Ib {display:none !important;} */
.viewS-B,.viewS-I,.viewS-Ib {display:none !important;}
/* Form */
input,select {vertical-align:middle;}
input[type="text"],button,textarea {
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
border:none; margin:0; padding:0;
}
select {position:relative; top:-0.1em;}
/* placeholder */
:placeholder-shown {font-weight:normal; color:#bbb;}
::-webkit-input-placeholder {font-weight:normal; color:#bbb;}
:-moz-placeholder {font-weight:normal; color:#bbb;}
::-moz-placeholder {font-weight:normal; color:#bbb;}
:-ms-input-placeholder {font-weight:normal; color:#bbb;}
a label{cursor: pointer;}

/* ===============================================
All Styles (PC Size)
=============================================== */
/* Layout
----------------------------------------------- */
/* ----- common ----- */
#wrapper {position:relative; margin:0 auto; width: 100%; background-color: #f6f6f3;}
.wrap {width:100%; margin:0 auto; max-width:1200px;}
.wrapS{width:100%; margin:0 auto; max-width:980px;}

/* ----- header ----- */
#header {position:sticky; z-index:999; top:0; left:0; width:100%; height:100px; background:#fff; padding:10px 0 10px 50px;}
#header .sitename{font-weight: bold; font-size:16px; color: #00aff0; }
#header .sitename img{margin-right: 10px; width: 200px;}/*width:150px*/
#header .sitename a{display: flex; align-items: center;}
#header .entryBtn{display: flex; justify-content: center; align-items: center; width: 170px; height: 60px; line-height: 1em; font-size:20px; font-weight: bold; color: #fff; background-color: #f05a00; margin:auto; margin-right: 20px; border-radius: 5px; letter-spacing: 2px;}
#menuOpen{background: none; border: none; width: 100px; height: 100px; font-size: 14px;}
#menuOpen span{position: relative; display: block;}
#menuOpen span::before{content: ""; width: 40px; height: 16px; display: block; margin:auto auto 10px; background: no-repeat center center transparent url(../img/icon_menu.png); background-size:contain;}
#menuOpen span::after{content: "MENU";font-family: "Roboto Slab", serif;font-weight: 700;}
#menuOpen:hover{opacity: 0.7;}
#menuOpen.is-close{background:#edf5fa}
#menuOpen.is-close span::before{background-image: url(../img/icon_close.png);}
#menuOpen.is-close span::after{content: "CLOSE";}

/* ----- #bottomMenu ----- */
#bottomMenu{display: none; position: fixed; left: 0; bottom: 0; width: 100%; z-index: 998; position: sticky;}
#bottomMenu a{display: flex; justify-content: center; align-items: center; letter-spacing: 1px; font-size: 12px; color: #fff; background-color: #f05a00; height: 65px; font-weight: bold; border-top: solid 1px #fff;}
#bottomMenu a.bgRbl{background-color: #00aff0;}
#bottomMenu a.bgBle{background-color: #0082f0;}
#bottomMenu a.bgOrg{background-color: #f05a00;}
#bottomMenu a + a{border-left: solid 1px #fff;}

/* ----- #foot_entry ----- */
#foot_entry{padding:100px 0; background: no-repeat #000 center top url(../img/bg_footentry.jpg?241112); background-size: 100%; margin-bottom: 100px;}
/*.is-iOS #foot_entry{background-size: cover; background-position: center top; background-attachment: scroll;}*/
#foot_entry .wrap{background: rgba(255, 255, 255, 0.9); padding:50px 0 50px 85px;}
#foot_entry .title{width: 100%; font-size: 36px; font-weight: 400; margin-bottom: 20px;}
#foot_entry .title span{font-size: 18px; margin-left: 20px;}
#foot_entry .boxL{width: 445px;}
#foot_entry .boxR{width: calc(100% - 445px); text-align: center;}
#foot_entry .recruitList{width: 100%;}
#foot_entry .recruitList > li{}
#foot_entry .recruitList > li + li{margin-top: 5px;}
#foot_entry .recruitList > li .subOpn{width: 100%; display: flex; justify-content: space-between; align-items: center; padding:20px 20px; border: solid 1px #aaa; background: #fff; text-align: left;}
#foot_entry .recruitList > li .subOpn:disabled{background:#cccccc; color: #777777;}
#foot_entry .recruitList > li .subOpn::after{content: "＋"; width: 15px; height: 15px; border:solid 1px #aaaaaa; color: #aaa; line-height: 1em; font-size: 14px;}
#foot_entry .recruitList > li .subOpn.is-open::after{content: "－";}
#foot_entry .recruitList > li .subOpn:disabled::after{content: "現在は募集を行っていません"; background: none; width: auto; height: auto; border:none; color: #777777;}
#foot_entry .recruitList > li .subList{display: none;}
#foot_entry .recruitList > li .subOpn:disabled + .subList{display: none;}
#foot_entry .recruitList > li .subList > li{border: solid 1px #aaa; border-top: none; background: #e3f7ff; font-size: 15px;}
#foot_entry .recruitList > li .subList > li a{padding: 15px 30px; display: flex; align-items: center;}
#foot_entry .recruitList > li .subList > li a::before{content: ""; width: 31px; height: 13px; background: transparent no-repeat center center url(../img/icon_arrow02.png); background-size: contain; margin-right: 10px;}
#foot_entry .boxR .catch{font-size: 24px; font-weight: bold;}
#foot_entry .boxR a{border-radius: 5px; filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.25)); background: #f05a00; color: #fff; width: 345px; height: 110px; display: flex; justify-content: center; align-items: center; margin: 30px auto 0; font-size: 30px; font-weight: bold; position: relative;}
#foot_entry .boxR a::after{content: ""; width: 40px; height: 1px; background-color: #fff; position: absolute; top:50%; right: 0; transform: translateY(-50%);}

/* ----- footer ----- */
#footer{background:#666666; color: #fff;}
#footer .contact{background: #0082f0; padding: 43px 0; line-height: 1em; font-size: 14px;}
#footer .contact h3{font-size: 100%;}
#footer .copy{}
#footer .foot_top{position: relative; background-color: #666;}

/* ----- pageTop ----- */
#pageTop {position:absolute; right:0; bottom:53px; z-index:999; margin-left: auto; width: 110px; height: 30px;}
#pageTop a {display:flex; justify-content: center; align-items: center; width:100%; height:100%; opacity:1; margin-left: auto; line-height: 1em; font-size: 12px; letter-spacing: 0.5px; border-radius: 5px; border:solid 1px #fff;}
#pageTop a:hover {opacity:.7;}
#pageTop a::before{content:""; width: 13px; height: 12px; display: block; margin-right: 5px; background: no-repeat transparent center top url(../img/icon_pagetop.png); background-size: cover;}

/* ----- menu ----- */
.menu01{padding:80px 0 50px;}
.menu01 > li{padding-left: 30px; width: 24%; line-height: 1em;}
.menu01 > li .menuList{font-size: 14px;}
.menu01 > li a{font-weight: bold;}
.menu01 > li .menuList > li + li{margin-top: 19px;}
.menu01 > li .menuList > li:has(.toplink){margin-bottom: 28px;}
.menu01 > li .menuList > li.layer3{padding-left:1em}
.menu01 > li .toplink{font-size: 18px; position: relative; background: transparent;}
.menu01 > li .toplink::before{content: ""; width: 21px; height: 13px; background: no-repeat transparent center center url(../img/icon_arrow.png); background-size: contain; position: absolute; left:-30px; top:8px}
.menu01 > li .toplink span{font-size: 12px; display: block; margin-top: 5px; width: fit-content;}
.menu01 > li .toplink.blank{display: flex;}
.menu01 > li .toplink.blank::after{content: ""; width: 13px; height: 13px; background: no-repeat transparent center center url(../img/icon_blank.png); background-size: contain; top:8px; margin-left: 8px;}
.menu01 > li .toplink.blank::before{top:2px}
.menu01 + .menu01{padding:50px 0; border-top: solid 1px;}
/* #headermenu */
#headermenu{background-color: #edf5fa; color:#333; position: fixed; top:100px; left:0; width: 100%; display: none; z-index: 999;
	.menu01 > li .menuList > li{transform: rotate(0.03deg);}
	.menu01 + .menu01{border-color:#bed3e1;}
	.menu01 > li .toplink::before{filter: brightness(0) saturate(100%) invert(54%) sepia(100%) saturate(2286%) hue-rotate(160deg) brightness(96%) contrast(101%);}
	.menu01 > li .toplink.blank::after{filter: invert(100%);}
}
/* #footer */
#footer{
	.menu01 + .menu01{border-color:#8e8e8e;}
}

/* ----- kvArea ----- */
#kvArea {position:relative;}
#kvArea .kvImg{display: block;}
#kvArea .kvImg img{width:100%}
#kvArea.topkv{background: rgb(61,175,255); background: linear-gradient(0deg, rgba(61,175,255,1) 0%, rgba(168,249,237,1) 100%); height: 480px;}
#kvArea.topkv02{width: 100%; background: #fff; padding:0 0 10px}
#kvArea.topkv02 .slicks{width: 100%; margin:0 auto}
#kvArea.topkv02 .slicks .slickClm{text-align: center;}
#kvArea.topkv02 .slicks .slickClm:nth-child(n + 2){display: none;}
#kvArea.topkv02 .slicks.slick-slider .slickClm:nth-child(n + 2){display: block;}
#kvArea.topkv02 .slicks .slickClm img{max-width: 1080px; margin:0 auto}
#kvArea.topkv02 .slicks .slick-dots{text-align: left; display: flex; flex-wrap: wrap;}
#kvArea.topkv02 .slicks .slick-dots li{width:174px; height: 6px; margin:0;}
#kvArea.topkv02 .slicks .slick-dots li + li{margin-left: 10px;}
#kvArea.topkv02 .slicks .slick-dots li button{width: 100%; height: 100%; border-radius: 0; background-color: #fff; padding: 0; border:solid 1px #00aff0}
#kvArea.topkv02 .slicks .slick-dots li.slick-active button{background-color: #00aff0;}
#kvArea.topkv02 + #topInfo{padding-top: 60px;}

/* ----- panList ----- */
.panList {background:#f6f6f3; width:100%; padding:18px 20px; color:#fff;}
.panList a {color:#333;}
.panList ul {font-size:0; display: flex; justify-content: flex-end;}
.panList li {display:block; font-size:13px; line-height:1; color: #777777;}
.panList li:before {content:"｜"; display:inline-block; margin:0 10px;}
.panList li:first-child:before {display:none;}

/* ----- contents ----- */
#contents {min-height:100vh;}
#contents:not(.sitetop){margin-bottom: 130px; padding: 0 0 130px; background-color: #f6f6f3;}
#contFlexWrap{position: relative;}
#contBoxR{width: calc(100% - 110px); max-width: 1090px; padding-top: 130px;}
#contBoxR .wrapS{margin-left: 0;}
.bgWhite.wrapS{padding: 50px 60px;}

/* ----- page - top ----- */
#topInfo{background: #3dafff; padding:0 0 60px; position: relative; z-index: 4;}
#topInfo .bgWhite{padding:29px 30px 29px 20px; filter: drop-shadow(0 3px 3px rgba(0,0,0,0.3));}
#topInfo .title{font-size: 13px; font-weight: 900; writing-mode: vertical-lr;margin-right: 30px;}/* transform:rotate(180deg);  */
#topInfo .txt{font-size: 20px; padding-left: 18px; text-indent: -18px; }
#topInfo .txt::before{content:""; width: 8px; height: 10px; clip-path: polygon(0 0, 100% 50%, 0 100%); background-color: #00aff0; display: inline-block; margin-right: 10px; transform: translateY(-2px);}
#topInfo .btnPtn02{margin-right: 0; margin-left: 3%; flex-shrink: 0;}
.topsecWrap{position: relative;}
.topsecWrap::after{content: ""; width: 100%; height: 14%; position: absolute; left:0; bottom: 0; background: rgb(163,249,237); background: linear-gradient(-115deg, rgba(163,249,237,1) 10%, rgba(0,204,255,1) 100%);}
.topsec > *{position: relative; z-index: 1;}
.topsec{position: relative; width: 100%; height: 50vw; margin-bottom: -70px; filter: drop-shadow(0 3px 5px rgba(0,0,0,0.25));}
.topsec::before{content: ""; width: 83%; height: 29%; position: absolute; top:0; right:0; z-index:0;}
.topsec .inWrap{width: 100%; height: 100%; overflow: hidden; position: relative; display: flex;}
.topsec.imgL .inWrap{clip-path: polygon(0 0, 100% 29%, 100% 100%, 0 71%);}
.topsec.imgR .inWrap{clip-path: polygon(0 29%, 100% 0, 100% 71%, 0 100%);}
.topsec .boxImg{position: relative; width: 59%; height: 100%;}
.topsec .boxImg picture{display: block; width: 100%; height: 100%;}
.topsec .boxImg picture img{width: 100%; height: 100%; object-fit: contain; object-position: top center;}
.topsec .boxImg .txtBox{position: absolute; top:24%; left:56%; line-height: 1em;}
.topsec .boxImg .txtBox .bgWhite{line-height: 1em; width: fit-content;}
.topsec .boxImg .txtBox .bgWhite + .bgWhite{margin-top: 10px;}
.topsec .boxImg .txtBox .post{padding: 10px 15px; font-size: 18px; font-weight: bold;}
.topsec .boxImg .txtBox .name{padding: 8px 15px; font-size: 27px; font-weight: bold;}
.topsec .boxImg .txtBox .name span{font-size: 16px; margin-left:23px}
.topsec .boxLink{width: 41%; background: #fff; position: relative;}
.topsec .boxLink a{position: absolute; top:52%; display: block; width: fit-content; transform: translateY(-50%);}
.topsec .boxLink .langEn{writing-mode:vertical-lr; width: fit-content; font-size: 60px; font-weight: 400; line-height: 1em; letter-spacing: 2px;}
.topsec .boxLink .langJp{margin-top: 15px; font-size: 16px; font-weight: bold; width: fit-content;}
.topsec .boxLink .langJp::after{content:""; width: 40px; height: 20px; display: block; background: no-repeat transparent center center url(../img/index/top_arrow.png); background-size: contain; margin: 10px 0 0 ;}
#topsec01{z-index:3;}
#topsec01::before{background-color: #3dafff; width: 100%;}
#topsec02{z-index:2;}
#topsec02::before{background: rgb(182,251,238); background: linear-gradient(-90deg, rgba(182,251,238,1) 0%, rgba(81,216,250,1) 50%, rgba(45,176,255,1) 100%); height: 50%; top:-20%; left: 0;}
#topsec03{z-index:1; padding-bottom: 50px; margin-bottom: 0;}
#topsec03::before{ background: rgb(70,247,214); background: linear-gradient(-90deg, rgba(70,247,214,1) 0%, rgba(168,249,237,1) 50%, rgba(103,205,255,1) 100%);  height: 50%; top:-20%}
.topsec.imgL{
	.boxLink .langEn{margin-left: 28px;}
	.boxLink .langJp{margin-left: 28px;}
}
.topsec.imgR{
	.boxImg{order:2;}
	.boxLink a{margin-left: auto; top:55%; right: 0;}
	.boxLink .langEn{margin-left: 1em;}
	.boxLink .langJp{margin-right: 28px;}
	.boxLink .langJp::after{margin-left: auto; margin-right: 0;}
}

/* ----- page - information ----- */
.anchorList{display: flex; flex-wrap: wrap; justify-content: center;gap: 8px; margin:0 0 90px; width: 100%; max-width: 1060px;}
.anchorList > li{width: 200px; background-color: #fff; border-radius: 30px; filter: drop-shadow(0 3px 3px rgba(5, 75, 133, 0.4)); margin-bottom: 10px;}
.anchorList > li:has(.disabled){filter: none;}
.anchorList > li a{display: block; padding:30px 0 10px; text-align: center; font-weight: bold; font-size: 18px;}
.anchorList > li a:has(.tmb){padding-top:0;}
.anchorList > li a.disabled{pointer-events: none;}
.anchorList > li a.disabled:hover{opacity: 1;}
.anchorList > li a::after{content: ""; display: block; margin: 10px auto 0; width: 21px; height: 30px; background: no-repeat transparent center bottom url(../img/icon_arrow03.png); background-size: contain;}
.anchorList > li a.disabled::after{content: "現在は募集をしておりません"; background: none; margin-top: 15px; line-height: 1em; font-size: 11px; width: 100%; height: auto; font-weight: 400;}
.anchorList > li a .tmb{margin-bottom: 18px; height: 200px; display: block; border-radius: 30px 30px 0 0;}
.anchorList > li a .tmb img{width: 100%; height: 100%; object-fit: cover; object-position:center top; border-radius: 30px 30px 0 0;}
.anchorList > li a .tmb.soon{background: #afb4b8; display: flex; justify-content: center; align-items: center; font-weight: 400; font-size: 16px; color: #fff;}
/* .informationClm */
.informationClm{margin-bottom: 100px;}
.informationClm + .informationClm{padding-top: 90px; border-top:solid 2px #00aff0;}
.informationClm .btnBox{margin-top: 50px;}
.informationClm .btnBox [class*=btn] + [class*=btn]{margin-left:20px}
/*.informationClm .notes_01 .mapLink{width: 67px; display: inline-block; margin-left:10px; text-indent: 0;}*/
.informationClm .notes_01 .mapLink{padding:3px 10px; font-size: 13px; letter-spacing: 2px; background-color: #00aff0; width: fit-content; line-height: 13px; text-indent: 0; border-radius: 5px; color: #fff; font-weight: 500; display: inline-block;}
.informationClm .notes_01 .mapLink .icon{height: 10px; width: 8px; margin-right: 7px; display: inline-block; position: relative; top:-1px}
.informationClm .is-close{background-color:#f9eeee; border:solid 1px #efdfdf; padding:25px 5px; width: 100%; font-size: 18px; color: #cc0000; text-align: center;}

/* ----- page - WORK ----- */
.workWrap .workBox{background-color: #eaf3fa; border-radius: 80px 80px 0 0; position: relative; padding: 100px 0 180px;}
.workBox + .workBox{margin-top:-80px}
.workBox:last-child{padding-bottom: 130px;}
.workBox .boxL{max-width: calc(100% - 645px);}
.workBox .boxL .txtBox{line-height: 2em;}
.workBox .boxL .btnBox{background-color: #fff; border:solid 1px #d3e3f0; padding: 15px; margin-top: 30px;}
.workBox .boxL .btnBox a + a{margin-left: 20px;}
.workBox .boxL .btnBox .closeTxt{display: none;}
.workBox .boxL .btnBox.is-close{display: flex; justify-content: center; align-items: center; width: 100%; height: 80px; border: solid 1px #efdfdf; background-color: #f9eeee; color: #cc0000;}
.workBox .boxL .btnBox.is-close .closeTxt{display: block;}
.workBox .boxL .btnBox.is-close a{display: none;}
.workBox .boxR{max-width: 600px; margin-left: 45px; top:10px;}
.workBox .boxR .clm:nth-child(n+2){display: none;}
.workBox .boxR .clm.slick-slide:nth-child(n+2){display: block;}
.workBox .boxR .slick-dots{}
.workBox .boxR .slick-dots li{width:calc(30% - 6px); height: 5px; margin:0;}
.workBox .boxR .slick-dots li + li{margin-left: 10px;}
.workBox .boxR .slick-dots li button{width: 100%; height: 100%; border-radius: 0; background-color: #fff; padding: 3px;}
.workBox .boxR .slick-dots li.slick-active button{background-color: #00aff0;}
.workWrap .workBox:nth-child(2n){background-color: #fff;
	.boxL .btnBox:not(.is-close){background-color: #eaf3fa; border-color: #d3e3f0;}
}

/* ----- page - ABOUT ----- */
.linkBox {padding: 130px 0;}
/* aboutBox */
.aboutBox {margin-top: 130px;}
.aboutBox.wrapS{margin-top: 0; margin-bottom: 130px;}
.aboutBox .flexBox + .flexBox{margin-top: 100px;}
.aboutBox .boxR{max-width: 860px; margin-left: 60px;}
.aboutBox h4{font-size: 22px;font-weight: 400;margin-bottom: 30px;}
.aboutBox .h2Ptn01.sizeL{font-size: 36px;line-height: 1.2;padding-bottom: 20px;}

/* ----- page - ABOUT - message ----- */
/* messageBox */
.messageBox {position: relative;padding: 200px 0 100px;}
.messageBox .imgBox{position: absolute; top: -120px; left: 0;}
.messageBox .txtBox{position: relative; margin-right: 0;margin-left: auto; background: #fff;max-width: 700px;padding: 80px 50px; z-index: 2;line-height: 2;}
.messageBox .txtBox .h3Ptn01{font-size: 28px;font-weight: bold;line-height: 1.5;}
.messageBox .txtBox .president{font-size: 24px; line-height: 1.4;margin-top: 50px;}
.messageBox .txtBox .president span{font-size: 18px;}
.messageBox .profileBox{border: 1px solid rgb(204, 204, 204);background-color: rgb(248, 248, 248);padding: 20px;margin-top: 50px;font-size: 14px;}
/* mvBox */
.mvBox {padding: 100px 0;}
.mvBox .bgWhite{padding: 50px 60px 100px;}
.missionBox {text-align: center;font-size: 24px;line-height: 2;margin-top: 50px;padding: 50px 0; box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.2);margin-bottom: 100px;}
.mvBox .catch{margin-bottom: 50px; text-align: center; font-size: 24px;}
.visionBox + .visionBox{margin-top: 50px;}
.visionList li {border: solid 3px #00aff0;padding: 40px 30px;font-size: 18px;vertical-align: middle;margin-bottom: 20px;}
.visionList li:last-child {margin-bottom: 0;}
.visionList li span{font-size: 22px;color: #00aff0;font-weight: bold;}
.visionList .titleS{font-size: 20px; margin-bottom:10px; display: flex;}
.visionList .titleS .num{display: inline-block; color: #00aff0; margin-right: 5px; font-size: inherit;}

/* ----- parts - modal ----- */
.modalWrap{width: 100vw; height: 100vh; position: fixed; top:0; left:0; background-color: rgba(0, 0 ,0, 0.7); z-index: 1000; display: none;}
.modalWrap > .flexBox{width: 100%; height: 100%;}
.modalCont{width: 80%; max-width: 1000px; max-height: calc(100vh - 100px); margin: auto; position: relative; padding: 30px 15px; overflow: auto;}
.modalCont .modalCls{position: absolute; top:8px; right: 15px; width: 40px; height: 32px; background: no-repeat transparent center center url(../img/icon_close.png); background-size: contain;}
.modalCont .modalHead{padding: 0 10px 5px;}
.modalCont .modalHead .title{font-size: 18px; display: flex; align-items: center;}
.modalCont .modalHead .title::before{content: ""; width: 8px; height: 10px; clip-path: polygon(0 0, 100% 50%, 0 100%); background-color: #00aff0; margin-right:10px}
.modalCont .modalBody{padding:10px 20px 0;}

/* ----- pages - person ----- */
/* ----- page person - index ----- */
.crosstalkIndexList{}
.crosstalkIndexList .clm{display: block; width: 100%;}
.crosstalkIndexList .clm + .clm{margin-top:30px;}
.crosstalkIndexList .clm a{display: flex; border-radius: 20px; overflow: hidden; width: fit-content;}
.crosstalkIndexList .clm .txtBox{width:300px; background: #00aff0; display: flex; flex-direction: column; justify-content: center; padding-left: 40px;}
.crosstalkIndexList .clm .txtBox .title{font-size: 36px; font-family: "Roboto Slab", serif; font-weight: bold; text-align: center; width: fit-content;}
.crosstalkIndexList .clm .txtBox .names{padding:10px 27px 10px 17px; position: relative; width: fit-content; font-size: 20px; font-weight: bold; min-width: 290px; margin-top:30px;}
.crosstalkIndexList .clm .txtBox .names::before, .crosstalkIndexList .clm .txtBox .names::after{content: ""; position: absolute; height: 100%; left:0; clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 100%, 0 100%);}
.crosstalkIndexList .clm .txtBox .names::before{width: calc(100% + 5px); background: #fff100; z-index: 1; top:5px;}
.crosstalkIndexList .clm .txtBox .names::after{width: 100%; background: #fff; z-index: 2; top:0;}
.crosstalkIndexList .clm .txtBox .names span{position: relative; z-index: 5; white-space: nowrap;}
.crosstalkIndexList .clm .tmb{width: calc(100%- 300px); border-radius: 0 20px 20px 0; overflow: hidden;}
.crosstalkIndexList .clm .tmb img{width: 100%;}

/* ----- page person - interview ----- */
#kvArea.subKv02{}
#kvArea.subKv02 .kvImg{}
#kvArea.subKv02 .kvImg img{}
#kvArea.subKv02 .wrap{position: relative;}
#kvArea.subKv02 .nameBox{position: absolute; left:0; bottom:80px; background: rgba(255,255,255,0.9); min-width: 400px; padding:33px 30px}
#kvArea.subKv02 .nameBox .sub{font-size: 20px; font-weight: 400; display: block; margin-bottom: 5px;}
#kvArea.subKv02 .nameBox .name{font-size: 32px; font-weight: bold;}
.wrapFrame.bgBle{}
/*interviewWrap*/
.interviewWrap{position: relative; margin: -50px auto -150px; z-index: 1; background: #fff; padding: 55px 50px 70px;}
.interviewWrap + .interviewWrap{}
.interviewWrap .clmL, .interviewWrap .clm{position: relative;}
.interviewWrap .clmL{}
.interviewWrap .clmL + .clmL{margin-top:75px}
.interviewWrap .clmL .boxL{margin-right:auto ;}
.interviewWrap .clmL .boxR{margin-left: auto;}
.interviewWrap .title{text-align: center; font-size: 48px; font-weight: bold; margin:0 auto 40px; width: fit-content;}
.interviewWrap .clmL .tmb{width: 270px; font-size: 18px; font-weight: bold;}
.interviewWrap .clmL .tmb img{border-radius: 20px;}
.interviewWrap .clmL .tmb figcaption{margin-top:5px}
.interviewWrap .clmL .txt{width: calc(100% - 300px); line-height: 2em; transform: translateY(-8px);}
.interviewWrap .clm2{margin-top: 75px;}
.interviewWrap .clm2 .clmL{width: calc(50% - 35px);}
.interviewWrap .clm2 .clmL .tmb{margin:0 auto 20px;}
.interviewWrap .clm2 .clmL + .clmL{margin-top: 0;}
.interviewWrap .clm + .clm{margin-top: 62px;}
.interviewWrap .clm .boxL{margin-right: auto;}
.interviewWrap .clm .boxR{margin-left: auto;}
.interviewWrap .clm .tmb{font-size: 14px; font-weight: bold; text-align: center; width: 80px;}
.interviewWrap .clm .tmb .sizeL{font-size: 18px;}
.interviewWrap .clm .tmb img{border-radius: 100%;}
.interviewWrap .clm .txt{width: calc(100% - 120px); transform: translateY(-6px); line-height: 2em;}
.interviewWrap .colBle{color: var(--ble) !important;}
.interviewWrap .colGrn{color: var(--grn) !important;}
.interviewWrap .colOrg{color: var(--org) !important;}
.interviewWrap .clm .tmb.colBle img{border-color:var(--ble)}
.interviewWrap .clm .tmb.colGrn img{border-color:var(--grn)}
.interviewWrap .clm .tmb.colOrg img{border-color:var(--org)}
:root{
	--ble:#00aff0;
	--grn:#00953f;
	--org:#ed6d35;
}
.interviewImgL{position: relative; z-index: 0; width: 100%;}
.interviewImgL img{width: 100%;}
.interviewPhotos{display: grid; gap:30px; grid-template-rows:1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr; padding:100px 0;}
.interviewPhotos .photo01{grid-row:1/2; grid-column: 1/3;}
.interviewPhotos .photo02{grid-row:1/3; grid-column: 3/4;}
.interviewPhotos .photo03{grid-row:2/4; grid-column: 1/2;}
.interviewPhotos .photo04{grid-row:2/3; grid-column: 2/3;}
.interviewPhotos .photo05{grid-row:3/4; grid-column: 2/3;}
.interviewPhotos .photo06{grid-row:3/4; grid-column: 3/4;}
.interviewRemarks{padding: 55px; border:solid 3px #00aff0; font-size: 18px; line-height: 2em;}
/*crosstalkList*/
.crosstalkListWrap{padding:90px 0 100px;}
.crosstalkList{display: flex; justify-content: space-between; gap:16px;}
.crosstalkList .clm{width: 25%}
.crosstalkList .clm a{display: block;}
.crosstalkList .tmb{display: block;}
.crosstalkList .txtBox{background: #00aff0; padding:8px 15px 15px;}
.crosstalkList .txtBox .title{color: #fff; font-size: 18.58px; text-align: center; font-weight: bold; margin-bottom:6px;}
.crosstalkList .txtBox .names{position: relative; font-size: 20px; font-weight: bold; width: 257px; text-align: center; max-width: 100%;}
.crosstalkList .txtBox .names.sizeS{font-size: 16px; line-height: 1.2em;}
.crosstalkList .txtBox .names > span{position: relative; z-index: 2; display: flex; justify-content: center; align-items: center; height: 45px;}
.crosstalkList .txtBox .names::before, .crosstalkList .txtBox .names::after{content: ""; position: absolute; clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 100%, 0 100%);}
.crosstalkList .txtBox .names::before{width: calc(100% + 5px); height: 100%; top:5px; left: 0px; background: #fff100; z-index: 0;}/* width: calc(100% + 10px);  left: -5px;*/
.crosstalkList .txtBox .names::after{width: 100%; height: 100%; background: #fff; top:0; left: 0; z-index: 1;}

/* ----- page - name ----- */

/* Contents Parts
----------------------------------------------- */
/* ----- btnPtn ----- */
.btnPtn01{position:relative; display:block; background:#00aff0; padding:15px 40px 15px 19px; color:#fff; font-size:14px; font-weight: bold; border-radius: 5px; position: relative; width: 250px;}
a.btnPtn01{color:#fff;}
.btnPtn01::after{content: ""; width: 24px; height: 11px; position: absolute; top:50%; right: 10px; transform: translateY(-50%); background: transparent no-repeat right center url(../img/icon_arrow.png); background-size: contain; }
.btnPtn01.blank::after{content: ""; width: 13px !important; height: 13px; background: no-repeat transparent center center url(../img/icon_blank.png); background-size: contain; top:15px; margin-left: 5px;}
.btnPtn01.btnBle{background-color: #00aff0;}
.btnPtn01.btnOrg{background-color: #f05a00;}
.btnPtn01.sizeS{font-size: 13px; padding:9px 30px 9px 10px; width: fit-content; line-height: 1em;}
.btnPtn01.sizeS::after{width: 14px; background-size: cover;}
.btnPtn02{border-radius: 5px; filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.25)); background: #f05a00; color: #fff !important; width: 240px; height: 80px; display: flex; justify-content: center; align-items: center; font-size: 30px; font-weight: bold; position: relative; letter-spacing: 4px;}
.btnPtn02::after{content: ""; width: 40px; height: 1px; background-color: #fff; position: absolute; top:50%; right: 0; transform: translateY(-50%);}
[class*=btn]{touch-action: manipulation; -webkit-user-select: none; user-select: none;}

/* ----- hPtn ----- */
.h1Ptn01{display: block; position: relative; height: auto; width: 110px; z-index: 5;}
.h1Ptn01 .title{font-size: 80px; font-weight: 400; line-height: 1em; transform:rotate(90deg)translate(-98px, -80px); transform-origin: left top; display: flex; align-items: baseline; white-space: nowrap;}
.h1Ptn01 .title span{font-weight: bold; font-size: 20px; margin-left: 20px;}
.h1Ptn02{display: block; position: relative;margin: 80px 0 200px;}
.h1Ptn02 .title{font-size: 60px;line-height: 1;font-weight: 400;}
.h1Ptn02 .subTitle {font-size: 30px;line-height: 1; font-weight: 400;margin: 0 0 40px 15px;}
.h1Ptn02 .subTitle span{font-size: 14px;font-weight: bold; margin-left: 10px;}
.h2Ptn01{font-size: 36px; font-weight: 500; width: fit-content; border-bottom: solid 7px #00aff0; padding-bottom: 5px; margin:0 auto 40px;}
.h2Ptn01.sizeL{font-size: 40px; font-weight: bold; padding-bottom: 15px;}
.h2Ptn01.borderS {border: none;}
.h2Ptn01.borderS::after {content: "";background-color: rgb(0, 175, 240);width: 50%; max-width: 260px;height: 7px;display: block;margin: 20px auto 0;}
.h2Ptn01.alignC{position: relative; border-bottom: none; padding-bottom: 19px;}
.h2Ptn01.alignC::after{content: ""; width: 100%; max-width: 259px; height: 7px; background: #00aff0; position: absolute; left:50%; bottom:0; transform: translateX(-50%);}
.h3Ptn01{font-size: 30px; font-weight: 500; margin-bottom: 25px;}
.h3Ptn01::before{content: ""; width: 9px; height: 10px; clip-path: polygon(0 0, 100% 50%, 0 100%); background-color: #00aff0; display: inline-block; margin-right: 13px; position: relative; top: -4px;}
.h3Ptn01.noIcon::before{content: none;}
.h3Ptn02{font-size: 20px; font-weight: bold; margin-bottom: 20px;}
.h3Ptn03{font-size: 48px;font-weight: 500;color: #00aff0;line-height: 1.2;text-align: center;margin-bottom: 50px;}
.h4Ptn01{font-size: 18px; font-weight: bold; margin:0 auto 10px;}
.h4Ptn01 ~ .h4Ptn01{margin-top: 10px;}
.h4Ptn02{font-size: 22px;margin-bottom: 30px;text-decoration:underline;text-decoration-color: #00aff0;text-underline-offset: 10px;text-decoration-thickness: 2px;}

/* ----- tblPtn ----- */
.tblPtn01{background:#fff; width:100%; line-height: 2em;}
.tblPtn01 th, .tblPtn01 td{padding:12px 0 12px 20px; border:solid 1px #cccccc; border-width: 1px 0; vertical-align: top;}
.tblPtn01 th{width:170px; font-weight:bold; text-align: left;}
.tblPtn01 td{width:calc(100% - 170px)}
.tblPtn02{width:100%; line-height: 2em;}
.tblPtn02 th, .tblPtn02 td{padding:20px 30px;font-size: 18px;line-height: 1.2;vertical-align: top;}
.tblPtn02 th{padding-left: 0; font-weight: bold;text-align: right;}
.tblPtn02 td{width:calc(100% - 170px);text-align: left;}

/* ----- hPtn ----- */
.ulPtn01{padding-left: 1em; text-indent: -1em;}
.ulPtn01 .size12, .notes_01 .size12{line-height: 14px;}
.ulPtn02 li + li{margin-top:10px}
.ulPtn03{display: flex; flex-wrap: wrap;}
.ulPtn03 li{margin: 0 10px 10px 0;}
.ulPtn03 li a{display: block; padding: 9px 16px; line-height: 1em; font-weight: bold; border:solid 1px #00aff0; border-radius: 5px; color: #00aff0;}
.ulPtn03 li a span{font-size: 13px;}

/* flex */
.flexBox{display: -webkit-box; display: -ms-flexbox; display:flex; margin:auto;}
[class*=flexBox].wr{-ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;}
[class*=flexBox].sb{justify-content:space-between;}
[class*=flexBox].sa{justify-content:space-around;}
[class*=flexBox].cn{justify-content:center;}
[class*=flexBox].fe{justify-content:flex-end;}
[class*=flexBox].fs{justify-content:flex-start;}
[class*=flexBox].ai-fls{align-items:flex-start;}
[class*=flexBox].ai-cnt{align-items:center;}
[class*=flexBox].ai-end{align-items:flex-end;}
[class*=flexBox].fd-clm{flex-direction:column;}
[class*=flexBox] .shrink0{flex-shrink: 0;}
[class*=flexBox] .order1{order:1;}
[class*=flexBox] .order2{order:2;}
[class*=flexBox] .order3{order:3;}
[class*=flexBox] .clm3 li{width: 33%;}
[class*=flexBox] .gap10{gap: 10px;}
[class*=flexBox] .gap20{gap: 20px;}
[class*=flexBox] .gap30{gap: 30px;}

/* Common Parts
----------------------------------------------- */
/* ----- pre ----- */
.pre:after {content:"\A"; white-space:pre;}
.preRsv:after {content:""; white-space:normal;}

/* ----- Effect ----- */
a,.btnEase {
-moz-transition:all .3s ease;
transition:all .3s ease;
}
a:hover, button:hover {opacity:.7;}


/* ===============================================
Media Queries
=============================================== */
/* ===== Max Size ===== */
@media print, screen and (min-width:1400px) {
	/* ----- page - top ----- */
	.topsec::before{height: 50%; width: 90%;}
	#topsec02::before{height: 80%; top:-40%}
	#topsec03::before{height: 80%; top:-40%}
}
@media print, screen and (max-width:1230px) {
	.wrap {padding-left:15px; padding-right: 15px;}
	/* ----- menu ----- */
	.menu01 + .menu01{padding-left: 15px; padding-right: 15px;}

	/* ----- page - top ----- */
	.topsec .boxImg .txtBox .name span{display: block; margin-left: 0;}

	/* ----- page - WORK ----- */
	.workBox .boxL .btnBox{flex-wrap: nowrap;}
}

/* ===== PC-SP Size 810px-1200px ===== */
@media screen and (max-width:1200px) and (min-width:810px) {
	.interviewPhotos{max-width: calc(100% - 40px);}
	.interviewWrap{max-width: calc(100% - 40px);}
	.crosstalkList .clm{width: calc(25% - 12px);}
}

@media print, screen and (max-width:1100px) {
	/* ----- page - top ----- */
	#footer .copy{width: 100%; margin-top:10px}
	.topsec .boxLink .langEn{font-size: 45px;}
	.topsec.imgR{
		.boxLink .langEn{margin-left: 1.7em;}
	}
	/* ----- page - WORK ----- */
	.workBox .boxL .btnBox{flex-wrap: wrap;}
	.workBox .boxL .btnBox a + a{margin-left: 0; margin-top: 10px;}
}

/* ===== TB(PC) Layout ===== */
@media print, screen and (max-width:999px) {
	#wrapper {}
	.wrap {margin:0 auto;}
}

/* ===== SP Size 0-767px ===== */
@media screen and (max-width:810px) {
	/* Layout
	--------------------------------------------- */
	.mbXL{margin-bottom: 50px !important;}
	/* a:link */
	a:hover {text-decoration:none;}
	/* ----- common ----- */
	#wrapper {width: 100%;}
	.wrap {width:100%; padding:0 10px;}
	.viewS-B {display:block !important;}
	.viewS-I {display:inline !important;}
	.viewS-Ib {display:inline-block !important;}
	.viewL-B,.viewL-I,.viewL-Ib {display:none !important;}
	.viewS-ml0{margin-left: 0 !important;}

	/* ----- header ----- */
	#header {height:50px; padding:10px 0 10px 15px; filter: drop-shadow(0 3px 3px rgba(0, 0,0,0.3));}
	#header .sitename{font-size:10px;}
	#header .sitename img{margin-right: 5px; width: 100px;}/*width:75px*/
	#header .entryBtn{display: none;}
	#menuOpen{width: 57px; height: 50px; font-size: 10px; margin-left: auto;}
	#menuOpen span::before{content: ""; width: 22px; height: 8px; display: block; margin:auto auto 5px; background-image:url(../img/icon_menu_sp.png);}

	/* ----- #bottomMenu ----- */
	#bottomMenu{display: flex; justify-content: flex-end; margin:50px auto;}
	#bottomMenu .w50p{width: 100% !important; border-radius: 10px;}

	/* ----- #foot_entry ----- */
	#foot_entry{padding: 25px 25px; margin-bottom: 50px;}
	#foot_entry .wrap{padding: 20px 25px 40px; max-width: 500px;}
	#foot_entry .title{font-size: 23px;display: flex; flex-wrap: wrap; align-items: center;}
	#foot_entry .title span{font-size: 12px; width: 100%; margin-left: 0;}
	#foot_entry .boxL{width: 100%;}
	#foot_entry .boxR{width: 100%; margin-top: 20px;}
	#foot_entry .recruitList > li .subOpn{padding: 12px 13px; font-size: 15px; min-height: 65px;}
	#foot_entry .recruitList > li .subOpn:disabled{flex-wrap: wrap;}
	#foot_entry .recruitList > li .subOpn::after{font-size: 8px; width: 9px; height: 9px;}
	#foot_entry .recruitList > li .subOpn:disabled::after{font-size: 12px; width: 100%; text-align: left; margin-top: 5px;}
	#foot_entry .recruitList > li .subList > li a{padding: 11px 20px; font-size: 13px;}
	#foot_entry .recruitList > li .subList > li a::before{width: 20px; height: 8px;}
	#foot_entry .boxR .catch{font-size: 18px; width: calc(100% + 40px); margin-left:-20px}
	#foot_entry .boxR a{width: 100%; height: auto; padding:15px 5px; font-size: 20px; margin-top: 20px;}
	#foot_entry .boxR a::after{width: 20px;}

	/* ----- footer ----- */
	#footer{overflow-x: hidden;}
	#footer .contact{padding:50px 25px; line-height: 1.5em;}
	#footer .contact .wrap{padding: 0;}
	#footer .copy{margin-top:50px; font-size: 13px;}
	#footer .foot_top{width: calc(100% - 50px); padding: 0;}

	/* ----- pageTop ----- */
	#pageTop {position: relative; bottom:auto; padding: 25px 0; text-align: center; width: 100%; height: auto; border-top:solid 1px #8e8e8e;}
	#pageTop a{width:120px; height: auto; padding: 5px 0; font-size: 15px; margin:0 auto}
	#pageTop a::before{width: 12px; height: 15px; background-size: contain;}

	/* ----- menu ----- */
	.menu01{padding:50px 0 40px;}
	.menu01 button{text-align: left; background: none; font-weight: bold;}
	.menu01 > li{padding-left: 30px; width: 100%;}
	.menu01 > li + li{margin-top: 20px;}
	.menu01 > li .menuList{font-size: 14px; margin-top: 0;}
	.menu01 > li a{font-weight: bold;}
	.menu01 > li .menuList > li + li{margin-top: 10px;}
	.menu01 > li .menuList > li:has(.toplink){margin-bottom:0; display: block;}
	.menu01 > li .toplink{font-size: 18px; position: relative;}
	.menu01 > li .toplink::before{width: 20px; height: 12px;}
	.menu01 > li .toplink span{font-size: 12px; display: block; margin-top: 5px;}
	.menu01 + .menu01{padding:40px 0;}
	/* #headermenu */
	#headermenu{top:50px; height: calc(100vh - 50px); transform: translateX(100%); display: block; transition: 0.5s; overflow-y: auto; z-index: 1000; padding-bottom: 40px;}
	#headermenu.is-open{transform: translateX(0);}
	#headermenu{
		.menu01{overflow-x: hidden; padding: 30px;}
		.menu01 + .menu01{border-top: none; margin-top: 10px; padding: 0 20px 0 50px;}
		.menu01 > li{padding-left: 0; margin-bottom: 30px;}
		.menu01 > li:last-child{margin-bottom: 0;}
		.menu01 .menuList{width: 100%; background-color: #edf5fa; transition: 0.5s; display: block; height: 100%; z-index: 10;}
		.menu01 > li .menuList{border-bottom: solid 1px #bed3e1;}
		.menuList > li .toplink{font-size: 25px; display: flex; margin-bottom: 25px;}
		.menuList > li .toplink span{font-size: 14px; margin-left:15px}
		.menuList > li .toplink::before{display: none;}
		.menuList > li{margin-left:30px; position: relative;}
		.menuList > li:has(.toplink){margin-left:0;}
		.menuList > li + li{border-top:solid 1px #bed3e1; margin-top: 0;}
		.menuList > li a{padding:15px 24px 15px 0; display: block;}
		.menuList > li a:has(.toplink){padding:0;}
		.menuList > li a::after{content: ""; width: 20px; height: 12px; background: no-repeat right center transparent url(../img/icon_arrow02.png); background-size: cover; position: absolute; top:50%; right:0; transform:translateY(-50%)}
		.menuList > li a:has(.toplink)::after{display: none;}
	}
	#footer .menu01{
		width: 100%;
		> li .menuList > li{display: none;}
		> li .menuList > li:has(.toplink){display: block;}
	}

	/* ----- kvArea ----- */
	#kvArea{margin: 25px auto 50px;}
	#kvArea .kvImg{width: 100%; height: 73vw;}
	#kvArea .kvImg img{width: 100%; height: 100%; object-fit: cover;}
	#kvArea.topkv{height: 65vw; margin: 0;}
	#kvArea.topkv img{width: calc(100% - 40px); margin:auto;}
	#kvArea.topkv02{margin: 0 auto 0; padding: 15px 0 10px;}
	#kvArea.topkv02 .slicks{padding: 0;}
	#kvArea.topkv02 .slicks .slickClm img{max-width: 100%;}
	#kvArea.topkv02 .slicks .slick-dots{position: relative; width: 100%; padding: 0 15px; bottom:auto;}
	#kvArea.topkv02 .slicks .slick-dots li{width: 20%;}
	#kvArea.topkv02 + #topInfo{padding-top: 50px;}

	/* ----- panList ----- */
	.panList {position: absolute; top:50px; padding:8px 10px; z-index: 5;}
	.panList ul{justify-content: flex-start; padding:0; flex-wrap: wrap;}
	.panList li {font-size: 10px;}

	/* ----- contents ----- */
	#contents:not(.sitetop){margin-bottom: 50px; padding:0 0 50px}
	#contFlexWrap{padding: 0 20px;}
	#contBoxR{width: calc(100% - 40px); padding-top: 50px; padding-left: 10px;}
	.bgWhite.bgWhite{padding: 20px;}

	/* ----- page - top ----- */
	#topInfo{padding: 15px 15px 50px;}
	#topInfo .bgWhite{padding:15px 10px 25px 10px; filter: drop-shadow(0 3px 3px rgba(0,0,0,0.3));}
	#topInfo .title{font-size: 9px; writing-mode:horizontal-tb; transform:rotate(0); margin-right: 0; margin-bottom: 5px;}
	#topInfo .txt{font-size: 14px; padding-left: 10px; text-indent: -10px; margin-bottom: 25px;}
	#topInfo .txt::before{width: 4px; height: 5px; margin-right: 5px; transform: translateY(-3px);}
	#topInfo .btnPtn02{margin:0 auto;}
	.topsecWrap::after{}
	.topsec{height: auto; margin-bottom: -6%;}
	.topsec::before{width: 100%;}
	.topsec .inWrap{height: auto; display: block; background-color: #fff; min-height: 127vw;}
	.topsec.imgL .inWrap{clip-path: polygon(0 0, 100% 10%, 100% 100%, 0 90%);}
	.topsec.imgR .inWrap{clip-path: polygon(0 10%, 100% 0, 100% 90%, 0 100%);}
	.topsec .boxImg{width: 100%; z-index: 2; aspect-ratio: 75/56;}
	.topsec .boxImg .txtBox{}
	.topsec .boxImg .txtBox .post{font-size: 14px; padding: 5px 9px;}
	.topsec .boxImg .txtBox .name{font-size: 20px; padding: 10px 10px 7px;}
	.topsec .boxImg .txtBox .name span{font-size: 12px; display: block; margin-left: 0;}
	.topsec .boxLink{width: 100%; padding: 0 20px 0; z-index: 1;}
	.topsec .boxLink a{margin-top: 0; position: relative; top:auto; transform: translateY(0);}
	.topsec .boxLink .langEn{writing-mode: horizontal-tb; font-size: 40px; margin-left: 0 !important}
	.topsec .boxLink .langJp{font-size: 14px; margin-top: 10px;}
	.topsec .boxLink .langJp::after{width: 43px; height: 23px; margin-top: 13px;}
	#topsec02::before{background: rgb(182,251,238); background: linear-gradient(-90deg, rgba(182,251,238,1) 0%, rgba(81,216,250,1) 50%, rgba(45,176,255,1) 100%);}
	#topsec03::before{background: rgb(70,247,214); background: linear-gradient(-90deg, rgba(70,247,214,1) 0%, rgba(168,249,237,1) 50%, rgba(103,205,255,1) 100%); }
	.topsec.imgL{
		.inWrap .boxImg{clip-path: polygon(0 0, 100% 0, 100% 100%, 0 82%);}
		.boxLink .langJp{margin-left: 0;}
	}
	.topsec.imgR{
		.inWrap .boxImg{clip-path: polygon(0 0, 100% 0, 100% 82%, 0 100%);}
		.boxLink .langJp{margin-right: 0; margin-left: auto;}
		.boxLink a{right: auto; top: auto;}
	}

	/* ----- page - information ----- */
	.anchorList{margin-bottom: 50px;gap: 10px;justify-content: flex-start;}
	.anchorList > li{width: calc(100% / 2 - 10px);font-size: 14px; border-radius: 10px; margin-bottom: 0;}
	.anchorList > li:nth-child(n + 3){margin-top:15px}
	.anchorList > li a:has(.tmb){}
	.anchorList > li a{padding:15px 5px 10px; font-size: 14px;}
	.anchorList > li a::after{width: 15px; height: 18px;}
	.anchorList > li a.disabled::after{white-space: pre; content: "現在は募集を\Aしておりません"; margin-top:5px; line-height: 1.2em;}
	.anchorList > li a .tmb{margin-bottom: 10px; height: auto; width: calc(100% + 10px); transform: translateX(-5px); aspect-ratio: 1/1; border-radius: 10px 10px 0 0; border-radius: 10px 10px 0 0;}/* aspect-ratio: 1/0.8; */
	.anchorList > li a .tmb img{border-radius: 10px 10px 0 0;}
	/* .informationClm */
	.informationClm{margin-bottom: 50px;}
	.informationClm + .informationClm{padding-top: 50px;}
	.informationClm .btnBox{margin-top: 25px;}
	.informationClm .btnBox [class*=btn] + [class*=btn]{margin-left:0;}

	/* ----- page - WORK ----- */
	.workWrap .workBox{border-radius: 40px 40px 0 0; padding: 20px 0 150px;}
	.workBox + .workBox{margin-top:-40px}
	.workBox:last-child{padding-bottom: 120px;}
	.workBox .boxL{max-width: 100%; width: 100%; padding: 0 10px;}
	.workBox .boxL .btnBox{flex-wrap: wrap;}
	.workBox .boxL .btnBox a + a{margin:0}
	.workBox .boxR{width: calc(100% - 20px); margin: 0 auto 30px; border-radius: 20px; overflow: hidden; top:0;}
	.workBox .boxR .slick-dots{width: 90%; left:5%}

	/* ----- page - ABOUT ----- */
    .linkBox.bgWhite {padding: 50px 0;}
    /* aboutBox */
    .aboutBox {margin-top: 50px;}
    .aboutBox.wrapS{margin-top: 0; margin-bottom: 50px;}
    .aboutBox .flexBox + .flexBox {margin-top: 50px;}
    .aboutBox .boxL {margin: auto;}
    .aboutBox .boxR {margin: 0;}
    .aboutBox h4 {margin-bottom: 20px;}
    .aboutBox .h2Ptn01.sizeL {font-size: 28px;padding-bottom: 10px;margin-bottom: 20px;}

    /* ----- page - ABOUT - message ----- */
    /* messageBox */
    .messageBox {position: relative;padding: 0 0 50px; overflow: hidden;}
    .messageBox .imgBox{position: relative; top: 0; left: 0;  margin: 0 calc(50% - 50vw);width: 100vw;}
    .messageBox .txtBox{margin: 0 auto; padding: 20px 20px 50px;}
    .messageBox .txtBox .h3Ptn01{font-size: 24px;}
    .messageBox .txtBox .president{font-size: 20px;}
    .messageBox .txtBox .president span{font-size: 16px;}
    .messageBox .profileBox{padding: 10px;margin-top: 30px;}
    /* mvBox */
    .mvBox {padding: 50px 0;}
    .mvBox .bgWhite{padding: 20px 20px 50px;}
    .mvBox .h2Ptn01{text-align: center;}
    .missionBox {font-size: 16px;line-height: 2;margin-top: 30px;padding: 30px 10px;margin-bottom: 50px;text-align: left;}
	.mvBox .catch{margin-bottom: 30px; font-size: 18px;}
    .visionList li {padding: 20px;font-size: 14px;}
    .visionList li span{font-size: 16px;color: #00aff0;font-weight: bold;}

	/* ----- parts - modal ----- */
	.modalCont{padding: 20px 5px; width: 95%;}
	.modalCont .modalCls{width: 30px; height: 30px;}
	.modalCont .modalHead{padding: 0 0 5px;}
	.modalCont .modalBody{padding: 10px 10px 0;}

	/* ----- pages person ----- */
	/* ----- page person - index ----- */
	.crosstalkIndexList .clm a{flex-wrap: wrap;}
	.crosstalkIndexList .clm .txtBox{padding: 10px 0 10px 14px; width: 100%;}
	.crosstalkIndexList .clm .txtBox .title{font-size: 28px;}
	.crosstalkIndexList .clm .txtBox .title br{display: none;}
	.crosstalkIndexList .clm .txtBox .names{font-size: 14px; min-width: 0; padding-left:10px; padding-right: 24px; margin:10px auto 0 0; max-width: calc(100% - 5px); align-self: flex-end; min-width: 60%;}/* margin:10px 5px 0 auto; */
	.crosstalkIndexList .clm .txtBox .names span{white-space: inherit;}

	/* ----- page person - interview ----- */
	#kvArea.subKv02{margin-bottom: 0;}
	#kvArea.subKv02 .wrap{padding: 0;}
	#kvArea.subKv02 .nameBox{position: relative; bottom: auto; left:0; width: 100%; min-width: 0;}
	.wrapFrame.bgBle{padding:50px 0;}
	.interviewWrap{margin:0 auto; padding:50px 20px}
	.interviewWrap .title{font-size: 26px; text-align: left;}
	.interviewWrap .clmL .boxL, .interviewWrap .clmL .boxR{margin:auto;}
	.interviewWrap .clmL .tmb{margin-bottom: 20px; max-width: 100%;}
	.interviewWrap .clmL .txt{width: 100%;}
	.interviewWrap .clm .tmb{width: 60px;}
	.interviewWrap .clm .txt{width: calc(100% - 80px);}
	.interviewPhotos{gap:8px; padding:50px 20px;}
	.interviewWrap .clm2 .clmL{width: 100%;}
	.interviewWrap .clm2 .clmL + .clmL{margin-top: 75px;}
	.interviewRemarks{padding:30px 25px; max-width: calc(100% - 40px);}
	/* .crosstalkList */
	.crosstalkListWrap.bgWhite{padding: 50px 0 50px;}
	.crosstalkList{flex-wrap: wrap; }
	.crosstalkList .clm{width: calc(50% - 8px);}
	.crosstalkList .tmb{width: 100%;}
	.crosstalkList .tmb img{width: 100%;}
	.crosstalkList .txtBox{padding:8px 10px 15px}
	.crosstalkList .txtBox .title{font-size: 14px;}
	.crosstalkList .txtBox .names{width: 100%; margin:auto; font-size: 16px;}
	.crosstalkList .txtBox .names.sizeS, .crosstalkList .txtBox .names.viewS-sizeS{font-size: 14px;}

	/* ----- page - name ----- */

	/* Contents Parts
	----------------------------------------------- */
	/* ----- btnPtn ----- */
	.btnPtn01{width:100%; padding:15px; margin-bottom:10px;}
	.btnPtn02{width: 100%; max-width: 170px; height: 40px; font-size: 15px; letter-spacing: 1px;}
	.btnPtn02::after{width: 20px;}

	/* ----- hPtn ----- */
	.h1Ptn01{width: 40px;}
	.h1Ptn01 .title{font-size: 40px; transform: rotate(90deg)translate(-120px, -46px);}
	.h1Ptn01 .title span{font-size: 12px; margin-left: 15px;}
	.h1Ptn02{margin: 50px 0;}
    .h1Ptn02 .title{font-size: 36px;}
    .h1Ptn02 .subTitle {font-size: 20px;margin: 0 0 10px 5px;}
    .h1Ptn02 .subTitle span{font-size: 12px;margin-left: 5px;}
	.h2Ptn01{font-size: 24px;}
	.h2Ptn01.sizeL{font-size: 28px; padding-bottom: 10px; margin-bottom: 20px;}
	.h2Ptn01.alignC::after{width: calc(100% - 15px);}
	.h3Ptn01{font-size: 20px; margin-bottom: 20px;}
	.h3Ptn01::before{top: -2px; margin-right: 8px;}
	.h3Ptn02{font-size: 18px;}
	.h3Ptn03 {font-size: 36px;margin-bottom: 30px;}

	/* ----- tblPtn ----- */
	.tblPtn01{display: block;}
	.tblPtn01 th, .tblPtn01 td{display: block; width: 100%; padding:5px 10px; border-bottom-width: 0;}
	.tblPtn01 tr:last-child td{border-bottom-width:1px;}
	.tblPtn01 th{padding:5px 10px 0 5px;}
	.tblPtn01 td{padding:0 10px 5px; border-top-width:0px;}
	.tblPtn02 th, .tblPtn02 td {display: block;width: 100%;padding: 10px 0px;border-bottom-width: 0;font-size: 16px;}
    .tblPtn02 th {text-align: left;padding: 10px 0 5px 0;}
    .tblPtn02 td {padding: 0 0 10px 0;}

	/* flex */
	.flexBox.sp-blck{display:block;}
	.flexBox.sp-fd-clm{flex-direction: column;}
	.flexBox.sp-wr{-ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;}
	.sp-flexBox{display: -webkit-box; display: -ms-flexbox; display:flex;}
	.sp-sb{justify-content: space-between;}
	.sp-cn{justify-content: center;}
	[class*=flexBox] .sp-order1{order:1;}
	[class*=flexBox] .sp-order2{order:2;}
	[class*=flexBox] .sp-order3{order:3;}
	[class*=flexBox] .clm3 li{width: 100%;}


	/* Common Parts
	----------------------------------------------- */
	/* ----- Effect ----- */
	a:hover, button:hover {opacity:1;}
}

/* ===== SP Size 0-400px ===== */
@media screen and (max-width:400px) {
	.crosstalkList .txtBox .names::before, .crosstalkList .txtBox .names::after{clip-path: none;}
}


@media (min-width: 810px) {
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}

/* CSS End
------------------------------------------------------ */
