@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !HTML5 elements
---------------------------------------------------------- */
header, 
footer, 
nav, 
section, 
aside, 
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
  border: none;
}

ul,
ol,
li {
	list-style: none;
}

img {
	max-width: 100%;
    height: auto;
	vertical-align: top;
}

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	cursor: pointer;
}

*,
*:before,
*::after {
	box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
}

body#contact,
body#entry {scroll-behavior: auto !important;}

/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
    font-size: 62.5%;
}

/*** タブレット 768x ~ 1200px***/
@media screen and (min-width: 751px) and (max-width: 1366px) {
    html {
        font-size: calc(100vw / 136.6);
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 750px) {
    html {
        font-size: calc(100vw / 39.3);
    }
}

body {
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    line-height: 1.5;
    font-weight: 400;
    color: #000;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.font_eng{
    font-family: 'Agenda';
    font-weight: 400;
    text-transform: uppercase;
}
/* !Base Fonts -------------------------------------------------------------- */
a {
    color: #000;
    text-decoration: none;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    a {
        transition: all 0.5s;
    }

    a:hover {
        text-decoration: none;
    }

    .op {
        transition: opacity 0.5s ease-out;
    }

    .op:hover {
        opacity: .7;
        text-decoration: none;
    }

    a[href^="tel:"] {
        cursor: default;
        pointer-events:none;
    }
}

.is-hide {
    display: none;
}
@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(3rem);
        transform: translateY(3rem)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(3rem);
        -ms-transform: translateY(3rem);
        transform: translateY(3rem)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}
/* !wrapper
---------------------------------------------------------- */
#contents {
    /*padding-top: 10.4rem;*/
}
.home #contents {
    padding-top: 100dvh;
}
#wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.inner02,
.inner {
    max-width: 136.6rem;
    padding: 0 8rem;
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
.inner02{
    padding: 0 14rem;
}

.anchor_wrap {
  position: relative;
}
.anchor_wrap .anchor {
  position: absolute;
  z-index: -1;
  top: -10.4rem;
}

.wow{
    opacity: 0;
}
.animated{
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
}
/* !header
---------------------------------------------------------- */
#header {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 999;
    width: 100%;
}
.header-inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 4.6rem;
    opacity: 0;
    transition: opacity 1.5s;
}
.header-inner.animated{
    opacity: 1;
}

.header-logo a{
    font-size: 1px;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20.5rem;
    height: 10.4rem;
    background: #fff;
}
.header-logo img {
    width: 13rem;
    transition: opacity .3s;
}
.is_home .header-logo a{
    background: url(../img/common/logo.png)no-repeat center center;
    background-size: 13rem auto;
}
.is_home .header-logo a img{
    opacity: 0;
}

.header-right{
    display: flex;
    align-items: center;
    grid-gap: 2rem;
    background-color: #fff;
    height: 6rem;
    padding: 0 7.7rem 0 1.3rem;
    transition: background .3s;
}
.is_home .header-right{
    background: none;
}
.header_sns{
    display: flex;
    align-items: center;
    grid-gap: 2rem;
    font-size: 1px;
}
.header_sns li{
    width: 3.2rem;
}
.header_sns li+li{
    width: 3.8rem;
}
.header_sns li a{
    display: block;
}
.header-right>.header_sns li a{
    background: url(../img/common/sns_ins.svg)no-repeat center center;
    background-size: 100% auto;
}
.header-right>.header_sns li+li a{
    background: url(../img/common/sns_youtube.svg)no-repeat center center;
    background-size: 100% auto;
}
.header_sns a img{
    transition: opacity .3s;
}
.is_home .header-right>.header_sns a img{
    opacity: 0;
}

.btn-menu{
    position: fixed;/*ボタン内側の基点となるためrelativeを指定*/
    right: 6rem;
    top: 2.2rem;
    z-index: 9999;
    cursor: pointer;
    width: 4.2rem;
    height: 6rem;
}
/*ボタン内側*/
.btn-menu span{
  display: inline-block;
  transition: all .5s;/*アニメーションの設定*/
  position: absolute;
  left: 0;
  height: .2rem;
  width: 4.2rem;
  background: #000;
}
.is_home .btn-menu span{
  background: #fff;
}
.btn-menu span:nth-of-type(1) {
    top: 1.5rem; 
}
.btn-menu span:nth-of-type(2) {
    top: 3rem;
}
.btn-menu span:nth-of-type(3) {
    top: 4.5rem;
}
.is-active.btn-menu span:nth-of-type(1) {
    background: #fff!important;
    transform: translateY(1.5rem) rotate(30deg);
}
.is-active.btn-menu span:nth-of-type(2) {
    opacity: 0;
}
.is-active.btn-menu span:nth-of-type(3) {
    background: #fff!important;
    transform: translateY(-1.5rem) rotate(-30deg);
}

.fixed_area {
    position: fixed;
    z-index: 88;
    right: 4rem;
    bottom: 4rem;
    width: 9.9rem;
    opacity: 0;
    transition: opacity 1.5s;
}
.fixed_area.animated{
    opacity: 1;
}
.fixed_area ul{
    display: grid;
    grid-gap: 1.7rem;
}
.fixed_area ul a{
    display: block;
    background: none;
}
.fixed_area a img{
    width: 100%;
    transition: opacity .3s;
}
.fixed_area ul li[data-fixed-id='requirements'] a{
    background: url(../img/common/btn_fixed01_white.svg)no-repeat center center;
    background-size: 100% auto;
}
.is_home .fixed_area ul li[data-fixed-id='requirements'] a img{
    opacity: 0;
}
/*** hover ***/
@media screen and (min-width: 960px) {}

/* !global navigation
---------------------------------------------------------- */
#g-navi {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100dvh;
    z-index: 110;
    box-sizing: border-box;
    padding: 10rem 14.5rem;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s,right .3s;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    grid-gap: 3rem;

    background: url(../img/common/bg_nav.jpg)no-repeat center center;
    background-size: cover;
}
#g-navi.is-active{
    opacity: 1;
    pointer-events: auto;
}   

#g-navi:before{
    content: '';
    position: absolute;
    left: 1.8rem;
    top: 1.8rem;
    bottom: 1.8rem;
    right: 1.8rem;
    border: 1px solid #fff;
    pointer-events: none;
    z-index: 4;
}
#g-navi:after{
    /*content: '';*/
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: #062F41;
    opacity: .4;
    pointer-events: none;
    z-index: 3;
}

.nav_box{
    width: 100%;
    max-width: 36.2rem;
    position: relative;
    z-index: 9;
}
.nav_list01{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 1.2rem;
    margin-bottom: 1.5rem;
}
.nav_list01 a{
    justify-content: flex-start;
    border: 0;
}
.btn_link01.is_yellow{
    background-color: #B99B6B;
}

.nav_list02{
    padding: 2.5rem 0;
    border-top: 1px solid #fff;
    display: grid;
    grid-gap: 1.8rem;
}
.nav_list02 a{
    display: block;
    font-size: 1.2rem;
    line-height: 1.17;
    font-weight: 300;
    color: #fff;
}
.nav_list02 a .eng{
    font-size: 1.8rem;
    margin-right: 2rem;
    letter-spacing: .08em;
}

#g-navi .header_sns{
    grid-gap: 1.1rem;
}
#g-navi .header_sns li{
    width: 2.6rem;
}
#g-navi .header_sns li+li{
    width: 3.1rem;
}
/*** hover ***/
@media screen and (min-width: 960px) {}


/* !main Visual
---------------------------------------------------------- */
#main-visual {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: -1;
}
.mv_img.img_box{
    padding-top: 0;
    height: 100dvh;
}
.mv_img:before{
    content: '';
    position: absolute;
    left: 1.8rem;
    top: 1.8rem;
    bottom: 1.8rem;
    right: 1.8rem;
    border: 1px solid #fff;
    pointer-events: none;
    z-index: 4;
}
.mv_img:after{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: #062F41;
    opacity: .3;
    pointer-events: none;
    z-index: 3;
}

.mv_logo{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    pointer-events: none;
    z-index: 5;
}
.mv_logo img{
    width: 62.1rem;
}

.mv_cont{
    position: absolute;
    z-index: 5;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    /*max-width: 136.6rem;*/
    padding: 0 8rem 0 6.5rem;
    display: flex;
    justify-content: space-between;
    color: #fff;
}
.mv_cont dt{
    font-size: 4rem;
    font-weight: 600;
}
.mv_cont dt span{
    font-size: 5.2rem;
}
.mv_cont dd{
    font-size: 1.6rem;
    line-height: 2.81;
    font-weight: 500;
    letter-spacing: .08em;
}
/*** hover ***/
@media screen and (min-width: 960px) {}

/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
    position: relative;
    width: 100%;
    padding: 2.5rem 0 4rem;
    padding-top: 12.9rem;
    font-size: 1rem;
    text-align: left;
}

#breadcrumb .inner{
    padding: 0 9.5rem;
}

#breadcrumb ul {
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-start;
  font-weight: bold;
}

#breadcrumb ul li {
  word-break: keep-all;
  white-space: nowrap;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 600;
  position: relative;
  color: #C5CBBE;
}

#breadcrumb ul li + li:before {
  content: '>';
  z-index: 2;
  width: 1.5em;
  text-align: center;
  display: inline-block;
  text-indent: 0;
}

#breadcrumb ul li + li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

#breadcrumb ul li:last-child {
  word-break: break-all;
  white-space: unset;
}

#breadcrumb ul li a{
  text-indent: 0;
  color: #C5CBBE;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    #breadcrumb ul li a:hover{
        text-decoration: underline;
        opacity: 1;
    }

}

/* !teaser
---------------------------------------------------------- */
#teaser {
    position: relative;
}

#teaser .inner{
    padding: 0 9.5rem;
}
#teaser .inner02{
    padding: 0;
    max-width: none;
}

.teaser_hd{
    margin-bottom: .8rem;
    position: relative;
}
.teaser_hd:before{
    content: '';
    position: absolute;
    top: -4rem;
    left: 0;
    width: 100%;
    height: 20rem;
    pointer-events: none;
    background: url(../img/about/logo_teaser.png)no-repeat top center;
    background-size: 12.5rem auto;
}
.teaser_hd_jap{
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: .08em;
}
.teaser_hd_eng{
    font-size: 7.9rem;
    line-height: 1.2;
    letter-spacing: .08em;
}
.scale_img{
  aspect-ratio: 1175/637;
  width: 100%;
  margin: 0 auto;
  background-position: center center;
  background-size: cover;
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/* !page Top
---------------------------------------------------------- */
.page-top {}

/*** hover ***/
@media screen and (min-width: 960px) {}

/* !footer
---------------------------------------------------------- */
.common_contact{
    min-height: 31.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10rem 13rem;
    position: relative;
    z-index: 2;
}
.common_contact .top_works_bg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.common_contact_inner{
    position: relative;
    z-index: 5;
}
.common_contact_btn{
    width: 22rem;
    margin-top: 1.2rem;
}
#footer {

}

.footer-inner {
    padding-top: 2.4rem;
    display: flex;
    justify-content: space-between;
}
.footer_left{
    width: 40rem;
    display: flex;
    grid-gap: 1.9rem;
}
.footer_right{
    width: 65rem;
    padding-top: 2.6rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    grid-gap: 0 1.5rem;
}
.footer_logo{
    width: 19.2rem;
}
.footer_addr{
    margin-top: 3.1rem;
    font-size: 1.3rem;
    line-height: 1.46;
}
.footer_addr p+p{
    margin-top: 1.9rem;
}
.footer_map{
    padding-left: 1.6rem;
    display: inline-block;
    text-decoration: underline;
    background: url(../img/common/icon_map.svg)no-repeat left center ;
    background-size: 1.3rem auto;
}

.footer_right .nav_list01{
    margin: 0;
    display: flex;
}
.footer_right .nav_list01 a{
    padding: 0 3.2rem;
    font-family:  "Noto Sans JP";
    font-weight: 500;
}
/*** 非スマホ 751px ~ ***/
@media screen and (min-width: 751px) {
    .footer_list{
        display: flex;
        grid-gap: 3rem;
        margin: 2rem 0 1.3rem;
    }
    .footer_other a,
    .footer_list a{
        position: relative;
        display: block;
    }
    .footer_other .eng,
    .footer_list .eng{
        transition: opacity .3s;
        font-size: 1.6rem;
        line-height: 1.2;
        letter-spacing: .08em;
    }
    .footer_other .jap,
    .footer_list .jap{
        transition: opacity .3s;
        font-size: 1.3rem;
        font-weight: 500;
        opacity: 0;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
        white-space: nowrap;
    }
    .footer_other a:hover .eng,
    .footer_list a:hover .eng{
        opacity: 0;
    }
    .footer_other a:hover .jap,
    .footer_list a:hover .jap{
        opacity: 1;
    }

}
.footer_other{
    display: flex;
    justify-content: flex-end;
    grid-gap: 1.8rem;
    font-size: 1.4rem;
    letter-spacing: .08em;
}

#copyright {
    text-align: right;
    font-size: 1.3rem;
    font-weight: 300;
    font-family: "Hiragino Kaku Gothic ProN";
    padding-top: 6.5rem;
    padding-bottom: 2.5rem;
}

/*** hover ***/
@media screen and (min-width: 960px) {}

/*common*/
.hd_medium{

}
.hd_medium_eng{
    font-size: 4rem;
    line-height: 1.2;
    line-height: 1;
    letter-spacing: .08em;
    display: block;
}
.hd_medium_jap{
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .08em;
    color: #006467;
}
.is_white .hd_medium_eng,
.is_white .hd_medium_jap{
    color: #fff;
}

.btn_link01{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-transform: uppercase;
    font-family: "Hiragino Kaku Gothic ProN";
    
    width: 100%;    
    height: 4.4rem;
    padding: 0 1.5rem;
    font-size: 1.3rem;
    font-weight: 300;
    border: 1px solid #707070;
    background: #fff;
    transition: all .3s;
}
.link_arrow{
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: .9rem;
    height: .9rem;
    border-radius: 50%;
    background: currentColor;
    /*transition: all .3s;*/
}

.btn_link01.is_white{
    color: #fff;
    border: 1px solid #fff;
    background: transparent;
}
.btn_link01.is_white .link_arrow{
    background: #fff;
}
@media screen and (min-width: 960px) {
    .btn_link01:hover{
        color: #fff;
        background: #000000;
        border-color: #000000;
    }
    .btn_link01:hover .link_arrow,
    a:hover .link_arrow{
        width: 1rem;
        border-radius: 0%;
        background: url(../img/common/arrow_white.svg)no-repeat right center ;
        background-size: 100% auto;
    }

    .btn_link01.is_white:hover{
        color: #fff;
        background: #000000;
        border-color: #000000;
    }
    .btn_link01.is_white:hover .link_arrow{
        background: url(../img/common/arrow_white.svg)no-repeat right center ;
        background-size: 100% auto;
    }
}

.img_box {
    position: relative;
    width: 100%;
    padding-top: 66%;
    overflow: hidden;
}
.img_box img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    object-fit: cover;
    transition: transform .4s ease;
}
@media screen and (min-width: 960px) {
    a:hover .img_box img{
        transform: scale(1.05);
    }
}

/*top*/
.top_wrap{
    background: #fff;
}
.top_sec01{
    padding: 12.8rem 0;
    text-align: center;
}
.top_sec01_logo img{
    width: 24.2rem;
}
.top_sec01_hd{
    font-size: 7.3rem;
    font-weight: bold;
    margin: -2rem 0 9.5rem;
}
.top_sec01_hd span{
    font-size: 9rem;
}
.top_sec01_text p{
    font-size: 2rem;
    line-height: 1.6;
    font-weight: 600;
}
.top_sec01_text p+p{
    margin-top: 3.2rem;
}
.top_sec01_list{
    display: flex;
    justify-content: center;
    grid-gap: 4.5rem;
    margin: 8.5rem 0 9.5rem;
}
.top_sec01_list li{
    width: 15.3rem;
}
.top_sec01_list .text{
    font-size: 2rem;
    font-weight: 600;
    margin-top: 1.8rem;
}
.pin-section {
  overflow: hidden;
  display: flex;
  position: relative;
  justify-content: center;
}
.pin-content {
  display: flex;
  will-change: transform;
  position: relative;
}
.pin-content-1{
  grid-gap: 2.4rem;
}
.pin-content-1 .pin-box {
    width: 37.2rem;
}
.pin-content-1 .pin-box:nth-of-type(even){
    margin-top: 7rem;
}

.common_bottom{
    padding: 6.7rem 0 7.4rem;
}
.top_sec02 .common_bottom{
    padding: 8.6rem 0 11rem;
}
.top_sec02 .common_bottom_text{
    display: none;
}
.common_bottom .inner{
    max-width: 85.2rem;
    padding: 0 5rem;
}
.common_bottom_list{
    display: flex;
    flex-wrap: wrap;
    grid-gap: 2.2rem;
    margin-bottom: 7rem;
}
.common_bottom_list li{
    width: calc(50% - 1.1rem);
}
.common_bottom_list li.big_li{
    width: 100%;
}
.common_bottom_list .btn_link01{
    max-width: none;
    height: 9.8rem;
    flex-direction: column;
}
.common_bottom_list .btn_link01 .jap{
    font-size: 1.2rem;
    font-weight: 600;
    color: #006467;
    letter-spacing: .08em;
    transition: color .3s;
}
.common_bottom_list .btn_link01 .eng{
    font-size: 3.2rem;
    line-height: 1;
    font-weight: 400;
    letter-spacing: .08em;
}
.common_bottom_list .link_arrow{
    width: 1.4rem;
    height: 1.4rem;
    right: 3rem;
}

.common_bottom_list li.big_li .btn_link01{
    color: #fff;
    background: #006467;
}
.common_bottom_list li.big_li .btn_link01 .jap{
    font-size: 1.4rem;
    color: #fff;
}
.common_bottom_list li.big_li .btn_link01 .eng{
    font-size: 4rem;
}
@media screen and (min-width: 960px) {
    .common_bottom_list .btn_link01:hover .link_arrow{
        width: 1.4rem;
    }
    .common_bottom_list .btn_link01:hover .jap{
        color: #fff;
    }
    .common_bottom_list li.big_li .btn_link01:hover{
        background: #000;
        color: #fff;
    }
}

.top_about{
    position: relative;
}
.top_about_box{
    display: flex;
    justify-content: space-between;
}
.top_about_hd{
    width: 40rem;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.top_about_hd .eng{
    font-size: 2.5rem;
}
.top_about_hd .jap{
    font-size: 2.6rem;
    font-weight: bold;
    letter-spacing: .03em;
}
.top_about_cont{
    width: 80rem;
}
.top_about_dl{
    display: flex;
    justify-content: space-between;
}
.top_about_dl dt{
    width: 41rem;
}
.top_about_dl dd{
    width: 33.6rem;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.top_about_text p{
    font-size: 1.6rem;
    line-height: 1.75;
}
.top_about_text p+p{
    margin-top: 1.4rem;
}
.top_about_btn .btn_link01{
    max-width: 100%;
}
.top_about_img01{
    height: 59rem;
}
.top_about_img02{
    height: 14rem;
}
.js_scroll_outer,
.js_scroll_bg,
.img_scroll {
    position: relative;
    overflow: hidden;
}
.js_scroll_bg img,
.js_scroll_inner {
    position: absolute;
    width: 100%;
    height: 120%;
    object-fit: cover;
    bottom: 0;
    left: 0;
}
.js_scroll_bg img{
    height: 100dvh;
}

.scroll_box_img,
#contents,
.pin-section,
.pin-content,
.js_scroll_bg,
.js_scroll_bg img,
.img_scroll,
.js_scroll_outer,
.js_scroll_inner {
  will-change: transform;
  transition: none;
}

.top_introduction{
    padding: 15.5rem 0 14.5rem;
}
.top_introduction .hd_medium_eng{
    display: inline-block;
    margin-right: 1.1rem;
}
.top_introduction_btn{
    position: absolute;
    right: 14rem;
    top: 0;
    width: 25rem;
}
@media screen and (min-width: 751px) {
    .top_introduction_list{
        margin-top: 3.7rem;
        display: grid;
        grid-template-columns: repeat(4,1fr);
        grid-gap: 3.2rem;
    }
}
.top_introduction_list a{
    font-family: "Hiragino Kaku Gothic ProN";
    display: block;
    position: relative;
}
.top_introduction_list .img_box{
    padding-top: 0;
    aspect-ratio: 1 / 1.358;
    transition: transform .3s;
}
.top_introduction_list .img_box img{
    transform: scale(1)!important;
}
.top_introduction_list .text{
    font-size: 2rem;
    font-size: 1.9rem;
    line-height: 1.3;
    font-weight: 600;
    margin-top: 1.5rem;
}
.top_introduction_list .name{
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 1.25;
    letter-spacing: .08em;
    margin-top: .5rem;
}
.top_introduction_list_item:nth-of-type(odd) a:before{
    content: '';
    position: absolute;
    right: -2rem;
    top: -2rem;
    width: 6.6rem;
    height: 9rem;
    background: url(../img/top/before_icon.svg)no-repeat top center;
    background-size: 100% auto;
    z-index: 9;
    opacity: 0;
    transition:  opacity .3s;
}
.top_introduction_list_item:nth-of-type(even) a:after{
    content: '';
    position: absolute;
    right: -1rem;
    top: -2.6rem;
    width: 5rem;
    height: 9rem;
    background: url(../img/top/after_icon.svg)no-repeat top center;
    background-size: 100% auto;
    z-index: 9;
    opacity: 0;
    transition:  opacity .3s;
}
@media screen and (min-width: 960px) {
    .top_introduction_list a:hover .img_box{
        transform: rotate(4deg);
    }
    .top_introduction_list_item:nth-of-type(odd) a:hover:before,
    .top_introduction_list_item:nth-of-type(even) a:hover:after{
        opacity: 1;
    }
}


.top_works{
    padding-bottom: 10rem;
    color: #fff;
}
.top_works_cont{
    min-height: 46.3rem;
    display: flex;
    align-items: center;
    padding: 10rem 13rem;
    margin-bottom: 7rem;
    position: relative;
}
.top_works_cont_inner{
    width: 100%;
    position: relative;
    z-index: 5;
} 
.top_works_text{
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
    margin: 1.7rem 0 1.2rem;
}
.top_works_btn{
    width: 22rem;
}
.top_works_bg{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.pin-content-2{
}
.pin-content-2 .pin-box:nth-of-type(1){
    width: 29.1rem;
    height: 18.3rem;
}
.pin-content-2 .pin-box:nth-of-type(2){
    width: 48.6rem;
    height: 30.6rem;
    margin-top: 22.7rem;
    margin-left: -22.6rem;
}
.pin-content-2 .pin-box:nth-of-type(3){
    width: 32.3rem;
    height: 43.5rem;
    margin-left: 6rem;
}
.pin-content-2 .pin-box:nth-of-type(4){
    width: 21.5rem;
    height: 31.7rem;
    margin-top: 24.9rem;
    margin-left: 5.1rem;
}

.bg01{
    background: url(../img/top/bg_green.jpg)repeat-y center center;
    background-size: 100% auto;
    color: #fff;
    position: relative;
}
.bg02{
    background:
        linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,.5)),
        url(../img/top/bg02.jpeg)repeat-y center center;
    background-size: 100% auto;
    position: relative;
}
.top_ideal{
    padding: 8.5rem 0 0;
}
.top_ideal_list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    grid-gap: 1.4rem;
    margin-top: 4.5rem;
}
.top_ideal_list li{
    width: 29.5rem;
}
.top_ideal_list a{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background: #fff;
    color: #000;
    aspect-ratio: 295 / 194;
}
.top_ideal_list .point{
    position: absolute;
    left: .8rem;
    top: .8rem;
    font-size: 2.5rem;
    line-height: 1.2;
    letter-spacing: .08em;
    opacity: .2;
}
.top_ideal_list .eng{
    font-size: 4rem;
    line-height: 1.2;
    letter-spacing: .08em;
    transition: opacity .3s;
}
.top_ideal_list .jap{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: .08em;
    transition: opacity .3s;
    opacity: 0;
}
.top_ideal_list .icon{
    position: absolute;
    left: 0;
    bottom: 3rem;
    z-index: 1;
    width: 100%;
    height: 4rem;
    transform: translateY(50%);
    background: url(../img/top/icon_hands_black.svg)no-repeat center center;
    background-size: auto 4rem;
    transition: background .3s;
}

.top_ideal_list li:nth-of-type(even) a{
    background: rgba(255,255,255,.4);
    color: #fff;
}
.top_ideal_list li:nth-of-type(even) a .icon{
    background: url(../img/top/icon_hands_white.svg)no-repeat center center;
    background-size: auto 4rem;
}
@media screen and (min-width: 960px) {
    .top_ideal_list a:hover .eng{
        opacity: 0;
    }
    .top_ideal_list a:hover .jap{
        opacity: 1;
    }
    .top_ideal_list a:hover .icon{
        background: url(../img/top/icon_hands_black_hover.svg)no-repeat center center;
        background-size: auto 4rem;
    }
    .top_ideal_list li:nth-of-type(even) a:hover .icon{
        background: url(../img/top/icon_hands_white_hover.svg)no-repeat center center;
        background-size: auto 4rem;
    } 
}

.top_recruitment{
    padding: 11.5rem 0;
}
.top_recruitment_box{
    position: relative;
    min-height: 55.6rem;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}
.top_recruitment_cont{
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    grid-gap: 5rem;
}
.top_recruitment .hd_medium_eng{
    font-size: 5rem;
    line-height: .9;
    letter-spacing: .08em;
}
.top_recruitment_cont dd{
    width: 29.5rem;
}
.top_recruitment_list .btn_link01{
    height: 5rem;
    border: 0;
    padding: 0;
    color: #fff;
    background: none;
    justify-content: flex-start;
    border-bottom: 1px solid #fff;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .08em;
    font-family: inherit;
}
.top_recruitment_list .btn_link01 .link_arrow{
    right: 0;
}
.top_recruitment_img01{
    position: absolute;
    left: 0;
    top: 0;
    width: 39.4rem;
    height: 55.6rem;
}
.top_recruitment_img02{
    position: absolute;
    right: 0;
    top: 0;
    width: 29.5rem;
    height: 19.4rem;
}


.top_blog{
    padding: 9rem 0;
    overflow: hidden;
}
.top_blog .inner{
    padding: 0 0 0 21rem;
}
.top_blog_box{
    position: relative;
    display: flex;
    justify-content: space-between;
}
.top_blog_left{
    width: 33.3rem;
}
.top_blog_right{
    width: calc(100% - 33.3rem + 4rem);
    margin-right: -4rem;
}
.top_blog_btn{
    position: absolute;
    left: 0;
    top: 8.2rem;
    z-index: 1;
    width: 22rem;
}
.top_blog_slider .blog_slider_item{
    width: 26rem;
    max-width: 26rem;
    margin-right: 4rem;
}
.blog_slider_item{
    display: block;
    height: 100%;
    border: 1px solid #000;
    background: #fff;
    position: relative;
}
.blog_slider_item .img_box{
    padding-top: 69.23%;
}
.blog_slider_item .cont{
    padding: 1.5rem 1rem 0;
}
.blog_slider_item .text{
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: .03em;

    min-height: 3em;  
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.blog_slider_item .date{
    margin-top: 1.5rem;
    border-top: 1px solid #707070;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 4.5rem;
    color: #5D5D5D;
    font-size: 1.3rem;
    font-family: "Hiragino Kaku Gothic ProN";
    font-weight: 300;
    position: relative;
}
.blog_slider_item .link_arrow{
    right: 0;
    background: #000;
}
@media screen and (min-width: 960px) {
    .blog_slider_item:hover .link_arrow{
        right: 0;
        background: #000;
        background: url(../img/common/arrow_black.svg)no-repeat right center ;
        background-size: 100% auto;
    }
}


/*about*/
.hd_small{
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
}
.hd_small_eng{
    font-size: 7.1rem;
    line-height: 1.2;
    letter-spacing: .08em;
}
.hd_small_jap{
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: .08em;
    margin-top: -1rem;
}
.common_text,
.common_text p{
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
}
.common_text p+p{
    margin-top: 2.8rem;
}

.about_sec01{
    padding: 12.5rem 0 0;
}
.about_sec01_list{
    margin-top: 3.5rem;
    display: flex;
    flex-wrap: wrap;
    grid-gap: 3.5rem 1.4rem;
}
.about_sec01_list li{
    width: calc(50% - .7rem);
    border: 1px solid #000000;
    border-top: 0;
    background: #fff;
    position: relative;
    text-align: center;
    padding: 4.7rem 3rem 4.5rem;
}
.about_sec01_list li.big_li{
    width: 100%;
    padding: 3.6rem 9.7rem 3.8rem;
}
.about_sec01_list li.is_green{
    border-top: 1px solid #000000;
    background: #006467;
    color: #fff;
    padding: 2rem 9.7rem 2.5rem;
}
.about_sec01_list_eng{
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-50%);
    z-index: 2;
    white-space: nowrap;
    text-align: center;
    width: 100%;
    font-size: 4rem;
    letter-spacing: .08em;
    overflow: hidden;
}
.about_sec01_list_eng span{
    padding: 0 .5rem;
    position: relative;
}
.about_sec01_list_eng span:before,
.about_sec01_list_eng span:after{
    content: '';
    position: absolute;
    left: 100%;
    top: 50%;
    width: 100vw;
    border-bottom: 1px solid #000000;
    z-index: 1;
}
.about_sec01_list_eng span:after{
    left: auto;
    right: 100%;
}
.about_sec01_list_jap{
    font-size: 3rem;
    line-height: 1.5;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #006467;
    margin-bottom: 1.5rem;
}
.about_sec01_list li.big_li .about_sec01_list_jap{
    font-size: 4rem;
    letter-spacing: .03em;
}
.about_sec01_list li.is_green .about_sec01_list_jap{
    color: #fff;
}
.about_sec01_list li.is_green .about_sec01_list_eng{
    position: static;
    transform: none;
}
.about_sec01_list .common_text{
    text-align: left;
    letter-spacing: .05em;
}

.about_sec02{
    padding: 20rem 0 15rem;
}
.number_list01{
  display: grid;
  grid-template-areas: 'a b c' 'd e c';
  grid-gap: 3rem;
}
.number_list01 li:nth-of-type(1){
  grid-area: a;
}
.number_list01 li:nth-of-type(2){
  grid-area: b;
}
.number_list01 li:nth-of-type(3){
  grid-area: c;
}
.number_list01 li:nth-of-type(4){
  grid-area: d;
}
.number_list01 li:nth-of-type(5){
  grid-area: e;
}

.about_sec02_img{
    margin: 3rem 0;
    aspect-ratio: 1088 / 320;
}

.number_list02{
  display: grid;
  grid-template-areas: 'a a b' 'c d e' 'f g e';
  grid-gap: 3rem;
}
.number_list02 li:nth-of-type(1){
  grid-area: a;
}
.number_list02 li:nth-of-type(2){
  grid-area: b;
}
.number_list02 li:nth-of-type(3){
  grid-area: c;
}
.number_list02 li:nth-of-type(4){
  grid-area: d;
}
.number_list02 li:nth-of-type(5){
  grid-area: e;
}
.number_list02 li:nth-of-type(6){
  grid-area: f;
}
.number_list02 li:nth-of-type(7){
  grid-area: g;
}

.number_list03{
  display: grid;
  grid-template-areas: 'a a b' 'c d e';
  grid-gap: 3rem;
}
.number_list03 li:nth-of-type(1){
  grid-area: a;
}
.number_list03 li:nth-of-type(2){
  grid-area: b;
}
.number_list03 li:nth-of-type(3){
  grid-area: c;
}
.number_list03 li:nth-of-type(4){
  grid-area: d;
}
.number_list03 li:nth-of-type(5){
  grid-area: e;
}

.small_font{
    text-transform: lowercase;
}

.about_sec03{
    padding: 8rem 0;
}
.scroll_box {
  display: flex;
  justify-content: space-between;
}
.scroll_box_img {
    width: 53.6rem;
}
.scroll_box_cont {
    width: calc(100% - 53.6rem - 4.5rem);
}
.about_sec03_item{
    margin-top: 6rem;
}
.about_sec03_hd{
    font-size: 4rem;
    font-weight: bold;
    letter-spacing: .03em;
}
.hd_episode{
    margin-bottom: .6rem;
    position: relative;
}
.hd_episode_eng{
    position: absolute;
    z-index: -1;
    opacity: .1;
    color: #006467;
    font-size: 4.3rem;
    line-height: 1.2;
    letter-spacing: .08em;
    left: -1.4rem;
    bottom: .4rem;
}
.hd_episode_jap{
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: .03em;
}
.about_sec03_item .common_text{
    letter-spacing: .05em;
}
.about_sec03_item .common_text font{
    font-weight: bold;
    color: #B99B6B;
}
.about_sec03_name{
    text-align: right;
    margin-top: 4rem;
    font-size: 1.4rem;
}
.about_sec03_name span{
    display: block;
    font-size: 2.5rem;
    font-weight: bold;
}

.about_sec04{
    padding-top: 6.6rem;
}
.about_sec05 .inner,
.about_sec04 .inner{
    padding: 0 21.5rem;
}
.about_sec04 .about_table{
    margin-top: 4rem;
}
.about_table{
    width: 100%;
    border-top: 1px solid #fff;
}
.about_table th,
.about_table td{
    border-bottom: 1px solid #fff;
    font-size: 1.6rem;
    line-height: 2.7rem;
    font-weight: 500;
    padding: 3.2rem 0;
    vertical-align: top;
    text-align: left;
    letter-spacing: .05em;
}
.about_table th{
    width: 27.5rem;
    font-size: 1.8rem;
    font-weight: bold;
}

.about_sec05{
    padding: 8.5rem 0;
}
.about_sec05_dl{
    display: flex;
    justify-content: space-between;
}
.about_sec05_dl dt{
    width: 46rem;
}
.iframe_box {
    position: relative;
    width: 100%;
    aspect-ratio: 460 / 409;
    height: auto;
}
.iframe_box iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.about_sec05_dl dd{
    width: 38.4rem;
}
.about_sec05_place{
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 1rem;
}
.about_sec05_box{
    margin-top: 3.2rem;
    border: 1px solid #fff;
    padding: 2.6rem 2.3rem;
    background: rgba(105,160,162,.5);
    backdrop-filter: blur(1.3rem);
    position: relative;
}
.about_sec05_box:before{
    content: '';
    position: absolute;
    bottom: -1px;
    right: 0;
    width: 3.2rem;
    height: 3.8rem;
    background: url(../img/about/icon_sec05.svg)no-repeat left bottom;
    background-size: auto 100%;
}
.about_sec05_box_hd{
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: .8rem;
}
.common_bottom_text{
    font-size: 3rem;
    font-weight: bold;
    letter-spacing: .03em;
    margin-bottom: 3.8rem;
    text-align: center;
}

/*business*/
.business_wrap{
    position: relative;
    padding: 5rem 0 0;
}
.business_wrap .inner{
    padding: 0 9.5rem;
}
.business_wrap .inner02{
    padding: 0 9.5rem 0 33rem;
    padding: 0 12.2rem 0 33.2rem;
}
.business_wrap>.pin-spacer{
    pointer-events: none;
}
.side_wrap{
    position: absolute;
    z-index: 5;
    left: 0;
    height: 100%;
    width: 100%;
}
.side_wrap .inner{
    padding-top: 1rem;
    padding-bottom: 12rem;
}
.side_hd{
    font-size: 2.5rem;
    line-height: 1.2;
    letter-spacing: .08em;
    font-weight: 600;
    margin-bottom: 1rem;
}
.side_list{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    grid-gap: 2.7rem;
    width: 23.5rem;
    padding-left: 1.8rem;
    pointer-events: auto;
}
.side_list a{
    display: block;
    padding-left: 2.4rem;
    font-size: 1.5rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: .08em;
    position: relative;
}
.side_list a:before{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    top: .75em;
    transform: translateY(-50%);
    z-index: 1;
    width: 1.8rem;
    height: 1.8rem;
    transition: transform .3s;
    background: url(../img/business/arrow_down.svg)no-repeat left center;
    background-size: 1.4rem auto;
}
.side_list a:hover,
.side_list .is_active a{
    color: #B99B6B;
    text-decoration: none;
}
.side_list a:hover:before,
.side_list .is_active a:before{
    transform: translateY(-60%) rotate(-90deg);
    background: url(../img/business/arrow_down_yellow.svg)no-repeat left center;
    background-size: 1.4rem auto;
}

.business_sec01{
    padding-bottom: 9rem;
}
.business_hd{
    font-size: 5.7rem;
    line-height: 1.25;
    font-weight: bold;
}
.business_hd span{
    font-size: 7.1rem;
}
.business_dl01{
    margin-top: 3.3rem;
    display: flex;
    justify-content: space-between;
}
.business_dl01 dt{
    max-width: 50%;
}
.business_dl01 dd{
    min-width: 50%;
    width: 50%;
}
.business_hd_small{
    display: inline-flex;
    flex-direction: column;
}
.business_dl01 .business_hd_small{
    align-items: flex-end;
    text-align: right;
}
.business_hd_small_eng{
    font-size: 9.4rem;
    line-height: 1;
    letter-spacing: .08em;
}
.business_hd_small_jap{
    font-size: 1.7rem;
    font-weight: 600;
    letter-spacing: .13em;
    margin-top: -1rem;
}
.business_text{
    font-size: 2rem;
    line-height: 2.1;
    letter-spacing: .05em;
    font-weight: 500;
}
.business_text font{
    font-weight: bold;
    color: #006467;
}

.business_sec01_img01{
    margin-top: 4rem;
    width: 100%;
    aspect-ratio: 911 / 533;
}
.business_sec01_img02{
    width: 100%;
    aspect-ratio: 483 / 487;
}
.business_sec01_img03{
    display: block;
    width: 84.3%;
    aspect-ratio: 323 / 238;
    margin-left: auto;
}
.business_sec01_img04{
    display: block;
    width: 59%;
    aspect-ratio: 226 / 286;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
}
.business_sec01_dl{
    display: flex;
    justify-content: space-between;
    margin-top: 4rem;
}
.business_sec01_dl dt{
    width: 48.3rem;
}
.business_sec01_dl dd{
    width: 38.8rem;
    position: relative;
}

.business_sec02{
    padding: 8rem 0;
    text-align: center;
}
.head01_eng{
    display: block;
    font-size: 4.9rem;
    letter-spacing: .08em;
    line-height: 1.2;
}
.head01_jap{
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: .08em;
    margin-top: -.8rem;
}
.business_sec02_sub{
    font-size: 3.9rem;
    font-weight: bold;
    line-height: 1.435;
    letter-spacing: .03em;
    color: #006467;
    margin: 2.3rem 0 3rem;
}
.business_sec02_text p{
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .05em;
}
.business_sec02_text p+p{
    margin-top: 3.2rem;
}
.business_sec02_text span{
    font-weight: bold;
}

.business_sec03{
    padding: 7rem 0;
}
.business_sec03_dl{
    display: flex;
    justify-content: space-between;
}
.business_sec03_dl dt{
    width: 36.7rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.business_sec03_dl dd{
    width: 49.7rem;
}
.business_sec03_img01{
    width: 100%;
    aspect-ratio: 497 / 306;
}
.business_sec03_dl_sub{
    font-size: 3.4rem;
    font-weight: bold;
    letter-spacing: .03em;
    margin-bottom: 1rem;
    margin-right: -5rem;
}
.business_sec03_text{
    font-size: 1.6rem;
    line-height: 1.875;
    font-weight: 400;
    letter-spacing: .05em;
}
.business_sec03_text p+p{
    margin-top: 3rem;
}
.business_sec03_text span{
    font-weight: bold;
    color: #006467;
}

.business_sec03_box{
    margin-top: 5.5rem;
    background: #fff;
    border: 1px solid #000;
    padding: 4.5rem 3rem;
}
.business_sec03_item+.business_sec03_item{
    padding-top: 4rem;
    margin-top: 4rem;
    border-top: 1px solid #000;
}
.business_sec03_item dl{
    display: flex;
    justify-content: space-between;
}
.business_sec03_item dt{
    width: calc(100% - 34.4rem - 4rem);
    color: #000;
}
.business_sec03_item dd{
    width: 34.4rem;
}
.business_sec03_item_img{
    width: 100%;
    aspect-ratio: 344 / 354;
}
.business_sec03_item_hd{
    display: flex;
    font-size: 3rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: .03em;
    color: #006467;
    margin-bottom: 1.4rem;
}
.business_sec03_item_hd span{
    width: 4.3rem;
    min-width: 4.3rem;
    font-size: 3.4rem;
    opacity: .5;
}
.business_sec03_item_sub{
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: .03em;
    margin-bottom: .5rem;
}

.business_sec04{
    padding: 10rem 0;
}
.business_sec04 .business_hd{
    font-size: 6.3rem;
}
.business_sec04 .business_hd span{
    font-size: 10.1rem;
}
.business_sec04_dl{
    display: flex;
    justify-content: space-between;
    margin-top: 4rem;
}
.business_sec04_dl+.business_sec04_dl{
    flex-direction: row-reverse;
}
.business_sec04_dl dt{
    width: 42.9rem;
}
.business_sec04_dl dd{
    width: 44.1rem;
}
.business_sec04_img02{
    width: 100%;
    aspect-ratio: 429 / 329;
}
.business_sec04_img03{
    width: 100%;
    aspect-ratio: 429 / 216;
}

.business_sec05 .business_sec03_item_img{
    aspect-ratio: 344 / 244;
}

/*recruit*/
.recruit_wrap{

}
.recruit_wrap .inner02{
    padding: 0 9.5rem 0 33rem;
}
.recruit_sec01{
    padding-bottom: calc(18.6vw + 22rem);
}
.recruit_hd{
    font-size: 6.4rem;
    line-height: 1.25;
    font-weight: bold;
}
.recruit_hd span{
    font-size: 8rem;
}
.recruit_dl01{
    margin-top: 4.4rem;
    display: flex;
    justify-content: space-between;
}
.recruit_dl01 dt{
    width: 34rem;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.recruit_dl01 dd{
    width: 51.3rem;
    position: relative;
}
.recruit_sec01_img01{
    width: 60%;
    aspect-ratio: 309 / 392;
}
.recruit_sec01_img02{
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    width: 55.55%;
    aspect-ratio: 285 / 179;
}
.recruit_dl01_text{
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.95;
}
.recruit_dl01_text p+p{
    margin-top: 3.9rem;
}
.recruit_dl01_btn{
    margin-top: 5rem;
}

.recruit_sec02{
    padding: calc(18.6vw + 10rem) 0 12rem;
}
.recruit_sec02 .recruit_banner{
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-50%);
    width: 100%;
    margin-bottom: 0;
}
.recruit_banner{
    position: relative;
    z-index: 4;
    margin-bottom: 5rem;
}
.recruit_banner>.inner{
    padding: 0;
    max-width: none;
}
.recruit_banner .scale_img{
    aspect-ratio: 1175 / 508;
}

.recruit_table{
    margin-top: 4.3rem;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 2.2rem;
}
.recruit_table table{
    width: 100%;
    border: 1px solid #000;
}
.recruit_table table th{
    background: #006467;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 600;
    vertical-align: middle;
    border-bottom: 1px solid #fff;
    width: 7.2rem;
}
.recruit_table table td{
    width: calc(100% - 7.2rem);
    border: 1px solid #000;
    vertical-align: middle;
    background: #fff;
    padding: 3rem 1.8rem;
}
.recruit_table table th span{
    letter-spacing: -.01em;
    font-size: 6.4rem;
}
.recruit_table table dl{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.recruit_table table dt{
    width: calc(100% - 6.3rem - 2rem);
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: .08em;
}
.recruit_table table dd{
    width: 6.3rem;
    height: 6.3rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: #000;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: 0;
}
.recruit_table table dd.is_yellow{
    background: #B99B6B;
    color: #000;
}
.recruit_table table dd span{
    font-size: 1.7rem;
}

.recruit_sec03{
    padding-bottom: 15rem;
}
.recruit_sec03_dl{
    margin: 3.2rem 0 8rem;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    grid-gap: 4rem;
}
.recruit_sec03_dl dt{
    width: 24.5rem;
}
.recruit_sec03_dl dd{
    width: 45rem;
}
.recruit_sec03_dl_text{
    position: relative;
    padding: 3rem;
    background: #fff;
    border: 1px solid #000;
    font-size: 2rem;
    line-height: 1.85;
    font-weight: 600;
    letter-spacing: .08em;
}
.recruit_sec03_dl_text:before{
    content: '';
    position: absolute;
    right: 100%;
    bottom: 1.15rem;
    width: 2.7rem;
    height: 3.7rem;
    background: url(../img/recruit/icon_popup.png)no-repeat;
    background-size: 100% 100%;
}
.recruit_sec03_dl_text span{
    color: #006467;
}
.recruit_sec03_dl_date{
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 600;
    font-family: "Hiragino Kaku Gothic ProN";
    margin: 2.5rem 0 .4rem;
}
.recruit_sec03_dl_name{
    line-height: 1.3;
    font-size: 1.6rem;
    font-weight: 600;
    font-family: "Hiragino Kaku Gothic ProN";
    letter-spacing: .08em;
}
.recruit_sec03_dl_btn{
    margin-top: 1rem;
}
.recruit_sec03_dl_btn a{
    width: auto;
    padding: 0 3.9rem 0 1.9rem;
}

.recruit_sec03_box{
    position: relative;
    padding: 17rem 6.8rem 14rem 10rem;
    display: grid;
}
.recruit_sec03_box:before{
    content: '';
    position: absolute;
    z-index: -1;
    pointer-events: none;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: url(../img/recruit/bg_schedule.png)no-repeat top center,
    url(../img/recruit/bg_fff.png)no-repeat bottom center;
    background-size: 100% auto,100% calc(100% - 10rem);
    transform: rotate(3deg);
    border: 1px solid #000;
    border-top: 0;
}
.recruit_sec03_box dl{
    position: relative;
    display: flex;
    align-items: flex-start;
    padding-left: 4rem;
    padding-bottom: 5.4rem;
}
.recruit_sec03_box dl:last-of-type{
    padding-bottom: 0;
}
.recruit_sec03_box dl:before{
    content: '';
    position: absolute;
    left: 0;
    top: .7rem;
    width: 2.3rem;
    height: 2.3rem;
    border-radius: 50%;
    background: #000;
}
.recruit_sec03_box dl:after{
    content: '';
    position: absolute;
    left: 1.1rem;
    top: .7rem;
    height: 100%;
    border-left: 1px dashed #000000;
}
.recruit_sec03_box dl:last-of-type:after{
    content: none;
}
.recruit_sec03_box dt{
    width: 32.3rem;
    display: flex;
    align-items: center;
    line-height: 1.45;
    font-size: 2.2rem;
    font-weight: 600;
    letter-spacing: .08em;
    color: #006467;
}
.recruit_sec03_box dd{
    width: calc(100% - 32.3rem);
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: .05em;
}
.recruit_sec03_box dt span{
    width: 6.8rem;
    min-width: 6.8rem;
    font-size: 1.8rem;
    letter-spacing: .08em;
    color: #000;
    opacity: .6;
}

.recruit_sec04{
    padding: 10rem 0 18rem;
}
.recruit_sec04 .hd_small{
    position: relative;
    z-index: 4;
}
.welcome_box{
    margin: 3.5rem 1.8rem 1.8rem -1.6rem;
    position: relative;
}
.welcome_box:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: calc(100% + 1.8rem);
    height: calc(100% + 1.8rem);
    background: #006467;
    pointer-events: none;
    border: 1px solid #000;
}
.welcome_box ul{
    position: relative;
    background: #ECF2E4;
    border: 1px solid #000;
    padding: 7rem 5rem 6rem;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 0 5rem;
}
.welcome_box ul:before{
    content: '';
    position: absolute;
    z-index: 2;
    right: 3.4rem;
    bottom: 2.4rem;
    width: 13rem;
    height: 5.2rem;
    background: url(../img/common/logo_black.png)no-repeat bottom center;
    background-size: 100% auto;
    opacity: .1;
    pointer-events: none;
}
.welcome_box ul:after{
    content: '';
    position: absolute;
    left: 0;
    bottom: calc(100% - 3.8rem);
    width: 100%;
    height: 38rem;
    background: url(../img/recruit/before_welcome.svg)no-repeat bottom center;
    background-size: 32.8rem auto;
    pointer-events: none;
}
.welcome_box li{
    display: flex;
    align-items: center;
    /*min-height: 11rem;*/
    padding: 2.4rem 2rem 2.2rem;
    border-bottom: 1px solid #819566;
}
.welcome_box li p{
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: .08em;
    padding-left: 3.8rem;
    position: relative;
}
.welcome_box li p:after{
    pointer-events: none;
    content: '';
    position: absolute;
    left: 0;
    top: -1rem;
    width: 2.4rem;
    height: 4rem;
    background: url(../img/recruit/before_p.svg)no-repeat left top;
    background-size: 100% auto;
}
.welcome_box li p span{
    color: #006467;
}


.recruit_sec05{
    padding-bottom: 7rem;
}
.faq_list{
    display: grid;
    grid-gap: 1.3rem;
}
.faq_list dl{
    border: 1px solid #000;
    background: #fff;
}
.faq_list dl dt{
    display: flex;
    align-items: center;
    min-height: 7rem;
    padding: 1.8rem 8rem 1.8rem 6.6rem;
    background:url(../img/recruit/faq_open.svg)no-repeat right 2.8rem center;
    background-size: 2rem auto;
    position: relative;
    z-index: 2;
    cursor: pointer;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .08em;
    color: #000;
    font-weight: 600;
}
.faq_list dl dt.is_active{
    background:url(../img/recruit/faq_close.svg)no-repeat right 2.8rem center;
    background-size: 2rem auto;
}
.faq_list dl dt:before{
    content: 'Q';
    position: absolute;
    z-index: 2;
    left: 1.8rem;
    top: 50%;
    transform: translateY(-45%);
    font-size: 3.3rem;
    font-weight: 400;
    font-family: 'Agenda';
}
.faq_list dl dd{
    display: none;
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 400;
    letter-spacing: 0;
    padding: 1rem 8rem 4rem 6.6rem;
}

/*leaders*/
.leaders_sec01{
    padding-bottom: 7.8rem;
}
.leaders_dl01{
    margin-top: 6.5rem;
    display: flex;
    justify-content: space-between;
}
.leaders_dl01 dt{
    width: 38.5rem;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.9;
}
.leaders_dl01 dd{
    width: 52.8rem;
}
.leaders_sec01_img{
    width: 100%;
    aspect-ratio: 528 / 385;
}
.leaders_dl01 p+p{
    margin-top: 4.2rem;
}

.leaders_sec02{
    padding-bottom: 7.8rem;
}
.leaders_sec02_list{
    margin-top: 5rem;
}
.leaders_sec02_item{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.leaders_sec02_item:nth-of-type(even){
    flex-direction: row-reverse;
}
.leaders_sec02_item dt{
    width: 50%;
}
.leaders_sec02_item dd{
    width: calc(50% - 4rem);
}
.leaders_sec02_img{
    width: 100%;
    aspect-ratio: 456 / 604;
}
.leaders_sec02_item_point{
    display: inline-flex;
    padding: .4rem .8rem;
    color: #fff;
    background: #006467;
    font-size: 1.6rem;
    line-height: 1.2;
    letter-spacing: .08em;
}
.leaders_sec02_item_hd{
    font-size: 3.9rem;
    font-weight: bold;
    line-height: 1.435;
    letter-spacing: .03em;
    margin: .5rem 0 2rem;
}
.leaders_sec02_item_text{
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: .05em;
}
.leaders_sec02_item_text p+p{
    margin-top: 3rem;
}
.leaders_sec02_item_text span{
    font-weight: bold;
    color: #006467;
}
.leaders_sec02_item_box{
    margin: 2rem 0;
    display: inline-block;
    background: #DDE2D6;
    font-weight: 600;
    line-height: 1.8125;
    padding: 1.5rem 2.5rem;
}

.leaders_sec02 .pin-section {
    padding-top: 9.6rem;
}

.bg_blue{
    background: rgba(0,100,103,.82);
    backdrop-filter: blur(.5rem);
    color: #fff;
    position: relative;
}
.leaders_sec03{
    padding: 10.5rem 0;
    text-align: center;
}
.leaders_sec03_text{
    font-size: 2rem;
    line-height: 2.3;
    font-weight: 600;
}
.leaders_sec03_text p+p{
    margin-top: 4.6rem;
}
.light_span{
    position: relative;
    display: inline-block;
    font-size: 2.7rem;
    line-height: 1.45;
    font-weight: 800;
    margin: 0 3rem;
}
.light_span:after,
.light_span:before{
    content: '';
    position: absolute;
    top: -2.3rem;
    left: -2.5rem;
    width: 3.6rem;
    height: 4rem;
    background: url(../img/recruit_leaders/light_left.svg)no-repeat;
    background-size: 100% auto;
    pointer-events: none;
}
.light_span:after{
    background: url(../img/recruit_leaders/light_right.svg)no-repeat;
    background-size: 100% auto;
    left: auto;
    right: -2.5rem;
}
.water_span{
    position: relative;
    display: inline-block;
    font-size: 2.7rem;
    line-height: 1.45;
    font-weight: 700;
    margin: 0 3rem;
}
.water_span:after,
.water_span:before{
    content: '';
    position: absolute;
    top: -.6rem;
    left: -2.4rem;
    width: 2.4rem;
    height: 4rem;
    background: url(../img/recruit_leaders/water_left.svg)no-repeat;
    background-size: 100% auto;
    pointer-events: none;
}
.water_span:after{
    width: 2rem;
    background: url(../img/recruit_leaders/water_right.svg)no-repeat;
    background-size: 100% auto;
    left: auto;
    right: -2.2rem;
}
.leaders_sec03_list{
    margin: 2.6rem 0;
    display: grid;
    justify-content: center;
    grid-gap: 2.6rem;
}
.leaders_sec03_list li{
    background: #fff;
    color: #006467;
    border: 1px solid #000;
    font-size: 2.1rem;
    line-height: 4rem;
    font-weight: 600;
    padding: 1.3rem 2rem;
    min-width: 34.2rem;
}
.leaders_sec03_list li span{
    font-size: 2.6rem;
    font-weight: bold;
}

.leaders_sec04{
    position: relative;
    z-index: 5;
}
.leaders_sec04 .recruit_banner{
    margin-bottom: 6.7rem;
}
.leaders_sec04 .top_ideal_list{
    margin-top: 2.8rem;
}

.leaders_sec05{
    padding: 10rem 0;
}
.leaders_sec05 .hd_small{
    position: relative;
    z-index: 4;
}
.leaders_sec05 .welcome_box ul{
    background: #fff;
    color: #000;
}
.leaders_sec05 .welcome_box:before{
    background: #B99B6B;
}
.leaders_sec05 .welcome_box ul:after{
    height: 28rem;
    background: url(../img/recruit_leaders/before_welcome.svg)no-repeat bottom center;
    background-size: 32.8rem auto;
}

.leaders_sec06{
    padding: 11rem 0 5rem;
}
.business_sec03_item_hd font{
    font-size: 1.5rem;
    margin-left: .5em;
}
.leaders_sec06 .business_sec03_item_img {
    aspect-ratio: 344 / 297;
}

#recruit_leaders #breadcrumb,
#recruit_leaders #teaser,
#recruit_leaders .leaders_sec01,
#recruit_leaders .leaders_sec02{
    background: #fff;
}

#recruit_leaders .business_wrap{
    padding-top: 0;
}
#recruit_leaders .leaders_sec01{
    padding-top: 5rem;
}
#recruit_leaders .side_wrap .inner{
    padding-top: 6rem;
    padding-bottom: 5rem;
}

.bg_blue_img{
    position: absolute;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
}
.bg_blue_img img{
    width: 100%;
    height: 100dvh;
    object-fit: cover;
}

/*interview*/
.interview_wrap{
    padding: 16rem 0 15rem;
}
.interview_list{
    max-width: 97rem;
    margin: 0 auto;
    display: grid;
    grid-gap: 6.6rem;
}
.interview_list li{
    padding-bottom: 6.6rem;
    border-bottom: 1px solid #000000;
}
.interview_list li a{
    display: flex;
    justify-content: space-between;
}
.interview_list li:nth-of-type(even) a{
    flex-direction: row-reverse;
}
.interview_list_img{
    position: relative;
    width: 41.4rem;
}
.interview_list_cont{
    position: relative;
    width: calc(100% - 41.4rem - 4rem);
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.interview_list_img .img_box{
    padding-top: 0;
    aspect-ratio: 414 / 265;
    transition: transform .3s;
}
.interview_list_img .img_box img{
    transform: scale(1)!important;
}
.interview_list li:nth-of-type(odd) .interview_list_img:before{
    content: '';
    position: absolute;
    right: -1rem;
    top: -2.6rem;
    width: 6.6rem;
    height: 9rem;
    background: url(../img/top/before_icon.svg)no-repeat top center;
    background-size: 100% auto;
    z-index: 9;
    opacity: 0;
    transition:  opacity .3s;
}
.interview_list li:nth-of-type(even) .interview_list_img:after{
    content: '';
    position: absolute;
    right: 0;
    top: -4.3rem;
    width: 5rem;
    height: 9rem;
    background: url(../img/top/after_icon.svg)no-repeat top center;
    background-size: 100% auto;
    z-index: 9;
    opacity: 0;
    transition:  opacity .3s;
}

.interview_list_point{
    font-size: 2.2rem;
    line-height: 1.22;
    letter-spacing: .08em;
    margin-bottom: .3rem;
}
.interview_list_text{
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.45;
}

.interview_list_date{
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 600;
    font-family: "Hiragino Kaku Gothic ProN";
}
.interview_list_name{
    margin-top: .4rem;
    line-height: 1.3;
    font-size: 1.6rem;
    font-weight: 600;
    font-family: "Hiragino Kaku Gothic ProN";
    letter-spacing: .08em;
}

.interview_list .link_arrow{
    top: auto;
    right: 2.5rem;
    bottom: 0;
    width: 1.6rem;
    height: 1.6rem;
    transform: none;
}
@media screen and (min-width: 960px) {
    .interview_list a:hover .img_box{
        transform: rotate(5deg);
    }
    .interview_list a:hover .link_arrow{
        width: 2rem;
        height: 2rem;
        background: url(../img/common/arrow_black.svg)no-repeat right center ;
        background-size: 100% auto;
    }
    .interview_list li:nth-of-type(odd) a:hover .interview_list_img:before,
    .interview_list li:nth-of-type(even) a:hover .interview_list_img:after{
        opacity: 1;
    }
}

/*interview_detail*/
#interview_detail #contents{
    padding-top: 100dvh;
}
.interview_detail_teaser{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    z-index: -1;
    color: #fff;
}
.interview_detail_teaser_img.img_box{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding-top: 0;
    z-index: -1;
}
.interview_detail_teaser_img.img_box img{
    object-position: top center;
}
.interview_detail_teaser_img:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.62);
    backdrop-filter: blur(.3rem);
    pointer-events: none;
    z-index: 4;
}

.interview_detail_teaser .inner02{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    max-width: 70.5rem;
    padding: 0 1.5rem;
}
.interview_detail_teaser_point{
    display: inline-flex;
    background: #006467;
    font-size: 2.3rem;
    line-height: 1.434;
    letter-spacing: .08em;
    padding: 0 1.5rem;
    margin: 1rem 0;
}
.interview_detail_teaser_text{
    font-size: 5.2rem;
    font-weight: bold;
    line-height: 1.45;
    letter-spacing: .03em;
    margin-bottom: 1.7rem;
}
.interview_detail_teaser_date{
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 300;
    font-family: "Hiragino Kaku Gothic ProN";
    margin-bottom: .6rem;
}
.interview_detail_teaser_name{
    line-height: 1.3;
    font-size: 1.6rem;
    font-weight: 300;
    font-family: "Hiragino Kaku Gothic ProN";
    letter-spacing: .08em;
}
.interview_detail_teaser_intro{
    margin-top: 3rem;
    background: rgba(255,255,255,.65);
    border: 1px solid #fff;
    padding: 1.3rem 2rem;
    font-size: 1.2rem;
    line-height: 1.66;
    color: #000;
}

.interview_detail_wrap{
    padding: 0;
}
.interview_detail_sec01{
    padding: 13rem 0;
}
.interview_detail_sec01 .scroll_box_img {
    width: 44.4rem;
    position: relative;
}
.interview_detail_sec01 .scroll_box_img_box {
    width: 100%;
    position: relative;
}
.interview_detail_sec01 .scroll_box_img img{
    aspect-ratio: 444 / 292;
    object-fit: cover;
    transition: opacity .7s;
}
.interview_detail_sec01 .scroll_box_cont {
    width: calc(100% - 44.4rem - 5.5rem);
    display: grid;
    grid-gap: 7.6rem;
}
.interview_detail_sec01_item_point{
    display: flex;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .03em;
    margin-bottom: 1.7rem;
}
.interview_detail_sec01_item_point span{
    font-size: 2.2rem;
    line-height: 1.3;
    color: #006467;
    letter-spacing: .08em;
    min-width: 2.8rem;
    width: 2.8rem;
}
.interview_detail_sec01_item_hd{
    font-size: 3.9rem;
    font-weight: bold;
    line-height: 1.435;
    margin-bottom: 2rem;
}
.interview_detail_sec01_item_text{
    font-size: 1.6rem;
    line-height: 1.8125;
    max-width: 46rem;
}
.interview_detail_sec01_item_text p+p{
    margin-top: 2.9rem;
}

.interview_detail_other{
    padding: 0 0 7rem;
}
.interview_detail_other .recruit_banner .scale_img{
    aspect-ratio: 1294 / 421;
}
@media screen and (min-width: 751px) {
    .interview_detail_other .hd_small{
        display: inline-block;
    }
    .interview_detail_other .hd_small_eng{
        font-size: 6.7rem;
        margin-right: .5rem;
    }
    .interview_detail_other .hd_small_jap{
        font-size: 1.6rem;
    }
}

/*requirements*/
.post_teaser{
    background: #006467;
    color: #fff;
    padding: 16.4rem 0 1.4rem;
}
#breadcrumb.post_breadcrumb{
    padding-top: 1.5rem;
}

.requirements_wrap{
    padding: 5rem 0 9rem;
}
.requirements_wrap .inner{
    max-width: 115rem;
}
.requirements_categ{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    grid-gap: 1.3rem;
    margin-bottom: 4.3rem;
}
.requirements_categ a{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0 3.2rem;
    white-space: nowrap;
    height: 4.4rem;
    border: 1px solid #000;
    font-size: 1.3rem;
    letter-spacing: .05em;
}
.requirements_categ a.font_eng{
    font-size: 1.7rem;
}
.requirements_categ a.is_active{
    background: #000;
    color: #fff;
    pointer-events: none;
}

.requirements_list{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 4.3rem;
}
.requirements_list a{
    display: block;
    position: relative;
    border: 1px solid #000;
    background: #fff;
}
.requirements_list .img_box{
    padding-top: 0;
    aspect-ratio: 298 / 180;
}
.requirements_list .cont{
    padding: .8rem 1.8rem 0;
}
.categ_span{
    display: flex;
    flex-wrap: wrap;
    grid-gap: .6rem;
}
.categ_span span{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0 1.2rem;
    white-space: nowrap;
    height: 2.1rem;
    border: 1px solid #000;
    font-size: 1rem;
    letter-spacing: .05em;
}
.requirements_list .text{
    margin-top: .4rem;
    font-size: 1.6rem;
    font-weight: 600;
    height: 3em;
    letter-spacing: .03em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.requirements_list dl{
    border-bottom: 1px solid #707070;
    display: flex;
    margin: 0 -.8rem;
}
.requirements_list dt{
    width: 7.5rem;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: .03em;
    padding: 1.5rem 1.4rem;
}
.requirements_list dd{
    width: calc(100% - 7.5rem);
    font-size: 1.4rem;
    padding: 1.5rem 0;
}
.requirements_list .btn{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 5.4rem;
    font-size: 1.3rem;
    font-family: "Hiragino Kaku Gothic ProN";
    font-weight: 300;
    color: #5D5D5D;
}
.requirements_list .link_arrow{
    right: 0;
    background: #000;
}

/* !wp-pagenavi
---------------------------------------------------------- */
.wp-pagenavi {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    grid-gap: .8rem;
    margin: 5.5rem 0 0;
    position: relative;
    padding: 0;
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
    font-weight: 300;
}

.wp-pagenavi .pages {
    display: none;
}

.wp-pagenavi a, 
.wp-pagenavi span {
    border: 0;
    padding: 0;
    margin: 0;
}

.wp-pagenavi .page {

}

.wp-pagenavi a, 
.wp-pagenavi .current {
    width: 4.4rem;
    height: 4.4rem;
    font-size: 1.3rem;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .5s;
    border-radius: 0;
    color: #000;
    border: 1px solid #000;
}
.wp-pagenavi .current{
    text-decoration: none;
    opacity: 1;
    color: #fff;
    background: #000;
}

.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink{
    font-family:  "Noto Sans JP";
    font-weight: 400;
    font-size: 0;
    width: 7.6rem;
}
.wp-pagenavi .nextpostslink:before{
    content: '次へ →';
    font-size: 1.3rem;
}
.wp-pagenavi .previouspostslink:before{
    content: '← 前へ';
    font-size: 1.3rem;
}

.wp-pagenavi .first,
.wp-pagenavi .last{
    display: none;
}
@media screen and (min-width: 960px) {
    .requirements_categ a:hover{
        background: #000;
        color: #fff;
    }
    .wp-pagenavi a:hover{
        text-decoration: none;
        opacity: 1;
        color: #fff;
        background-color: #000!important;
    }

    .requirements_list a:hover .link_arrow{
        background: url(../img/common/arrow_black.svg)no-repeat right center ;
        background-size: 100% auto;
    }
}

/*requirements_detail*/
.requirements_detail_sec01 .inner{
    max-width: 86rem;
}
.requirements_detail_hd{
    font-size: 4.7rem;
    font-weight: 600;
    line-height: 1.468;
    letter-spacing: .04em;
    margin-bottom: 2.5rem;
}
.requirements_detail_thumb{
    margin-bottom: 5.8rem;
}
.requirements_detail_cont_hd{
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: .08em;
    margin-bottom: 1.4rem;
}
.requirements_detail_cont_text{
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .08em;
}
.requirements_detail_cont_text p+p{
    margin-top: 2.3rem;
}
.requirements_detail_cont_btn{
    margin-top: 6.4rem;
    text-align: center;
}
.requirements_detail_cont_btn .btn_link01{
    width: 52rem;
    height: 8.3rem;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: .08em;
}
.requirements_detail_cont_btn .link_arrow{
    right: 3.4rem;
    width: 1.4rem;
    height: 1.4rem;
}

.requirements_detail_sec02{
    padding: 9rem 0;
}
.requirements_detail_sec02 .inner{
    max-width: 88rem;
}
.requirements_detail_sec02_hd{
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: .08em;
    text-align: center;
    margin-bottom: 1.4rem;
}
.requirements_detail_table{
    width: 100%;
    border-bottom: 1px solid #D3D3D3;
}
.requirements_detail_table th{
    padding: 3.7rem 0;
    border-top: 1px solid #707070;
    font-size: 1.8rem;
    line-height: 1.66;
    font-weight: bold;
    color: #006467;
    letter-spacing: .08em;
    width: 17rem;
    vertical-align: top;
    text-align: left;
}
.requirements_detail_table td{
    padding: 3.7rem 0;
    width: calc(100% - 17rem);
    border-top: 1px solid #707070;
    font-size: 1.6rem;
    line-height: 1.875;
    font-weight: 500;
    letter-spacing: .08em;
    text-align: left;
}
.requirements_detail_table td p+p{
    margin-top: 3rem;
}
.requirements_detail_back{
    text-align: center;
    margin-top: 3rem;
}
.requirements_detail_back input,
.requirements_detail_back a{
    font-size: 1.7rem;
    font-weight: bold;
    letter-spacing: .08em;
    color: #6A6A6A;
    border: 0;
    margin: 0;
    padding: 0;
    padding-left: 1.8rem;
    display: inline-block;
    text-decoration: underline;
    background: url(../img/common/arrow_back.svg)no-repeat top 57% left;
    background-size: .7rem auto;
    transition: all .3s;
}


.requirements_detail_more{
    padding: 6.8rem 0 2.8rem;
}
.requirements_detail_more .inner{
    max-width: 114.5rem;
}
.requirements_detail_more .hd_medium_eng {
    display: inline-block;
    margin-right: 1.1rem;
    font-size: 4.8rem;
}
.requirements_detail_more .hd_medium_jap {
    font-size: 1.9rem;
}
.requirements_detail_more .requirements_list{
    margin-top: 2rem;
}
@media screen and (min-width: 960px) {
    .requirements_detail_cont_btn a:hover .link_arrow{
        right: 3rem;
        width: 2rem;
        height: 2rem;
    }

    .requirements_detail_back input:hover,
    .requirements_detail_back a:hover{
        text-decoration: none;
    }
}

/*blog*/
.blog_wrap{
    padding: 7rem 0 11rem;
}
.blog_wrap .inner{
    max-width: 115rem;
}
.blog_list{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 4.8rem;
}
.blog_list .blog_slider_item .img_box{
    padding-top: 60.5%;
}

/*blog_detail*/
.blog_detail_main{
    padding: 2.4rem 0 0;
}
.blog_detail_main .inner{
    max-width: 99rem;
}
.blog_detail_date{
    font-size: 1.8rem;
    line-height: 1.22;
    font-family: "Hiragino Kaku Gothic ProN";
    font-weight: 300;
    color: #5D5D5D;
    margin-bottom: .7rem;
}
.blog_detail_hd{
    font-size: 4.7rem;
    font-weight: 600;
    letter-spacing: .03em;
    margin-bottom: 1.8rem;
}
.blog_detail_thumb{
    margin-bottom: 3.6rem;
}

.blog_detail_cont{
    display: grid;
    grid-gap: 3rem;
}
.blog_detail_cont h3{
    background: #006467;
    color: #fff;
    padding: 2rem 2.5rem;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: .03em;
    margin-bottom: 3rem;
}
.blog_detail_cont h4{
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: .03em;
    margin-bottom: .8rem;
}
.blog_detail_cont p{
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
}
.blog_detail_cont p+p{
    margin-top: 3rem;
}
div#toc_container,
.table_contents{
    width: 100%;
    display: block;
    border-radius: 0;
    border: 1px solid #000000;
    padding: 4rem 5.4rem;
    margin: 1rem 0 4rem;
}
#toc_container p.toc_title,
.table_contents_title{
    text-align: left;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: .03em;
    color: #000000;
}
.table_contents_title+ul,
#toc_container p.toc_title+ul.toc_list{
    margin-top: 2.7rem;
}
.toc_list,
.table_contents ul{
    display: grid;
    grid-gap: 2rem;
    padding-left: 2.8rem!important;
}
.toc_list>li{
    list-style: decimal-leading-zero!important;
}
.toc_list li{
    font-size: 1.6rem;
}
.toc_list li:before{
    content: none!important;
}
#toc_container a,
.table_contents a{
    display: inline-block;
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 400;
    letter-spacing: .05em;
}
.toc_number {
    display: none;
}
blockquote+blockquote,
.wp-block-group+.wp-block-group{
    margin-top: 3rem;
}

.blog_detail_back{
    text-align: center;
    margin-top: 10rem;
}
.blog_detail_back .btn_link01{
    width: 52rem;
    height: 8.3rem;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: .08em;
}
.is_back .link_arrow{
    right: auto;
    left: 2rem;
}
.blog_detail_back .link_arrow{
    left: 3.4rem;
    width: 1.4rem;
    height: 1.4rem;
}
.blog_detail_more{
    padding: 11rem 0;
}
.blog_detail_more .inner{
    max-width: 114.5rem;
}
.blog_detail_more .hd_medium_eng {
    display: inline-block;
    margin-right: 1.1rem;
    font-size: 4.8rem;
}
.blog_detail_more .hd_medium_jap {
    font-size: 1.9rem;
}
.blog_detail_more .blog_list{
    margin-top: 1rem;
}
@media screen and (min-width: 960px) {
    .is_back:hover .link_arrow{
        width: 1.4rem;
        background: url(../img/common/arrow_left.svg)no-repeat left center;
        background-size: 100% auto;
    }
    .blog_detail_back a:hover .link_arrow{
        left: 3rem;
        width: 2rem;
        height: 2rem;
    }
    #toc_container a:hover{
        color: #006467;
    }
}


/*notfound*/
#entry .bg02,
#not_found .bg02{
    /*background: url(../img/top/bg_03.jpg)repeat-y center center;
    background-size: 100% auto;*/
}
.notfound_wrap{
    min-height: 100dvh;
    position: relative;
}
.notfound_wrap:before{
    content: '';
    position: absolute;
    left: 1.8rem;
    top: 1.8rem;
    bottom: 1.8rem;
    right: 1.8rem;
    border: 1px solid #000;
    pointer-events: none;
    z-index: 4;
}
.notfound_cont {
    width: 100%;
    padding: 0 7%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.notfound_hd{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.notfound_hd_number{
    font-size: 16.4rem;
    letter-spacing: .08em;
    line-height: 1.2;
    background: url(../img/recruit/before_p.svg)no-repeat top 41% left 47.3%;
    background-size: 2.4rem auto;
}
.notfound_hd_eng{
    font-size: 4.5rem;
    line-height: 1.2;
    letter-spacing: .08em;
    margin: -4.5rem 0 2.5rem;
}
.notfound_hd_jap{
    font-size: 2.5rem;
    line-height: 1.45;
    font-weight: 600;
    letter-spacing: .08em;
}
.notfound_text{
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 1.4rem;
}
.notfound_btn{
    margin-top: 4.8rem;
}
.notfound_btn .btn_link01{
    width: 37.3rem;
    max-width: 100%;
    height: 7.3rem;
    background: #006467;
    border-color: #006467;
    color: #fff;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: .08em;
    font-family:  "Noto Sans JP";
}
.notfound_btn .link_arrow{
    width: .9rem;
    height: 100%;
    right: auto;
    left: 3rem;
    background: url(../img/common/arrow_top.svg)no-repeat left center;
    background-size: 100% auto;
}
@media screen and (min-width: 960px) {
    .notfound_btn .btn_link01:hover{
        background: #fff;
        color: #006467;
    }
    .notfound_btn .btn_link01:hover .link_arrow{
        background: url(../img/common/arrow_top_hover.svg)no-repeat left center;
        background-size: 100% auto;
    }
}

/*entry*/
.entry_wrap{
    padding: 0 0 7rem;
    color: #333;
}
.entry_wrap .inner{
    max-width: 106rem;
}
/*contact*/
.contact_top{
    font-size: 1.8rem;
    line-height: 1.66;
    letter-spacing: .08em;
    text-align: center;
    margin-bottom: 6rem;
}

.step_list{
    display: flex;
    justify-content: center;
    grid-gap: 14rem;
    position: relative;
    margin-bottom: 6rem;
}
.step_list li{
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: .08em;
    color: #333;
    position: relative;
    z-index: 2;
}
.step_list li+li:before{
    content: '';
    position: absolute;
    right: 100%;
    top: 3.3rem;
    transform: translateY(-50%);
    z-index: 1;
    width: 14rem;
    height: .8rem;
    background: #DDE2D6;
}
.step_list .number{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 6.6rem;
    height: 6.6rem;
    border-radius: 50%;
    font-size: 4.3rem;
    letter-spacing: .08em;
    font-weight: 400;
    background: #DDE2D6;
    color: #fff;
    padding: .5rem 0 0 .2rem;
    margin-bottom: 1.3rem;
}

.contactTable{
    width: 100%;
}
.contactTable th,
.contactTable td{
    display: block;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: .08em;
    padding-bottom: 4rem;
}
.contactTable th{
    font-weight: bold;
    text-align: left;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    grid-gap: 1rem;
    padding-bottom: 1.5rem;
}
.contactTable th span{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0;
    width: 5rem;
    height: 2.4rem;
    border-radius: 0;
    background: #939393;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: .1em;
}
.contactTable th span.required{
    background: #006467;
}
.contactTable th font{
}

.file_box,
.contactTable input[type=date],
.contactTable input[type=text],
.contactTable input[type=tel],
.contactTable input[type=email],
.contactTable select,
.contactTable textarea{
    width: 100%;
    height: 6.5rem;
    border-radius: 0;
    background: #fff;
    color: #333;
    padding: 0 1.8rem;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    font-weight: 400;
    border: 1px solid #000;
    font-family:  "Noto Sans JP";
}
.contactTable input.input_birth{
    max-width: 40.6rem;
    background: url(../img/common/icon_date.svg) no-repeat right 2.4rem center #fff;
    background-size: 1.9rem auto;
}
.file_box{
    padding-left: 19.4rem;
    position: relative;
    display: flex;
    align-items: center;
    grid-gap: .5rem 1rem;
}
.contactTable input[type=file]{
    position: absolute;
    left: 0;
    opacity: 0;
}
.file_label{
    cursor: pointer;
}
.file_txt{
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.file_txt:before{
    content: 'ファイルを選択';
    cursor: pointer;
    position: absolute;
    left: 1.5rem;
    top: 50%;
    z-index: 9;
    transform: translateY(-50%);
    width: 16.2rem;
    height: 3.9rem;
    border-radius: 0;
    background: #DDE2D6;
    color: #4E4E4E;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: .1em;
    display: flex;
    justify-content: center;
    align-items: center;

}
.file_note{
    font-size: 1.4rem;
    margin-top: .7rem;
    padding-left: 1.5rem;
    color: #5D5D5D;
}
.contactTable select {
    background: url(../img/common/arrow_select.svg) no-repeat right 3rem center #fff;
    background-size: 2.2rem auto;
    padding: 0 6rem 0 1.8rem;
}
.contactTable textarea{
    resize: none;
    min-height: 34rem;
    padding: 1.8rem;
    display: block;
}

textarea::-webkit-input-placeholder{ /*WebKit browsers*/
  color:#CECECE;
}
textarea::-moz-input-placeholder{ /*Mozilla Firefox*/
  color:#CECECE;
}
textarea::-ms-input-placeholder{ /*Internet Explorer*/ 
  color:#CECECE;
}
input::-webkit-input-placeholder{ /*WebKit browsers*/
  color:#CECECE;
}
input::-moz-input-placeholder{ /*Mozilla Firefox*/
  color:#CECECE;
}
input::-ms-input-placeholder{ /*Internet Explorer*/ 
  color:#CECECE;
}
.p-postal-code{
    max-width: 23.6rem!important;
}
.span_zip{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #1F215C;
    color: #fff;
    border-radius: .5rem;
    font-size: 1.7rem;
    font-weight: bold;
    padding: 0 3.2rem;
    height: 6rem;
    margin-left: 2.7rem;
    pointer-events: none;
}
.formItem+.formItem{
    margin-top: 1.6rem;
}
.formItemHd{
    font-size: 1.6rem;
    margin-bottom: .7rem;
}
.formItemHd span{
    font-size: 1.5rem;
    color: #9F9F9F;
}
.formNotes{
    font-size: 1.3rem;
    color: #666;
}
.formNotes p+p{
    margin-top: 1.9rem;
}
.formNotes a{
    color: #00A04E;
    text-decoration: underline;
}
.formNotes a:hover{
    text-decoration: none;
    opacity: 1;
}

.formAgree{
}
.formAgree a{
    color: #006467;
    border-bottom: 1px solid currentColor;
}
.formAgree a:hover{
    border-color: transparent;
    text-decoration: none;
}
.formButton{
    margin-top: 4.8rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    /*grid-gap: 3rem;*/
}
.formButton .btn_link01{
    width: 52rem;
    max-width: 100%;
    height: 8.3rem;
    padding: 0;
}
.formButton .link_arrow{
    right: 3.4rem;
    width: 1.4rem;
    height: 1.4rem;
}
.formButton .btn_form{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: 2rem;
    letter-spacing: 0.08em;
    font-weight: bold;
    color: #000;
    border-radius: 0;
    transition: all .3s;
    background: none;
    border: 0;
    box-shadow: none;
    position: relative;
    z-index: 9;
    padding: 0;
}
.formButton .disabled{
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    opacity: .5;
    pointer-events: none;
}
@media screen and (min-width: 960px) {
    .formButton .btn_form:hover{
        color: #fff;
    }
    .formButton .btn_link01:hover .link_arrow{
        right: 3rem;
        width: 2rem;
        height: 2rem;
    }
}


.formRadio .wpcf7-radio,
.formRadio,
.formCheckbox .wpcf7-checkbox{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    grid-gap: .8rem;
}

.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item{
    /*width: 100%;*/
}
.formRadio label,
.formCheckbox label {
    display: flex;
    font-size: 1.6rem;
    letter-spacing: .05em;
    line-height: 1.5;
    font-weight: bold;
    color: #000;
    position: relative;
    cursor: pointer;
}

.formRadio label input[type="radio"],
.formCheckbox label input[type="checkbox"] {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    opacity: 0;
}

.formRadio label span {
    position: relative;
    z-index: 2;
    padding: 2.2rem;
    color: #999999;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    min-width: 13rem;
}

.formRadio label span:before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 100%;
    background: #fff;
    border: 1px solid #000;
    content: '';
    z-index: -1;
}

.formRadio label input[type="radio"]:checked + span{
    color: #fff;
}
.formRadio label input[type="radio"]:checked + span:before {
    background: #000;
}

.formAgree {
    margin-top: 3rem;
}
.formAgree .formCheckbox label{
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: .12em;
}
.formCheckbox label span {
    position: relative;
    z-index: 2;
    padding-left: 3rem;
    display: inline-block;
    font-weight: bold;
}

.formCheckbox label span:before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-40%);
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 0;
    background: #fff;
    border: 1px solid #1D1D1D;
    content: '';
    z-index: 1;
}

.formCheckbox label span:after {
    position: absolute;
    left: .1rem;
    top: 0.8rem;
    width: 1.5rem;
    height: .8rem;
    border: .3rem solid #1D1D1D;
    border-width: 0 0 .2rem .2rem;
    transform: rotate(-45deg);
    content: '';
    z-index: 2;
    opacity: 0;
}

.formCheckbox label input[type="checkbox"]:checked + span:after {
    opacity: 1;
}

.wpcf7-list-item{
    margin: 0;
}
.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block;
    position: absolute;
    white-space: nowrap;
}

.confirmWrap .contactTable td{
    font-size: 2rem;
    line-height: 1.35;
}

.birth_box p,
.birth_box{
    display: flex;
    align-items: center;
}
.birth_box select{
    width: 15.2rem;
}
.birth_box select.birth_year{
    width: 21.4rem;
}
.birth_line{
    opacity: 0;
    width: 3.2rem;
}


.count_down{
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .08em;
    margin-top: 1rem;
}

textarea+.wpcf7-not-valid-tip{
    margin-top: 1.8em;
}
.formAgree .wpcf7-list-item{
    width: 100%;
}
.formButton p{
    width: 100%;
    height: 100%;
}
.wpcf7-previous {
    display: block !important;
}

/*mv form*/
.mw_wp_form .horizontal-item + .horizontal-item{
    margin: 0 !important;
}

.mw_wp_form_confirm .formButton .disabled{
    -webkit-filter: grayscale(0%)!important;
    filter: grayscale(0%)!important;
    opacity: 1!important;
    pointer-events: auto!important;
}
.mw_wp_form_confirm .contactTable th .note,
.mw_wp_form_confirm .rec_contact,
.mw_wp_form_confirm .email_confirm,
.mw_wp_form_confirm .formAgree,
.mw_wp_form_input .contact_confirm_top,
.mw_wp_form_confirm .contact_input_top,
.mw_wp_form_confirm .count_down,
.mw_wp_form_confirm .span_zip,
.mw_wp_form_confirm .contactTable th span{
    display: none!important;
}
.mw_wp_form_confirm .contactTable th, 
.mw_wp_form_confirm .contactTable td {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 500;
    letter-spacing: .08em;
    text-align: left;
}
.mw_wp_form_confirm .contactTable th {
    line-height: 1.5;
    font-weight: bold;
    color: #236365;
    padding-bottom: 1rem;
}
.mw_wp_form_confirm .birth_line{
    opacity: 1;
    width: auto;
}

.mw_wp_form_confirm .step_list li:nth-of-type(2):before,
.step_list li.is_active .number,
.mw_wp_form_input .step_list li:nth-of-type(1) .number,
.mw_wp_form_confirm .step_list li:nth-of-type(1) .number,
.mw_wp_form_confirm .step_list li:nth-of-type(2) .number{
    color: #fff;
    background: #006467;
}

.contact_tel_row{
    display: flex;
    align-items: flex-start;
}
.formRadio .error{
    width: 100%;
}

.contactTable th .note{
    font-size: 1.4rem;
    font-weight: 400;
}

/*thanks*/
.thanks_wrap{
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 100dvh;
    padding: 18.5rem 0 7.5rem;
}
.thanks_wrap #breadcrumb{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
}
.thanks_cont{
    position: static;
}
.thanks_main{
    position: relative;
    z-index: 7;
}

.thanks_hd{
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}
.thanks_hd_eng{
    font-size: 9.9rem;
    letter-spacing: .02em;
    line-height: 1.2;
    position: relative;
}
.thanks_hd_eng:before{
    content: 'THANK YOU.';
    color: #fff;
    position: absolute;
    right: 0;
    top: 0;
    width: calc(100% - 43rem);
    white-space: nowrap;
    overflow: hidden;
    display: flex;
    justify-content: flex-end;
}
.thanks_hd_jap{
    font-size: 2.1rem;
    font-weight: bold;
    letter-spacing: .03em;
}
.thanks_text{
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: .1em;
    max-width: 39.6rem;
    margin-top: 2.5rem;
}
.thanks_btn{
    margin-top: 2.1rem;
    width: 26rem;
}
.thanks_btn a{
    height: 5.9rem;
    font-size: 1.6rem;
    font-weight: 600;
    font-family:  "Noto Sans JP";
    padding: 0 0 0 1.8rem;
}

.thanks_bg{
    z-index: 6;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: calc(50% + 11.3rem);
    overflow: hidden;
}
.thanks_bg .img_box{
    padding-top: 0;
    height: 100%;
}

.scroll_box_cont>.pin-spacer{
    height: auto!important;
    padding: 0!important;
}
@media screen and (min-width: 751px) {
    .scroll_box_img01+.scroll_box_img01 img{
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        opacity: 0;   
    }
    .scroll_box_img.is_active .scroll_box_img01+.scroll_box_img01 img{
        opacity: 1;
    }
}

.toc_list ul{
}
.toc_list ul li{
    position: relative;
}
.toc_list ul li:after{
    content: '-';
    position: absolute;
    left: -1.5em;
    top: 0;
    line-height: 2;
}
.mwform-file-delete{
    display: none!important;
}
.mw_wp_form_confirm .file_label,
.mw_wp_form_confirm .file_note,
.mw_wp_form_input .mw-wp-form_file{
    display: none!important;
}
.mw_wp_form_confirm .file_box{
    padding: 0;
    background: none;
    border: 0;
    height: auto;
}

/* --- リセット＆基本レイアウト --- */
#sitemap ul#sitemap, 
#sitemap ul#sitemap li, 
#sitemap ul#sitemap p {
  margin: 0;
  padding: 0;
  list-style: none;
  box-sizing: border-box;
}

#sitemap ul#sitemap {
  display: flex;
  justify-content: space-between;
}

/* --- 1カラム目・2カラム目のテキスト設定 --- */
#sitemap ul#sitemap li p {
  margin-bottom: 30px; /* 「テキストの文字間（行の間隔）は30px」を反映 */
}

#sitemap ul#sitemap li a {
  display: inline-block;
  text-decoration: none;
  font-size: 33px; /* 「aboutなどの文字サイズは33px」を反映 */
  line-height: 1;
  font-family: 'Agenda';
font-weight: 400;
  text-transform: uppercase; /* 小文字のテキストをすべて大文字に変換 */
  letter-spacing: 0.03em; /* わずかな文字間調整（必要に応じて変更してください） */
}

/* --- 3カラム目のボタン設定（RECRUIT / ENTRY） --- */
#sitemap ul#sitemap li:last-child p {
  margin-bottom: 20px; /* 「RECRUITとENTRYの間は20px」を反映 */
}

#sitemap ul#sitemap li:last-child p:last-child {
  margin-bottom: 0;
}

#sitemap ul#sitemap .btn_link01 {
  display: block;
  width: 210px;  /* 「横幅210px」を反映 */
  height: 59px;  /* 「縦幅59px」を反映 */
  line-height: 57px; /* 枠線を含めて縦方向中央揃え（59px - 枠線2px分） */
  font-size: 29px; /* 「RECRUITとENTRYは29px」を反映 */
  text-transform: uppercase; /* 大文字に変換 */
  text-decoration: none;
  position: relative;
  padding-top: 5px;
  text-align: center;
  font-family: 'Agenda';
font-weight: 400;
}

p.privacy-txt{
	font-size: 14px;
	letter-spacing: 0.08em;
	margin-bottom: 30px;
	padding-bottom: 30px;
	line-height: 1.6em;
	border-bottom: 1px solid #000;
}

p.privacy-ttl{
	padding-bottom: 15px;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
	
/*0612*/
.scroll_about {
	height: auto;
}
.scroll_box_about{
    position: sticky;
    top: 0;
    overflow: hidden;
}

.scroll_box_about img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    opacity: 0;
    transition: opacity 0.8s ease;
    pointer-events: none;
}

.scroll_box_about img:first-child{
    opacity: 1;
}

.scroll_box_about img.active{
    opacity: 1;
    z-index: 2;
}

/*0629*/

.top_ideal_list li:nth-of-type(even) a{
    background: #669d9f;
}
.mw_wp_form_confirm .contactTable th{
    border-bottom: 1px solid #707070;
    margin-bottom: .8rem;
}
@media screen and (min-width: 751px) {
    .about_sec01_list li.is_green .common_text{
        text-align: center;
    }
    .business_sec05 .business_sec03_img01{
        aspect-ratio: 497 / 335;
    }
    #interview .teaser_hd_eng{
        font-size: 6.9rem;
    }
    .interview_detail_teaser .inner02{
        position: static;
        transform: none;
        padding: 1rem 1.5rem 19rem;
    }
    .footer_other .eng, .footer_list .eng{
        white-space: nowrap;
        font-size: 1.5rem;
    }
    .footer_list{
        grid-gap: 2rem;
    }
}

.js-image-scroll {
    overflow: hidden;
    display: flex;
}
.js-image-scroll ul {
    display: flex;
    align-items: center;
}
.js-image-scroll ul:nth-child(odd) {
    animation-name: image-loop-left1;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
.js-image-scroll ul:nth-child(even) {
    animation-name: image-loop-left2;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
@keyframes image-loop-left1 {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(-100%);
    }
}
@keyframes image-loop-left2 {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-200%);
    }
}

.top_sec01_slider {
    margin-top: 14rem;
}

.top_sec01_slider ul {
    align-items: flex-start;
}

.top_sec01_slider li {
    width: 39.6rem;
    padding-right: 2.4rem;
}

.top_sec01_slider li img {
    width: 100%;
}

.top_sec01_slider li:nth-child(even) {
    margin-top: 7rem;
}













