@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');
@charset 'utf-8';:root {
  --black: #343434;
  --white: #ffffff;
  --red: #E60000;
  --font: 1440;
  --width: 1180px;
  --spwidth:900;
  --max-width: 10000
}
/*
font-family: "Montserrat", sans-serif;
font-family: "Noto Sans JP", sans-serif;
font-family: "Noto Serif JP", serif;
font-family: "Libre Caslon Text", serif;
 font-family: "Zen Antique Soft", serif;
*/

*{box-sizing: border-box;}
html{}
body{line-height:1.6;background:var(--white);color:var(--black);font-size:/*clamp(0.1rem, calc(18 / var(--font) * 100vw), 27px)*/;font-family: "Montserrat","Noto Sans JP",serif;font-weight: 500;font-feature-settings : "palt";letter-spacing: 0.1em;}
section,.mv{/*max-width: 2160px*/;margin: 0 auto;}
a{text-decoration: none;color:inherit;}

a:visited{color: ;}
a:hover{text-decoration:  underline;}
ul,ol,dl{margin: 0;padding: 0;list-style-type: none;}
li,dd,td,th{margin: 0;padding: 0;line-height: 1.8;word-break: break-all;text-align: justify;box-sizing: border-box;}
figure{margin: 0;}
img{display: block;max-width: 100%;width: 100%;}
figure img{max-width: 100%;}
p{line-height: 1.8;    word-break: break-all;text-align: justify;}
h1,h2,h3{margin: 0;}

.hidden{display:none;}
.sep{display:flex;}
.one{display:block;}
div.inner{max-width: var(--width);margin: 0 auto;}
div.ttl {align-items: center;display: flex;}
div.ttl h2{font-size:1.1em;white-space: nowrap;}
div.ttl span{font-size:3em;margin-right: 0.5em;    font-weight: 700;text-transform: uppercase;}
div.ttl:after{content:"";width: 100%;height: 1px;border-bottom: 1px solid #ccc;margin-left:1em;}



/**ヘッダ********************/
header {box-shadow: 0 0.15em 0.5em #eee;}
header .inner{display:flex;align-items: center;}
header h1{width: 6em;padding: 0.5em  0.5em  0.5em 0;margin-right: 1em;}
header nav{}
header nav ol{display:flex;}
header nav ol li{margin-right: 2em;position:relative}
header nav ol li a{padding: 2.2em 0;}

/*== 2・3階層目の共通設定 */

nav li.has-child ol{box-shadow:0 0.15em 0.5em #66666650;display:block;position: absolute;left:-1em;top:3.3em;z-index: 4;background:var(--white);width:20em;visibility: hidden;opacity: 0;transition: all .3s;border: 1px solid #eee;}
nav li.has-child ol li {border-bottom:0.1em solid #eee;margin: 0;}
nav li.has-child ol li a{transition: .3s;margin:0; display: block;padding: 1.5em;}
nav li.has-child ol li a:not([href]){color: #ccc;}
nav li.has-child ol li a:hover{background: var(--black);}
nav li.has-child ol li a:not([href]):hover{background:inherit;color: #ccc;cursor:default;}
nav li.has-child ol li a:after {transition:.3s;content: '';display: inline-block;vertical-align: middle;color: var(--black);line-height: 1;position: relative;width: 0.7em;height: 0.1em;background: currentColor;position: absolute;top: 0;bottom: 0;margin: auto;right: 2em;}
nav li.has-child ol li a:before {transition:.3s;content: '';width: 0.5em;height: 0.5em;border: 0.1em solid var(--black);border-left: 0;border-bottom: 0;transform: rotate(45deg);transform-origin: top right;position: absolute;top: 50%;right: 2em;box-sizing: border-box;}
nav li.has-child ol li a:not([href]):after {color:  #ccc;}
nav li.has-child ol li a:not([href]):before {border: 0.1em solid #ccc;border-left: 0;border-bottom: 0;}
nav li.has-child ol li a:hover{background: var(--black);color:var(--white);text-decoration: none;}
nav li.has-child ol li a:hover:before,
nav li.has-child ol li a:hover:after{right:1em;border-color:var(--white);color:var(--white)}
nav li.has-child ol li a:not([href]):hover:before,
nav li.has-child ol li a:not([href]):hover:after{right:2em;border-color:inherit;color:inherit}

nav li.has-child ol.type2{width:40em;flex-wrap: wrap;display:flex;}
nav li.has-child ol.type2 li{width:50%;}

/*hoverしたら表示*/
nav li.has-child:hover > ol,
nav li.has-child ol li:hover > ol,
nav li.has-child:active > ol,
nav li.has-child ol li:active > ol{
  visibility: visible;
  opacity: 1;
}






header div{margin-left: auto;display:flex;}
header div:first-child{}
header div ul{display:flex;margin-left: auto;align-items: center;}
header div ul.lang{margin-right: 2em;}
header div ul.lang:before{background:url(../img/lang.svg) no-repeat center center;width:1em;height:1em;content:"";background-size:100% auto;margin-right:0.75em;}
header div ul li{margin-right:0.5em;}
header div ul li.active{font-weight:900;color:#FABE00;}
header div a.contact{background: var(--black);color: var(--white);padding: 1em;transition:.3s;}
header div a.contact img{width: 2em;margin: 0 auto;}
header div a.contact span{font-size: 0.6em;}
header div a.contact:hover{text-decoration:none;background: #FABE00;}

/**トップページ********************/
.mainvisual{background:url(../img/mainvisual.jpg) var(--black) center center;background-size:cover;height:30em;display:flex;align-items:center;text-align: center;}
.mainvisual h1{text-shadow: 0px 0px 0.25em #000 ,0px 0px 0.25em #000,0px 0px 0.25em #000;color: #fff;}

section.news{padding: 5em 0;}
section.news ul{width: 100%;margin: 0 auto;}
section.news ul li{border-bottom: 1px solid #ccc;}
section.news ul li a{display: block;display:flex;width: 100%;padding: 1em 1em;}
section.news ul li a:hover{background: var(--black);color: var(--white);text-decoration: none;opacity:.7;}
section.news ul li a[target="_blank"] div span::after { content: ""; width: 0.8em; height: 0.8em;background: url(../img/outlink.svg) no-repeat center center;display: inline-block;margin-left: 0.5em;}
section.news ul li a[target="_blank"]:hover div span::after { content: ""; width: 0.8em; height: 0.8em;background: url(../img/outlinkw.svg) no-repeat center center;display: inline-block;margin-left: 0.5em;}

section.news ul li a >span{width: 10em;}
section.news ul li a >div{width: inherit;}

section.irnews h2{background: #eee; color: var(--black); }
section.irnews h2 span{font-size: 0.7em;padding: 0.5em;}
section.irnews img{width: auto;}

.btn{ border: 1px solid #ccc; padding: 0.5em 2em;display: flex; margin-top: 2em;border-radius: 0.5em;margin-left: auto; width: 15em;justify-content: center;margin-right: 0%;transition:.3s}
.btn:hover{background: var(--black);color:var(--white);text-decoration: none;;}
section.news ol.news_cat {    display: inline;}
section.news ol.news_cat li{ color:#fff;vertical-align: text-bottom;border-radius: 0.25em;font-size:0.6em;padding: 0.1em 0.3em;border:none;display: inline-block;width: 8em;text-align: center;margin: 0 0.25em;}
ol.news_cat li.company-news{background: #d13e4e;}
ol.news_cat li.ir-news{background: #7bdcb5;}
ol.news_cat li.business-news{background: #9b51e0;}

.tab-wrapper{display: flex;gap:0.25%;}
.tab{width:calc((100% - (0.25% * 3)) / 3)}
.tab:not(:last-of-type) {}
input[name="tab-radio"] { display: none;}
.tab-label {display:block;padding:0.5em;;text-align: center;}
.tab-label{background: #eee;color:var(--black); cursor: pointer; transition: .3s;font-size:0.7em;}
.tab-label:hover{opacity: .7;}
.selected .tab-label{background: var(--black);color:var(--white);transition: .3s;}
.tab_news,.tab_business,.tab_ir{display: none;}


section.group{padding: 5em 0;}
section.group ul{display: flex;justify-content: space-between;width: 100%;gap:5%;margin-top: 3em;}
section.group ul li{width: 50%;}
section.group ul li h1{font-size:1em;}
section.group ul li figure{border:0.5em #f5f5f5 solid;margin-bottom:1em;}
section.group ul li a img{transition: .3s;}
section.group ul li a:hover img{scale:1.05;}

section.brand{padding: 5em 0;}
section.brand ul{display: flex;justify-content: flex-start;width: 100%;flex-wrap:wrap;border-left: 0.1em #ccc solid; }
section.brand ul li:nth-child(-n + 4){border-top:  0.1em solid #ccc;}
section.brand ul li{width: 25%;border-bottom:0.1em #cccccc solid;border-right:0.1em #cccccc solid;}
section.brand ul li figure{display: flex;}
section.brand ul li h3{font-size:0.8em;font-weight:normal;text-align: center;}
section.brand ul li a{padding:2em;display:flex;transition: .3s;height: 100%;flex-wrap: wrap;justify-content: center;}
section.brand ul li a:hover{text-decoration: none;background: var(--black);color: var(--white);}
section.brand ul li:hover figure{filter:invert(1)brightness(1)grayscale(1);}

section.corporate{display:flex;justify-content: flex-end;background:var(--black);align-items: center;}
section.corporate > div{color: var(--white);}
section.corporate > div:first-child{width: 30%;max-width: 400px;padding:2em 3em 2em 0;}
section.corporate > div:last-child{width: 60%;}
section.corporate > div:last-child figure{}
section.corporate > div:last-child figure img{object-fit:cover;width:100%;aspect-ratio:1 / 1;height:50vh;max-height: 350px;}
section.corporate > div a{border:1px solid var(--white);padding: 0.5em 1em;background: var(--white);color: var(--black);width: 100%;display: block;transition:.3s;border:1px solid var(--white);position:relative;margin-top: 2em;}
section.corporate > div a:hover{text-decoration:none;background: var(--black);color: var(--white);}
section.corporate > div a:after {transition:.3s;content: '';display: inline-block;vertical-align: middle;color: var(--black);line-height: 1;position: relative;width: 0.7em;height: 0.1em;background: currentColor;position: absolute;top: 0;bottom: 0;margin: auto;right: 2em;}
section.corporate > div a:before {transition:.3s;content: '';width: 0.5em;height: 0.5em;border: 0.1em solid var(--black);border-left: 0;border-bottom: 0;transform: rotate(45deg);transform-origin: top right;position: absolute;top: 50%;right: 2em;box-sizing: border-box;}
section.corporate > div a:hover:before,
section.corporate > div a:hover:after{right:1em;border-color:var(--white);color:var(--white)}

section.recruit{display:flex;justify-content: flex-start;background:var(--black);align-items: center;}
section.recruit > div{color: var(--white);}
section.recruit > div:first-child{width: 30%;max-width: 400px;order:2;padding: 2em 0 2em 3em;}
section.recruit > div:last-child{width: 60%;order:1;}
section.recruit > div:last-child figure{}
section.recruit > div:last-child figure img{object-fit:cover;width:100%;aspect-ratio:1 / 1;height:50vh;max-height: 350px;}
section.recruit > div a{border:1px solid var(--white);padding: 0.5em 1em;background: var(--white);color: var(--black);width: 100%;display: block;transition:.3s;border:1px solid var(--white);position:relative;margin-top: 2em;}
section.recruit > div a:hover{text-decoration:none;background: var(--black);color: var(--white);}
section.recruit > div a:after {transition:.3s;content: '';display: inline-block;vertical-align: middle;color: var(--black);line-height: 1;position: relative;width: 0.7em;height: 0.1em;background: currentColor;position: absolute;top: 0;bottom: 0;margin: auto;right: 2em;}
section.recruit > div a:before {transition:.3s;content: '';width: 0.5em;height: 0.5em;border: 0.1em solid var(--black);border-left: 0;border-bottom: 0;transform: rotate(45deg);transform-origin: top right;position: absolute;top: 50%;right: 2em;box-sizing: border-box;}
section.recruit > div a:hover:before,
section.recruit > div a:hover:after{right:1em;border-color:var(--white);color:var(--white)}

/**フッター********************/
footer{}

.footer_menu{display: flex;background:var(--white);padding: 5em 0;gap:2em}
.footer_menu dl{width: 24.5%;}
.footer_menu dl dt{margin-bottom: 0.5em;font-weight: 700;border-bottom:1px solid var(--black);padding-bottom: 0.5em;}
.footer_menu dl dd{font-size:0.9em}
.footer_menu dl dd a{display:block;position:relative;padding: 0.25em;}
.footer_menu dl dd a:before{transition:0.3s ease;clip-path:inset(0 100% 0 0);content:"";width: 100%;height: 0.1em;display: block; position: absolute; bottom: 0;}
/*.footer_menu dl dd a:hover:before{border-bottom:1px solid #ccc;text-decoration:none;clip-path: inset(0);}
.footer_menu dl dd a:hover{text-decoration: none;}*/
.footer_menu dl dd a:after{transition:.3s;content: "";display: block;width:0.3em;height: 0.3em;position: absolute;right:1em;top: calc(50% - 1px);border-top: solid 1px #666;border-right: #666 solid 1px;transform: rotate(45deg) translateY(-50%);color: inherit;}
.footer_menu dl dd a:hover:after{right:0.5em;}
.footer_menu dl dd a:not([href]){text-decoration:none;color:#ccc;}
.footer_menu dl dd a:not([href]):hover:after{right:1em;}

.footer_copy{background:var(--black);color:var(--white);font-size:0.9em}
.footer_copy >div{display:flex;padding: 2em 0;justify-content: space-between;}
.footer_copy >div ol{display:flex;}
.footer_copy >div ol li a{}
.footer_copy >div ol li:after{content:"｜";margin-right: 1em;margin-left: 1em;}
.footer_copy >div ol li:last-child:after{display: none;}
.footer_copy >div small{}


/**ページ********************/
.pages{}
.pages .ttl{margin:0 0 4em 0;}
.pages article{margin-bottom: 10em;}
.pages ul.menu{display:flex;flex-wrap: wrap;margin-top: 5em;border-left: 1px #ccc solid;}
.pages ul.menu li{width: 33.33%;border-bottom:1px #cccccc solid;border-right:1px #cccccc solid;}
.pages.business ul.menu li{width: 25%;border-bottom:1px #cccccc solid;border-right:1px #cccccc solid;border-top:1px #cccccc solid;}
.pages ul.menu li a{transition:.3s;display: block;}
.pages ul.menu li a p{padding:1em;position:relative;margin: 0;}
.pages.business ul.menu li a p{padding:2em;}
.pages ul.menu li a p:after {transition:.3s;content: '';display: inline-block;vertical-align: middle;color: var(--black);line-height: 1;position: relative;width: 0.7em;height: 0.1em;background: currentColor;position: absolute;top: 0;bottom: 0;margin: auto;right: 2em;}
.pages ul.menu li a p:before {transition:.3s;content: '';width: 0.5em;height: 0.5em;border: 0.1em solid var(--black);border-left: 0;border-bottom: 0;transform: rotate(45deg);transform-origin: top right;position: absolute;top: 50%;right: 2em;box-sizing: border-box;}
.pages ul.menu li a:hover {background: var(--black);color:var(--white);text-decoration: none;}
.pages ul.menu li a:hover p:before,
.pages ul.menu li a:hover p:after{right:1em;border-color:var(--white);color:var(--white)}
.pages:not(.company) ul.menu li img{object-fit: cover;aspect-ratio: 1 / 1;max-height:100px;}


.pages table {width: 100%;}
.pages table tr{}
.pages table th{width: 15em;vertical-align: middle;border-bottom: 1px solid #ccc;padding: 0.5em;}
.pages table td{vertical-align: middle;border-bottom: 1px solid #ccc;padding: 1em 1em;}

.pages a[target="_blank"] span::after { content: ""; width: 0.8em; height: 0.8em;background: url(../img/outlink.svg) no-repeat center center;display: inline-block;margin-left: 0.5em;}
.pages a[target="_blank"]:hover span::after { content: ""; width: 0.8em; height: 0.8em;background: url(../img/outlinkw.svg) no-repeat center center;display: inline-block;margin-left: 0.5em;}
.pages.group a[target="_blank"]:hover span::after {background: url(../img/outlink.svg) no-repeat center center;}
.pages ol.service{display: flex;flex-wrap: wrap;gap:1%;}
.pages ol.service li{border:1px dotted #ccc;width: 24%;text-align: center;margin-bottom: 0.9%;} 
.pages ol.service li a{line-height:1;transition:.3s;text-align: center;padding: 1em 0.5em;display: block;}
.pages ol.service li a figure{width:45%;margin: 0 auto 1em;}
.pages ol.service li a span{display: inline;font-size: 0.6em;}
.pages ol.service li:hover a{text-decoration:none;}
.pages ol.service li:hover{background: var(--black);color:var(--white);text-decoration: none;}
.pages ol.service li:hover figure{filter:invert(1)brightness(1)grayscale(1);}


/**個別ページ********************/
.pages.profile article table th{vertical-align: top;}
.pages.history article table th{border-bottom: 1px solid var(--black);width: 10em;}

.pages.message article .one > div{width: 70%;margin:0 auto;}
.pages.message article .one > div p{margin-top: 0;}
.pages.message article .one > div p.name{text-align: right;margin-top: 2em;}
.pages.message article .one > div p.name span{    font-family: serif;font-size: 1.4em;font-weight:900;}

.pages.philosophy article .sep > div{width: 55%;padding-right: 5%;}
.pages.philosophy article .sep >figure{width: 40%;}
.pages.philosophy article h2{margin-bottom: 1em;}
.pages.philosophy article p{margin-bottom: 2em;}
.pages.philosophy article ol{margin-top: 1em;margin-bottom: 2em;}

.pages.organization article .one > div{width: 50%;margin:0 auto;}

.pages.group article ul:not(.menu){}
.pages.group article ul:not(.menu) li{display:flex;gap:5%;margin-bottom:5em;align-items: top;}
.pages.group article ul:not(.menu) li figure{width: 50%;border:0.5em #f5f5f5 solid;    height: fit-content;}
.pages.group article ul:not(.menu) li div{width: 50%;}


.pages.business article .sep > figure{width: 50%;}
.pages.business.btop article .sep > figure img{box-shadow:none;}
.pages.business article .sep > figure img{/*box-shadow: 0 0.15em 0.5em #eee;*/}
.pages.business article .sep > div{width: 50%;padding-right: 3em;} 
.pages.business.btop article .sep > figure{width: 30%;}
.pages.business.btop article .sep > div{width: 70%;padding-right: 3em;} 
.pages.business article .sep > div h2{margin-bottom: 2em;}
.pages.business article .sep > div ol.service{margin-top: 3em;}
.pages.business dl.target{list-style-type: disc;}
.pages.business dl.target dt{display: flex;white-space: nowrap;align-items: center;margin-bottom: 0.5em;}
.pages.business dl.target dt:after{    content: "";width: 100%; height: 1px;border-bottom: 1px solid #ccc; margin-left: 1em;display: block;}
.pages.business dl.target dd{display:list-item;margin-left: 1.5em;}

/**archive********************/
.archive .news{}
.archive .news ul{width: 100%;margin: 0 auto;}
.archive .news ul li{border-bottom: 1px solid #ccc;}
.archive .news ul li a{display: block;display:flex;width: 100%;padding: 1em 1em;}
.archive .news ul li a:hover{background: var(--black);color: var(--white);text-decoration: none;opacity:.7;}
.archive .news ul li a >span{width: 10em;}
.archive .news ul li a >div{width: inherit;}
.archive .news .btn{ border: 1px solid #ccc; padding: 0.5em 2em;display: flex; margin-top: 2em;border-radius: 0.5em;margin-left: auto; width: 15em;justify-content: center;margin-right: 0%;transition:.3s}
.archive .news .btn:hover{background: var(--black);color:var(--white);text-decoration: none;;}
.archive .news ol.news_cat {    display: inline;}
.archive .news ol.news_cat li{color:#fff;vertical-align: text-bottom;border-radius: 0.25em;font-size:0.6em;padding: 0.1em 0.3em;border:none;display: inline-block;width: 8em;text-align: center;margin: 0 0.25em;}
.archive .news ul li a >span:after{display:none;}


/**single********************/
.single .detail{}
.single .detail > div{width: 80%;margin: 0 auto;}
.single .detail h2{margin-bottom: 2em;}
.single .detail + .return{}


/**パンくず********************/
.breadcrumb ol{display:flex;margin-bottom: 1em;}
.breadcrumb ol li{margin:4em 0 0 0;position:relative;margin-right:2em;font-size:0.8em;}
.breadcrumb ol li:after{content: "";display: block;width:0.3em;height: 0.3em;position: absolute;right:-1em;top: calc(50% - 1px);border-top: solid 1px #ccc;border-right: #ccc solid 1px;transform: rotate(45deg) translateY(-50%);color: inherit;}
.breadcrumb ol li:last-child:after{display:none;}

/*IR*/
/* .ir img{width: auto;} */
.ir a{text-decoration: underline;}
.ir a:hover{text-decoration: none;}
.ir a:has(span),
.ir a:has(div),
.ir a:has(p)  {text-decoration: none;}
.ir a[target="_blank"]:not(:has(img))::after {
  content: "";
  width: 0.8em;
  height: 0.8em;
  background: url(../img/outlink.svg) no-repeat center center;
  display: inline-block;
  margin-left: 0.5em;
}
/**フォーム関連********************/
.contact article,.thanks article{width: 80%;margin: 0 auto;}
.cf7c .required { color: #d00; font-size: .9em; }
.cf7c .cf7c-buttons { display: flex; gap: 0.5em; margin-top: 1rem; justify-content: center;}
.cf7c .cf7c-buttons p{width: 50%;}
.cf7c .cf7c-buttons.confirm { display: flex; gap: 0.5em; margin-top: 1rem; justify-content: center;}
.cf7c .cf7c-buttons.confirm p{width: 75%;display: flex;gap: 0.25em;}
.cf7c .cf7c-buttons.confirm .cf7c-back-btn{width: 100%;}
.cf7c .cf7c-buttons.confirm .wpcf7-submit{    width: 100%;}
.cf7c .cf7c-confirm .cf7c-value {display: block; padding:1em;white-space: pre-wrap;}
.cf7c fieldset{border: none;}
.cf7c-row{display: flex;}
.cf7c-row dt{width: 30%;padding-top: 0.5em;}
.cf7c-row dd{width: 70%;}
.cf7c-row dd p{width: 100%;}
.cf7c-row input:not([type=checkbox]),
.cf7c-row textarea{padding: 1em ;background: #eee;border:none;border-radius: 0.25em;width: 100%;}
.cf7c-name-wrap{display: flex;gap:3%}
.cf7c-privacy{justify-content: center;}
.cf7c-turnstile{justify-content: center;    display: flex;}
.wpcf7-acceptance a{text-decoration: underline;}
.cf7c-buttons button.cf7c-confirm-btn{width:100%;background: #000;color: #fff;padding: 1em;margin: 0 auto;border-radius: 0.25em;border:none;}
.cf7c-buttons button.cf7c-confirm-btn:disabled {background: #eee;color: #999;}
.cf7c-buttons .cf7c-back-btn,
.cf7c-buttons .cf7c-send{background: #000;color: #fff;padding: 1em;margin: 0 auto;border-radius: 0.25em;border:none;}

.wpcf7-spinner{display: none!important;}
.wpcf7 .wpcf7-response-output { display: none !important; }
.wpcf7 .screen-reader-response { display: none !important; }
.wpcf7-not-valid-tip { display: none !important; }
.wpcf7 .ajax-loader { display: none !important; }
.cf7c-buttons button:hover,
.cf7c-buttons input[type="submit"]:hover
{cursor: pointer;}

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

@media (max-width: 900px) {
  .sp{display:block;}
  .pc{display:none;}

  body{font-size:clamp(0.1rem, calc(40 / var(--font) * 100vw), 80px);}
  div.ttl span{font-size:1.8em}

  .breadcrumb ol{display:block;margin-bottom: 1em;padding-top: 4em;}
  .breadcrumb ol li{display: inline;}

  #nav-toggle {position: fixed;top: 0;right:  0;height: 2em;cursor: pointer;z-index: 15;background:var(--black);border-radius: 0em 0 0 4em; width: 5em;height: 5em;}
  #nav-toggle:before{content:"";display: block;width: 2em;height: 2em;background: url(../img/corner.svg) 100% 100%;position: absolute;left: -1.8em;}
  #nav-toggle:after{content:"";display: block;width: 2em;height:2em;background: url(../img/corner.svg) 100% 100%;position: absolute;right: 0;bottom:-1.8em;}
  #nav-toggle > div {position: relative;width: 3em; margin: 0 auto;}
  #nav-toggle span {will-change: transform;width: 75%;margin: 0 auto;height: 1px;left: 0;right: 0;display: block;position: absolute;transition: top .3s ease, -webkit-transform .3s ease-in-out;transition: transform .6s ease-in-out, top .3s ease;transition: transform .3s ease-in-out, top .3s ease, -webkit-transform .3s ease-in-out;}
  #nav-toggle.is-in span {will-change: transform;width: 100%;height: 1px;left: 0;display: block;position: absolute;transition: top .3s ease, -webkit-transform .3s ease-in-out;transition: transform .6s ease-in-out, top .3s ease;transition: transform .3s ease-in-out, top .3s ease, -webkit-transform .3s ease-in-out;}
  #nav-toggle span{background:var(--white);}
  
  #nav-toggle span:nth-child(1) {top: 1.75em;}
  #nav-toggle span:nth-child(2) {top: 2em;}
  #nav-toggle span:nth-child(3) {top: 2.25em;}
  #nav-toggle:hover span:nth-child(1) {top: 1.75em;}
  #nav-toggle:hover span:nth-child(2) {top: 2em;}
  #nav-toggle:hover span:nth-child(3) {top: 2.25em;}

  #gloval-nav {background:var(--black);color: #fff;position: fixed;top: 0;left: 0;right: 0;bottom: 0;z-index: 990;text-align: center;display: flex;visibility: hidden;flex-direction: column;justify-content: center;align-items: center;opacity: 0;transition: opacity .6s ease, visibility .3s ease;}
  #gloval-nav{}

  .open {overflow: hidden;}
  .open #gloval-nav {visibility: visible;opacity: 1;margin:0;z-index: 1;}
  .open #gloval-nav li {will-change: transform;opacity: 1;-webkit-transform: translateX(0); transform: translateX(0);transition: opacity .9s ease, -webkit-transform 0.3s ease;transition: transform 0.3s ease, opacity .9s ease;transition: transform 0.3s ease, opacity .9s ease, -webkit-transform 0.3s ease;}
  .open #gloval-nav li.guide a{font-size: 1.2rem; margin-right: 1em;}
  .open #nav-toggle{z-index:11;}
  .open #nav-toggle span {background: #fff;}
  .open #nav-toggle span:nth-child(1) {will-change: transform;top:  2em;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
  .open #nav-toggle span:nth-child(2) {display:none;}
  .open #nav-toggle span:nth-child(3) {will-change: transform;top: 2em;-webkit-transform: rotate(-45deg);transform: rotate(-45deg);}
  .open nav li.has-child ol{display: flex;visibility:visible;}
  nav li.has-child ol.type2{width: 100%;}
  
  header .inner{display: block;width: 75%;}
  header nav ol{display: block;}
  header h1{width: 8em;}
  nav{padding: 0;}
  
  
  nav ol{display: block;}
  header nav > ol > li > a{display: block;padding: 0.5em 0;font-size: 1.4em;border-bottom: 1px solid #fff;}
  header nav ol li{margin-right: 0;margin-bottom: 2em;} 
  nav li.has-child ol{box-shadow: none;}
  nav li.has-child ol,
  nav li.has-child ol ol{
  display: flex;
  top:0;
  left:0;
  background: none;
  position: relative;
  border:none;
  width:100%;
  visibility:hidden;
  opacity:1;
  flex-wrap: wrap;
  }
  nav li.has-child ol li{width: 50%;} 
  nav li.has-child ol li a:before{border-right: 0.1em solid #fff;border-top: 0.1em solid #fff;right:1em;width: 0.35em;height: 0.35em;}
  nav li.has-child ol li a:after{background:#fff;height: 0.1em;right:1em;width: 0.5em;}
  nav li.has-child ol li a{padding: 0.5em 0.5em 0.5em 0;}
  header div ul.lang:before{filter:brightness(100);}
  header div ul{margin-left: 0;}
  header div a.contact{margin-left: auto;display:flex;align-items: center;background:none;}
  header div a.contact img{margin-right:1em;}

  section.news,
  section.irnews,
  section.group,
  section.brand{margin: 0 5%;}
  .footer_menu.inner{margin: 0 5%;flex-wrap:wrap;justify-content: space-between;}
  .footer_menu.inner dl{width: 48%;}
  .mainvisual h1{font-size: 1.4em;}
  section.news{padding: 5% 0;}
  section.group{padding: 5% 0;}
  section.group ul{flex-wrap:wrap;}
  section.group ul li{width: 100%;margin-bottom: 1em;}
  section.group ul li img{height: 7em; object-fit: cover; aspect-ratio: 1 / 1;}
  section.brand{padding: 5% 0;}
  section.brand ul li{width: 50%;}
  section.brand ul li:nth-child(-n + 4){border-top:none;}
  section.brand ul li:nth-child(-n +2){border-top:0.1em solid #ccc;}
  section.brand ul li a{padding: 2em 1em;}
  section.brand ul li a img{width: 80%;margin: 0 auto 0.5em;}

  section.corporate{width: 100%;flex-wrap:wrap;}
  section.corporate > div:first-child{width: 100%;order:2;display:flex;align-items: center;padding: 1em 5%;    max-width: none;}
  section.corporate > div:last-child{width: 100%;}
  section.corporate > div:last-child figure img{max-height: 150px;}
  section.corporate > div a{width: 50%;margin-left: auto;margin-top: 0;}

  section.recruit{width: 100%;flex-wrap:wrap;}
  section.recruit > div:first-child{width: 100%;order:2;display:flex;align-items: center;padding: 1em 5%;    max-width: none;}
  section.recruit > div:last-child{width: 100%;}
  section.recruit > div:last-child figure img{max-height: 150px;}
  section.recruit > div a{width: 50%;margin-left: auto;margin-top: 0;}

  .footer_copy >div ol{justify-content: center;}
  .footer_copy >div{padding: 2em 5%;display: block;}
  .footer_copy >div small{text-align: center;display: block;}

  /*　CONTACT*/
  .contact article, .thanks article{width: 100%;}
  .cf7c-row{flex-direction: column;}
  .cf7c-row dt{width: 100%;}
  .cf7c-row dd{width: 100%;}
  .cf7c-row.cf7c-privacy p{text-align: center;}
  .cf7c .cf7c-buttons p{width: 100%;}
  .cf7c .cf7c-buttons.confirm p{width: 100%;}
  

  .pages{width: 90%;margin: 0 5%;}
  .pages article{margin-bottom: 5em;}
  .sep{flex-wrap: wrap;}
  .pages table th{width: 8.5em;}
  .pages ul.menu li{width: 50%;}
  .pages:not(.company) ul.menu li img{    max-height: 50px;}
  .pages.organization article .one > div{width: 100%;}
  .pages.message article .one > div{width: 100%;}
  .pages.philosophy article .sep > div{width: 100%;padding: 0;}
  .pages.philosophy article .sep >figure{width: 80%;margin: 0 auto;}
  .pages.group article ul:not(.menu) li{width: 100%;display: block;}
  .pages.group article ul:not(.menu) li figure{width: 100%;margin-bottom: 1em;}
  .pages.group article ul:not(.menu) li div{width: 100%;}

  .pages.business ul.menu li{width: 50%;}
  .pages.business ul.menu li:nth-child(-n + 2){border-bottom: none;}
  .pages.business.btop article .sep > div{width: 100%;padding-right:0;}
  .pages.business.btop article .sep > figure{width: 70%;margin: 0 auto;}
  .pages.business article .sep{flex-wrap: wrap;}
  .pages.business article .sep > div{width: 100%;padding-right:0;}
  .pages.business article .sep > figure{width: 100%;}
  .pages.business dl.target{margin-bottom: 2em;}
  .pages.business article .sep > div ol.service{margin-bottom: 2em;}
  

  .footer_menu{gap:1em}
  .footer_menu dl dd a{padding: 0.25em 1.5em 0.25em 0.25em;}

  .single .detail > div{width: 100%;margin: 0 auto;}



}
