/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {

    box-sizing: border-box;
}


main {
    display: block;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}


/*
base
*/
html {
    font-size: 10px;
}
.notscroll {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: -1;
}
.flex{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}
.flex-column{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
p.padding_bottom{
    padding-bottom:1em;
}
.btn_area{
    width:100%;
    text-align:center;
    padding:40px 0;
    padding-bottom:0px;
}
.btn_allow {
    max-width:80%;
    width: 400px;
    height: 80px;
    border: solid 1px #dedddc;
    display: inline-block;
    position: relative;
    background:#FFFFFF;
    line-height:80px;
    text-decoration: none;
    color:#000000;
    font-weight:500;
    transition-duration: 0.4s;
    transition-property:all;
}
.btn_allow::after {
    content: url(/assets/images/share/btn_allow.png);
    top: -5px;
    right:-25px;
    display:inline-block;
    position:absolute;
    width:47px;
    height:5px;
    transition-duration: 0.4s;
    transition-property:all
}
.btn_allow:hover{
    background:#000000;
    color:#FFFFFF;
    border-color:#000000;

}
.btn_allow:hover::after{
    filter: invert(100%);
    right:20px;
}


.btn_area__Items{
	display: flex;
	gap:10%;
	align-items: center;
	justify-content: center;
	padding:0 5%;
	
}
.btn_area__Items >*{
	width:40%;
	
}
.btn_allow.btn_allow--multi-line {
	display: -webkit-box; /* Safari */
	display: -ms-flexbox; /* IE 10 */
	display: flex;
	line-height: 1;
	align-items: center;
	justify-content: center;
	-webkit-box-direction: normal; /* Safari */
	-ms-flex-direction: column; /* IE 10 */
	flex-direction: column;
	gap: 0.5em;
}

.btn_allow.btn_allow--multi-line::after {
	top: 26px;
}

.btn__text-bold-jp {
	display: block;
}

.btn__text-small-jp {
	display: block;
	font-size: 80%;
	font-weight: normal;
}

@media screen and (max-width: 767px) {
	.btn_area__Items {
		-webkit-box-direction: normal; /* Safari */
		-ms-flex-direction: column; /* IE 10 */
		flex-direction: column;
		gap: 30px;
		padding: 0;
		margin-left: -30px;
		margin-right: -30px;
	}

	.btn_area__Items > * {
		width: 100%;
	}
}


.btn_dl{
    display:inline-block;
    font-weight:600;
    font-size:16px;
    line-height:80px;
    height:80px;
    max-width:80vw;
    max-width:400px;
    width:80%;
    box-sizing: border-box;
    border:solid 1px #dedddc;
    text-align:center;
    background-color:#FFFFFF;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    transition-property: all;
}
.btn_dl:hover{
    background-color:#ec6c00;
    border-color:#ec6c00;
    color:#FFF;
}
.btn_dl span{
    display:inline-block;
    position:relative;
    padding-left:40px;
}
.btn_dl span::before{
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    transition-property: all;
    content:"";
    display: inline-block;
    width: 24px;
    height:24px;
    position:absolute;
    left:0;
    top:24px;
    background-image: url('data:image/svg+xml;utf-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" fill="%23ec6c00"><g><path  d="M23.035,21.975H1V11.703h2.947v7.234h16.141v-7.234h2.947V21.975z"/><path  d="M10.293,15.928V1h2.947v7.595l1.529-1.576l2.084,2.147L10.293,15.928z"/></g></svg>');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
.btn_dl:hover span::before{
    content:"";
    display: inline-block;
    width: 24px;
    height:24px;
    position:absolute;
    left:0;
    top:24px;
    background-image: url('data:image/svg+xml;utf-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" fill="%23FFFFFF"><g><path  d="M23.035,21.975H1V11.703h2.947v7.234h16.141v-7.234h2.947V21.975z"/><path  d="M10.293,15.928V1h2.947v7.595l1.529-1.576l2.084,2.147L10.293,15.928z"/></g></svg>');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}


.btn_dl.btn_dl--no-icon{
}
.btn_dl.btn_dl--no-icon:hover{
}
.btn_dl.btn_dl--no-icon span{
    padding-left:0px;
}
.btn_dl.btn_dl--no-icon span::before{
    display: none;
}
.btn_dl.btn_dl--no-icon:hover span::before{
    display: none;
}

.float-right{
    float: right;
}
.float-left{
    float: left;
}
.clearfix:after {
    content: "";
    clear: both;
    display: block;
}
.font14{
    font-size:14px;
}
.font16{
    font-size:16px;
}
.font18{
    font-size:18px;
}
.font20{
    font-size:20px;
}
.font22{
    font-size:22px;
}
.font24{
    font-size:24px;
}
.font30{
    font-size:30px;
}
img{  user-select: none;}

@media screen and (min-width: 768px) {
    .is-sp {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .is-pc {
        display: none !important;
    }
}

body {
    font-size: 16px;
    line-height: 2;
    color: #000000;
    font-family: 'Jost', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN","ヒラギノ角ゴ","Hiragino Kaku Gothic","Yu Gothic","游ゴシック", "Meiryo","メイリオ",   sans-serif;
    font-weight: 400;
    background-color: #ffffff;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: 'palt'1;
    letter-spacing: 0.15em;
}
::selection {
    background: #f6ff0e;
}
  ::-moz-selection {
      background: #f6ff0e;
  }
div.container{
    margin-top:100px;
}
a{text-decoration:none;color:#000;}

.semibold{
    font-weight:500;
}
.text-bold{
    font-weight:700 !important;
}
.text-semibold{
    font-weight:600 !important;
}
.text-middle{
    font-weight:500 !important;
}
.text-nomal{
    font-weight:400 !important;
}
/* ========================================================================== */
/* Site header */
/* ========================================================================== */
@media screen and (max-width: 1079px){
    .is-over1080 {
        display:none !important;
    }
    .is-over1300 {
        display:none !important;
    }
    .toggle-button{
        display:block;
    }
}
@media screen and (min-width: 1080px){
    .is-under1300{
        display:none !important;
    }
}
.site-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    padding: 0;
    background-color: #FFF;
    -webkit-transition-property: padding, background-color;
    transition-property: padding, background-color;
    -webkit-transition-duration: 0.4s;
    transition-duration: 0.4s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    border-bottom:solid 1px #dedddc;
    min-height:100px;
    box-sizing: border-box;
}
@media screen and (max-width: 1079px) {
    .site-header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 4em;
        padding: 0;
        background-color:#FFFFFF;
        border:none;
    }
}
.site-header a {
    display: block;
    text-decoration: none;
    color: #000000;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
    position:relative;
    z-index:1;
}
.site-header a span{
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
.site-header .site-menu__item > a.active span ,
.site-header .site-menu__item > a:hover span {
    /*/opacity: 0.6;*/
    background: -moz-linear-gradient(bottom, #FFFFFF 25%, #f6ff0e 25% ,#f6ff0e 65% ,#FFFFFF 65% );
    background: -webkit-linear-gradient(bottom, #FFFFFF 35%, #f6ff0e 25% ,#f6ff0e 65% ,#FFFFFF 65% );
    background: linear-gradient(to top, #FFFFFF 25%, #f6ff0e 25% ,#f6ff0e 65% ,#FFFFFF 65% );
}
.site-header .header_logo{
    width:200px;
    height:auto;
}
.site-header .site-title,
.site-header .recruit-title {
    position: absolute;
    z-index: 10;
    left:30px;
    top:30px;
}
.site-header .site-title a:hover{
    background: none;
    opacity: 0.6;
}

.site-header a.btn_language{
    padding:0;
    display:inline-block;
    width:40px;
    height:40px;
    line-height:40px;
    text-align:center;
    border:solid 1px #666666;
    background-color: #ffffff;
    margin-left:20px;
    padding-left:0.1em;
    position: relative;
}
.site-header a.btn_language:hover{
    background:none;
    background-color:#f6ff0e;
    background-size:100% 100%;
        border:solid 1px #666666;
}


/* site-navi */
/* -------------------------------------------------------------------------- */

.site-header .site-navi{
    width:100%;
    position:relative;
    z-index:1;
    height:100%;
    padding:0;
}
@media screen and (max-width: 1079px) {
    .site-header .site-navi {
        position: fixed;
        top: 100px;
        left: 0;
        width: 100%;
        height: 0;
        overflow: hidden;
        padding: 0 20px;
        background-color: #f3f2f1;
        -webkit-transition-property: height, padding;
        transition-property: height, padding;
        -webkit-transition-duration: 0.2s;
        transition-duration: 0.2s;
        -webkit-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
    }

    .recruit-content .site-navi {
        background-color: #f3f2f1;
    }
}
@media screen and (max-width: 1079px) {
    .site-header.is-open .site-navi {
        height: calc(100vh - 100px);
        border-top: solid 1px #dedddc;
        overflow: scroll;
        -webkit-overflow-scrolling: touch;
        padding: 0;
        backgroung-color: #f3f2f1;
    }
}
/* site-menu */
/* -------------------------------------------------------------------------- */
.site-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: flex-end;
    width:100%;
    position:relative;
    z-index:1;
    height:100%;
    padding:0 30px 0 260px;
}
@media screen and (max-width: 1079px) {
    .site-menu {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding:0 20px;
        height:0;

    }
    .site-header.is-open  .site-navi .site-menu {
        padding-bottom: 50px;
    }

}
.site-menu__item {
    font-size: 14px;
    line-height: 1;
    display: inline-block;
    height:100px;
    padding:30px 0 ;
}
@media screen and (max-width: 1079px) {
    .site-menu__item {
        width: 100%;
        display:block;
        font-size: 1em;
        height:auto;
        padding-bottom: 0;
    }
    .site-menu__item.site-menu__item--language{
        text-align:right;
        height:80px;
    }
    .site-menu__item{
        height:auto;
    }
}
.site-menu__item > a {
    position: relative;
    max-height: 3em;
    padding: 1em 10px;
    font-size: 15px;
    cursor: pointer;
}
@media screen and (max-width: 1079px) {
    .site-menu__item > a {
        max-height: inherit;
        padding: 0;
        text-align: left;
        /*
        display:flex;
        align-items: center;
        flex-direction: row;
        */
        width:100%;
        position:relative;
    }
    .site-menu__item > a.first_link:after{

        content: "";
        margin: auto;
        position: absolute;
        bottom: 0;
        top:0;
        right: 10px;
        width: 10px;    /* くの字を山なりに見た時、左側の長さ */
        height: 10px;   /* くの字を山なりに見た時、右側の長さ */
        border-top: 2px solid #000;     /* くの字を山なりに見た時、左側の太さと色 */
        border-right: 2px solid #000;   /* くの字を山なりに見た時、右側の太さと色 */
        transform: rotate(45deg);    /* くの字の向き */
    }
    .site-menu__item > a span.menu_title{
        font-size:24px;
        line-height:2em;
        font-weight:600;
    }
    .site-menu__item > a span.jp{
        font-size:14px;
        font-weight:500;
        color:#666;
        /*padding-left:1.2em;*/
    }
    .site-menu__item > a:hover{
        background-color:#f6ff0e;
    }
    .site-header .site-menu__item > a:hover span{
        background:#f6ff0e;
    }
    .site-menu__item--contact{
        margin-bottom:100px;
        padding-bottom:100px;
    }
}


/* site-menu__child */
/* -------------------------------------------------------------------------- */
.site-menu__child {
    position: absolute;
    top: 100px;
    left: 0;
    /*overflow: hidden;*/
    width:100%;
    height:0px;
    overflow-y: hidden;
    background-color:#f3f3f2;
    border-top: solid 1px #dedddc;

}
@media screen and (max-width: 1079px) {
    .site-menu__child {
        position: relative;
        top: auto;
        left: auto;
        border-radius: 0;
        background-color: transparent;
        -webkit-box-shadow: none;
        padding: 2rem 0;
        border-top: none;
    }
}
.site-menu__child_inner{
    displau:inline-flex;
    margin:0 auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    gap:60px;
}
.site-menu__child .left{
    /*width:50%;*/
    max-width:50%;
    padding-top:120px;
/*    padding-left:100px;*/
    display:inline-block;
    /*justify-content: center;*/
}
.site-menu__child .left .left-inner{
    display: inline-block;
    margin:0 auto;

}
.site-menu__child .left .left-inner p{
    font-weight:600;
    text-align:left;
}
.site-menu__child .left .left-inner p.title{
    font-size:46px;
    padding-bottom:30px;
}
.site-menu__child .left .left-inner p.sub{
    font-size:14px;
}
.site-menu__child .right{
    padding-top:120px;

}

.site-menu__child__item {
    min-width: 16em;
    white-space: nowrap;
    padding-bottom:1em;
}

.site-menu__child__item > a .sub_menu_title{
    font-size:24px;
    font-weight:400;
    padding-right:1.2em;
}

.site-menu__child__item > a .jp{
    font-size:12px;
    color:#666;
}

.site-menu__child__item > a {
    padding:0.5em;
    position: relative;
}



.isnt-touch .site-menu__child__item > a:focus, .isnt-touch .site-menu__child__item > a:hover {
    background:none;
    background-color: #f6ff0e;
}

@media screen and (max-width: 1079px) {
    .isnt-touch .site-menu__child__item > a:focus, .isnt-touch .site-menu__child__item > a:hover {
        background-color: transparent;
    }
}

/* site-menu__child: toggle */
/* -------------------------------------------------------------------------- */
.site-menu__item .site-menu__child {
    max-height: 0;
    opacity: 0;
    height:0px;
    -webkit-transform: translateY(1em);
    transform: translateY(1em);
    -webkit-transition-property: max-height opacity, -webkit-transform;
    transition-property: max-height opacity, -webkit-transform;
    transition-property: max-height opacity, transform;
    transition-property: max-height opacity, transform, -webkit-transform;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
@media screen and (max-width: 1079px) {
    .site-menu__item .site-menu__child {
        -webkit-transform: none;
        transform: none;
        max-height:none;
        height:auto;
        padding-bottom:0;
        flex-flow: column;
        max-width:100%;
        width:100%;
        overflow-x: hidden;
        position: relative;
    }
    .site-menu__item .site-menu__child a{
        position:relative;
    }
    .site-menu__item .site-menu__child a:hover{
        background:#f6ff0e;
    }
    .site-menu__item .site-menu__child a::after { /* くの字の表示設定 */
        content: "";
        margin: auto;
        position: absolute;
        bottom: 0;
        top:0;
        right: 10px;
        width: 10px;    /* くの字を山なりに見た時、左側の長さ */
        height: 10px;   /* くの字を山なりにsite-menu__child見た時、右側の長さ */
        border-top: 2px solid #000;     /* くの字を山なりに見た時、左側の太さと色 */
        border-right: 2px solid #000;   /* くの字を山なりに見た時、右側の太さと色 */
        transform: rotate(45deg);    /* くの字の向き */
    }
    .site-menu__child__item > a .sub_menu_title{
        font-size:16px;
        line-height:2em;
        font-weight:600;
    }

    .site-menu__child__item > a .jp{
        font-size:12px;
        padding-right:1.2em;
    }
}
@media screen and (min-width: 1080px) {
    .isnt-touch .site-menu__item:focus .site-menu__child, .isnt-touch .site-menu__item:hover .site-menu__child {
        display: flex;
        justify-content: center;
        max-height: 50em;
        height: 500px;
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@media screen and (max-width: 1079px) {
    .site-menu__item .site-menu__child {
        opacity: 1;
    }
    .site-menu__item.is-open .site-menu__child {
    //    max-height: 50em;
    }
}
/* toggle-button */
/* -------------------------------------------------------------------------- */
/*
.toggle-button {
    position: absolute;
    display: none;
    cursor: pointer;
}
@media print {
    .toggle-button {
        display: none;
    }
}

@media screen and (max-width: 1079px) {
    .toggle-button {
        display: block;
    }
}

.toggle-button--pri {
    top: 10px;
    right: 10px;
    width: 4em;
    height: 4em;
}
.toggle-button--pri .toggle-button__line {
    display: block;
    position: absolute;
    top: 50%;
    left: 30%;
    width: 40%;
    height: 0.2em;
    border-radius: 0.2em;
    background-color: #000000;
}
.toggle-button--sec {
    top: 0;
    right: 0;
    width: 3em;
    height: 3em;
    font-size: 1.125em;
}
.toggle-button--sec::before {
    content: "";
    display: block;
    position: absolute;
    top: 1em;
    left: 1em;
    width: 1em;
    height: 1em;
    background-image: url(../images/common/ico_direction_01.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1em;
    -webkit-transition: -webkit-transform 0.2s ease-out;
    transition: -webkit-transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
}
.toggle-button--sec.is-open::before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.toggle-button--sec.is-close::before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.isnt-touch .site-menu__item:focus .toggle-button--sec::before, .isnt-touch .site-menu__item:hover .toggle-button--sec::before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

@-webkit-keyframes tbl_1_o {
    0% {
        -webkit-transform: translateY(-0.5em) rotate(0);
        transform: translateY(-0.5em) rotate(0);
    }
    25% {
        -webkit-transform: translateY(-0.75em) rotate(0);
        transform: translateY(-0.75em) rotate(0);
    }
    50% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    100% {
        -webkit-transform: translateY(0) rotate(-45deg);
        transform: translateY(0) rotate(-45deg);
    }
}

@keyframes tbl_1_o {
    0% {
        -webkit-transform: translateY(-0.5em) rotate(0);
        transform: translateY(-0.5em) rotate(0);
    }
    25% {
        -webkit-transform: translateY(-0.75em) rotate(0);
        transform: translateY(-0.75em) rotate(0);
    }
    50% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    100% {
        -webkit-transform: translateY(0) rotate(-45deg);
        transform: translateY(0) rotate(-45deg);
    }
}
@-webkit-keyframes tbl_1_c {
    0% {
        -webkit-transform: translateY(0) rotate(-45deg);
        transform: translateY(0) rotate(-45deg);
    }
    50% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    75% {
        -webkit-transform: translateY(-0.75em) rotate(0);
        transform: translateY(-0.75em) rotate(0);
    }
    100% {
        -webkit-transform: translateY(-0.5em) rotate(0);
        transform: translateY(-0.5em) rotate(0);
    }
}
@keyframes tbl_1_c {
    0% {
        -webkit-transform: translateY(0) rotate(-45deg);
        transform: translateY(0) rotate(-45deg);
    }
    50% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    75% {
        -webkit-transform: translateY(-0.75em) rotate(0);
        transform: translateY(-0.75em) rotate(0);
    }
    100% {
        -webkit-transform: translateY(-0.5em) rotate(0);
        transform: translateY(-0.5em) rotate(0);
    }
}
@-webkit-keyframes tbl_2_o {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }
    50% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }
    100% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }
}
@keyframes tbl_2_o {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }
    50% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }
    100% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }
}
@-webkit-keyframes tbl_2_c {
    0% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }
    50% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }
    100% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }
}
@keyframes tbl_2_c {
    0% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }
    50% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }
    100% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }
}
@-webkit-keyframes tbl_3_o {
    0% {
        -webkit-transform: translateY(0.5em) rotate(0);
        transform: translateY(0.5em) rotate(0);
    }
    25% {
        -webkit-transform: translateY(0.75em) rotate(0);
        transform: translateY(0.75em) rotate(0);
    }
    50% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    100% {
        -webkit-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg);
    }
}
@keyframes tbl_3_o {
    0% {
        -webkit-transform: translateY(0.5em) rotate(0);
        transform: translateY(0.5em) rotate(0);
    }
    25% {
        -webkit-transform: translateY(0.75em) rotate(0);
        transform: translateY(0.75em) rotate(0);
    }
    50% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    100% {
        -webkit-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg);
    }
}
@-webkit-keyframes tbl_3_c {
    0% {
        -webkit-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg);
    }
    50% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    75% {
        -webkit-transform: translateY(0.75em) rotate(0);
        transform: translateY(0.75em) rotate(0);
    }
    100% {
        -webkit-transform: translateY(0.5em) rotate(0);
        transform: translateY(0.5em) rotate(0);
    }
}
@keyframes tbl_3_c {
    0% {
        -webkit-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg);
    }
    50% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    75% {
        -webkit-transform: translateY(0.75em) rotate(0);
        transform: translateY(0.75em) rotate(0);
    }
    100% {
        -webkit-transform: translateY(0.5em) rotate(0);
        transform: translateY(0.5em) rotate(0);
    }
}
.toggle-button--pri.is-open .toggle-button__line:nth-of-type(1) {
    -webkit-animation: tbl_1_o 0.4s ease-in forwards;
    animation: tbl_1_o 0.4s ease-in forwards;
}
.toggle-button--pri.is-open .toggle-button__line:nth-of-type(2) {
    -webkit-animation: tbl_2_o 0.4s ease-in forwards;
    animation: tbl_2_o 0.4s ease-in forwards;
}
.toggle-button--pri.is-open .toggle-button__line:nth-of-type(3) {
    -webkit-animation: tbl_3_o 0.4s ease-in forwards;
    animation: tbl_3_o 0.4s ease-in forwards;
}

.toggle-button--pri.is-close .toggle-button__line:nth-of-type(1) {
    -webkit-animation: tbl_1_c 0.4s ease-in forwards;
    animation: tbl_1_c 0.4s ease-in forwards;
}
.toggle-button--pri.is-close .toggle-button__line:nth-of-type(2) {
    -webkit-animation: tbl_2_c 0.4s ease-in forwards;
    animation: tbl_2_c 0.4s ease-in forwards;
}
.toggle-button--pri.is-close .toggle-button__line:nth-of-type(3) {
    -webkit-animation: tbl_3_c 0.4s ease-in forwards;
    animation: tbl_3_c 0.4s ease-in forwards;
}
*/
.d-none{
  display: none;
}
.nav-icon-wrap{
  position: absolute;
  top: 1.6em;
  right: 1.5em;
  /*box-shadow: 0 0 1px #333;*/
}
.nav-icon{
  position: relative;
  display: block;
  width: 3em;
  height: 3em;
}
.nav-icon::before, .nav-icon::after{
  content: "";
  display: block;
  width: 60%;
  border-top: 2px solid #000;
  position: absolute;
  top: 40%;
  left: 20%;
  transition: .3s all;
}
.nav-icon::after{
  top: 60%;
}
#main-nav:checked ~ nav{
  display: block;
  left: 0;
}
#main-nav:checked ~ .nav-icon-wrap>.nav-icon::before{
  top: 50%;
  transform: rotate(45deg);
}
#main-nav:checked ~ .nav-icon-wrap>.nav-icon::after{
  top: 50%;
  transform: rotate(-45deg);
}

html.is-fixed,
html.is-fixed body {

    height: 100%;
    overflow: hidden;

}

/* is-scroll */
/* -------------------------------------------------------------------------- */


/*
@media screen and (max-width: 767px) and (orientation: portrait) {
    .site-header.is-scroll {
        padding: 0 2em;
    }
}
*/
.site-footer a{
    text-decoration: none;
    color:#000000;
    transition-duration: 0.2s;
    transition-property: all;
}
.site-footer a:hover{
    opacity: 0.6;
}
.site-footer .site-footer__wrapper{
    display:flex;
}
.site-footer .site-title{
    display:inline-block;
    width:420px;
    min-width:300px;
    /*height:460px;*/
    text-align:center;
    padding-top:170px;
    color:#FFF;
    background-color:#282828;
}
.footer_logo{
    width:260px;
    height:40px;
    min-height:40px;
    text-align: center;
    margin:0 auto;
    display:block;
}
.footer_logo img{
    width:100%;
    transition-duration: 0.2s;
    transition-property: all;
}
.site-title__sec{
    padding:50px;
    font-size:12px;
}
.site-footer .site-map-wrapper{
    display:inline-block;
    max-width:100%;
    padding-top:100px;
    width:calc(100% - 420px);
}
.site-footer .site-map-wrapper .wrapper-inner{
    background-color:#dedddc;
    height:100%;
    width:100%;
}
.site-footer .site-map{
    width:100%;
    padding-left:40px;
    padding-top:60px;
    padding-right:50px;
    display:flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;

    gap:20px;
}
.site-map-group{
    width:auto;
    padding:20px;
}
.site-map-group .title{
    font-size:16px;
    font-weight:600;
    line-height:2em;
    padding-bottom:1em;
}
.site-map-group .title-second {
    font-size: 14px;
    font-weight: 500;
    line-height: 2em;
}

.site-footer .sub-menu{
    width:100%;
    height:40px;
    padding:0 150px 0 60px;
    margin:50px 0;
    display:flex;
    flex-flow: row nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
}
.doc-menu{
    font-size:14px;
    display:inline-block;
}
.site-footer .sns{
    width:250px;
    text-align: right;
    display:inline-block;
}
.site-footer .sns_list{
    display:flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: center;
    gap:15px;
}
.site-footer .sns_list li{
    width:40px;
    height:40px;
}

@media screen and (max-width: 767px) and (orientation: portrait) {
    *:focus, *:focus-visible {
        outline: none;
    }
    .site-footer .site-footer__wrapper{
        position:relative;
    }
    .site-footer .site-title {
        position:absolute;
        left:0;
        top:0;
        z-index:2;
        width:80vw;
        height:50vw;
        padding-top:10vw;
    }
    .footer_logo{
        width:60vw;
    }
    .site-footer .site-map-wrapper{
        margin-top:30vw;
        padding:0;
        width:100%;
    }
    .site-footer .site-map-wrapper .wrapper-inner{
        padding-top:20vw;
        background-color:#dedddc;
    }
    .site-footer .site-map{
        padding:20px 20px 0px;
        display:block;
    }
    .site-footer .site-map-group{
        width:100%;
        padding:0;
        border-bottom:solid 2px #cfcecd;
    }
    .site-footer .site-map-group:first-child .title{
        border: none;
    }
    .site-footer .site-map-group:last-child{
        border-bottom:solid 2px #cfcecd;
    }
    .site-footer .site-map-group .title{
        /*border-top:solid 2px #cfcecd;*/
        padding:0.7em 20px ;
        position:relative;
    }
    .site-footer .site-map-group:last-child  .title{
        border-top:solid 2px #cfcecd;
    }
    .site-footer .site-map-group:last-child  .title:first-child{
        border-top:none;
    }
    .site-footer .site-map-group .title .btn_triger{
        position:absolute;
        top:0;
        bottom:0;
        right:0;
        width:40px;
        display:inline-flex;
        align-items: center;
        justify-content: center;
        border:none;
    }
    .site-footer .site-map-group .title .btn_triger span{
        transition-duration: 0.2s;
        transition-property: all;

    }
    .site-footer .site-map-group .title .btn_triger.is-open span{
        transform: rotate(45deg);
    }
    .site-footer .site-map-group .second_group{
        display:none;
        padding-bottom:1em;
    }
    .site-footer .site-map-group .title-second{
        padding:0 20px ;
    }
    .site-footer .sub-menu{
        display:block;
        height:auto;
        margin:0;
        padding:20px 40px;
    }
    .site-footer .sns{
        padding-top:2em;
        width:100%;
        text-align :left;
    }
    .site-footer .sns_list{
        justify-content: flex-start;
    }
    a#go_top{
        right:10px;
        bottom:10px;
        transform: scale(0.6);
    }

}
@media screen and (max-width: 1023px) {
    .site-footer .sub-menu{
        display:block;
        min-height:40px;
        height:auto;
    }
    .site-footer .doc-menu{
        padding-bottom: 30px;
    }
    .site-footer .sns_list{
        justify-content: flex-start;
    }

}

.fade {
    opacity: 0;
    transform: translateY(50px); /* 下に100pxの位置から */
    transition-property:all;
    transition: opacity 2s, transform 1s;
}

.fade.fade-in {
    opacity: 1;
    transform: translateY(0); /* 30px上に移動する */
}
#go_top{
    display:none;
    width:70px;
    height:70px;
    position:fixed;
    z-index:1000;
    transition-property:all;
    transition: opacity 2s, transform 1s;
    right:50px;
    bottom:50px;
    background-color:#FFF;
    border:solid 2px #000000;
    color:#000000;
    overflow:hidden;
    border-radius: 50%;
    opacity: 0;
}
#go_top.active{

    display:block;
    opacity: 1;

}
#go_top .allow{
    display:block;
    transform: rotate(-90deg);
    margin:0 auto;
    padding-right:25px;
    transition-property:all;
    transition: opacity 2s, transform 1s;
}
#go_top:hover{
    background-color:#000000;
}
#go_top:hover .allow{
    filter: invert(100%);
}

#go_top.is-top{
    opacity: 0;
}
html.is-fixed #go_top,
html.is-fixed #go_top.active{
    display:none;
}