@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELL?��?????
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
@import url("https://fonts.googleapis.com/css?family=Fjalla+One");
@import url("https://fonts.googleapis.com/css?family=Fjalla+One");

* {
    margin: 0;
    padding: 0;
}

header,
main,
article,
section,
nav,
aside,
figure,
figcaption,
footer {
    display: block;
}

a {
    background-color: transparent;
    outline: none;
}

img {
    border: none;
    vertical-align: bottom;
}

table {
    border-collapse: collapse;
    border: none;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}

label {
    font-size: 16px;
    color: #333;
    font-weight: bold;
    margin-bottom: 8px;
    /* display: flex; */
    /* Ensures it aligns properly above inputs */
}


.l-header__bar {
    position: relative;
    width: 100%;
    display: none;
}

.l-header__barInner {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    display: none;
}

.l-header__inner {
    display: none;
}


/* ---------- common ---------------------------------------- */
body {
    color: #000;
    font-size: 100%;
    /* font-family: "dnp-shuei-gothic-gin-std", sans-serif; */
    /* 	font-family: "fot-rodin-pron", sans-serif; */
    /* 	font-family: "fot-cezanne-pron", sans-serif; */
    /* 	font-weight: 500; */
    font-style: normal;
    -webkit-text-size-adjust: 100%;
}

@media (min-width: 769px) {
    body {
        /* overflow: auto !important; */
        padding-left: 16rem;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #000;
    font-size: 100%;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: 0.08em;
}

p {
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 200%;
}

address {
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 200%;
}

th,
td {
    font-size: 16px;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: 0.08em;
    text-align: left;
    vertical-align: top;
}

dt,
dd {
    font-size: 16px;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: 0.08em;
}

li {
    font-size: 16px;
    font-weight: 500;
    /* line-height: 160%; */
    letter-spacing: 0.08em;
    /* list-style-type: none; */
}

input,
textarea,
select {
    font-size: 16px;
    letter-spacing: 0.08em;
    line-height: 100%;
}

a {
    letter-spacing: 0.08em;
}

a:link,
a:visited,
a:hover,
a:active {
    color: #1f286f;
    /* text-decoration: none; */
}


.p-pnLinks .-next .p-pnLinks__link {
    border-right: 1.25em solid #1f286f;
}

.p-pnLinks .-prev .p-pnLinks__link {
    border-left: 1.25em solid #1f286f;
}


/* views */
.spView,
.spViewInb,
.tbView {
    display: none !important;
}

@media only screen and (max-width:991px) {
    .tbView {
        display: block !important;
    }
}

@media only screen and (max-width:768px) {
    .spView {
        display: block !important;
    }

    .spViewInb {
        display: inline-block !important;
    }

    .pcView {
        display: none !important;
    }
}

/* clearfix */
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.mincho {

    font-weight: 600;
}

.en,
.num {
    /* font-family: 'Abel', sans-serif; */
    /* font-family: "Century Gothic", sans-serif; */
    letter-spacing: 0.1em;
    font-weight: 500;
}


.p-breadcrumb__item {
    font-size: 1.1em;
}




#body_wrap {
    /* max-width: calc(100% - 250px); */
    /* overflow-x: clip; */
    /* position: relative; */
    z-index: 1;
    /* margin-left: 250px; */
    /* height: 100%; */
}





@media only screen and (max-width: 600px) {

    #body_wrap {
        /* max-width: calc(100% - 250px); */
        /* overflow-x: clip; */
        /* position: relative; */
        z-index: 1;
        /* margin-left: 250px; */
        /* height: 100%; */
        top: 50px;
    }

}



.c-gnav {
    display: flex;
    height: 100%;
    text-align: center;
    display: none;
}



/* ---------- container ---------------------------------------- */
#container {
    position: relative;
    min-width: 1040px;
    left: 0;
    top: 80px;
}

.btn-shop {
    position: absolute;
    bottom: 10%;
    left: 10%;
    width: 100px;
    height: 100px;
}

.btn-shop a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #9d0012;
    text-align: center;
}

.btn-shop a span {
    margin-top: 18px;
    display: inline-block;
    padding-top: 28px;
    /* 	background: url(../images/ic_cart_white.png) no-repeat center top; */
    background-size: 22px auto;
    color: #fff;
    font-size: 14px;
}

.btn-shop a span:before {
    font-family: "Font Awesome 6 Brands";
    content: "\f167";
    font-size: 25px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 10px;
    left: 40%;
    right: 35%;
    padding-right: 10px;
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}



.btn-yoyaku-tel {
    position: absolute;
    bottom: 25%;
    left: 10%;
    right: 10%;
    width: 200px;
    height: 100px
}

.btn-yoyaku-tel a {
    display: block;
    width: 100%;
    height: 100px;
    background-color: #007ec5;
    text-align: center;
}

.btn-yoyaku-tel a span {
    margin-top: 18px;
    display: inline-block;
    padding-top: 28px;
    /* 	background: url(../images/ic_cart_white.png) no-repeat center top; */
    background-size: 22px auto;
    color: #fff;
    font-size: 16px;
    /* font-weight: 600; */
}

.btn-yoyaku-tel a span:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0e0";
    font-size: 22px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 8px;
    left: 40%;
    right: 35%;
    padding-right: 10px;
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}


[data-ruby] {
    position: relative;
}

[data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -1em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 0.5em;
}





/* btn-spnav */
.btn-spnav {
    display: none;
}


/* ---------- main ---------------------------------------- */
#main {
    overflow: hidden;
    /* padding: 1%; */
}

/* 

.l-content {
    top: 90px;
}

.p-breadcrumb {
    top: 90px;
} */




/* ---------- footer ---------------------------------------- */
#footer {
    padding: 0px 0 0px;
    text-align: center;
    color: #000;
    /* position: relative; */
}

#footer .logo {
    /* margin-bottom: 23px; */
}

.fnav {
    margin-bottom: 12px;
}

.fnav ul {
    text-align: center;
}

.fnav ul li {
    display: inline-block;
    margin: 0 6px;
}

.fnav ul li a {
    /* 	padding: 3px 0 3px 13px; */
    /* 	background: url(../images/ic_arrow.png) no-repeat center left; */
    background-size: 8px 8px;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: 0.08em;
    color: #fff;
}


.fnav ul li a:before {
    font-family: 'FontAwesome';
    content: "\f095";
    font-size: 15px;
    font-style: normal;
    padding-right: 5px;
}

.fnav ul li a:after {
    /* 	font-family: 'themify';
	content: "\e649";
	font-size: 10px;
	font-style: normal;
	padding-left:5px; */
}


#footer .copyright {}

#footer .copyright small {
    font-size: 13px;
    line-height: 120%;
    letter-spacing: 0.08em;
}

/* pagetop */
/* .pagetop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 2000;
}
.pagetop a {
	display: block;
	background: url(../images/pagetop.png) no-repeat center center;
	width: 60px;
	height: 60px;
	text-align: center;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
}




.pagetop a:after {

font-family: 'themify';
content: "\e693";
font-size: 13px;
font-style: normal;
font-weight: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;

padding-right: 10px;
z-index: 1;
line-height: 30px;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;

} */







/* buynow */
#footer .buynow {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
}

.buynow {
    width: 210px;
    height: 50px;
}

.buynow a {
    display: block;
    height: 100%;
    width: 50%;
    float: left;
    background-color: #212121;
}

.buynow a span {
    display: inline-block;
    padding-left: 0px;
    /* background: url(../images/ic_cart_white.png) no-repeat left center; */
    background-size: 20px auto;
    color: #fff;
    font-size: 14px;
    line-height: 50px;
    font-family: 'themify';

}


.buynow a span:before {
    font-family: 'themify';
    font-size: 13px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*       position: absolute;  */
    /* 	 top: 0; */
    padding-right: 10px;
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}





/* ----------------------------------------------------------
   
   #scrollUp
   
   ---------------------------------------------------------- */

#scrollUp {
    position: fixed;
    bottom: 85px;
    right: 11px;
    z-index: 1000;
}

#scrollUp a {
    width: 60px;
    height: 60px;
    display: block;
    color: #fefefe;
    background: #162a43;
    border: none;
    text-align: center;
    z-index: 11;
    /* -webkit-border-radius: 100%; */
    -moz-border-radius: 100%;
    /* border-radius: 100%; */
    position: relative;
    z-index: 1;
}

#scrollUp a:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    font-family: 'FontAwesome';
    content: "\f106";
    font-size: 15px;
    line-height: 58px;
}

#scrollUp a:hover {
    -webkit-transform: translate(0px, -10px);
    -moz-transform: translate(0px, -10px);
    -o-transform: translate(0px, -10px);
    -ms-transform: translate(0px, -10px);
    transform: translate(0px, -10px);
}

@media only screen and (max-width: 800px) {
    #scrollUp a:hover {
        -webkit-transform: translate(0px, 0px);
        -moz-transform: translate(0px, 0px);
        -o-transform: translate(0px, 0px);
        -ms-transform: translate(0px, 0px);
        transform: translate(0px, 0px);
    }
}

@media only screen and (max-width: 414px) {
    #scrollUp a {
        width: 50px;
        height: 50px;
    }

    #scrollUp a:before {
        font-size: 16px;
        line-height: 48px;
    }
}





@media (min-width: 769px) {
    .buynow {
        display: none !important;
    }
}

/* ---------- spnav ---------------------- */
#spnav {
    display: none;
}

#spnav-overlay {
    opacity: 0;
}

@media (min-width: 769px) {
    #spnav {
        display: none !important;
    }

    #spnav-overlay {
        opacity: 0 !important;
    }
}

/* ---------- is-pc (PC or ??????????????????) ---------------------- */
#is-pc {
    display: block;
}

.is-pc {
    display: block;
}

.is-sp {
    display: none;
}

@media only screen and (max-width: 768px) {
    #is-pc {
        display: none;
    }

    .is-pc {
        display: none;
    }

    .is-sp {
        display: block;
    }
}


@media only screen and (max-width: 768px) {

    /* ---------- common ---------------------------------------- */
    body {}

    p,
    address,
    th,
    td,
    li,
    dt,
    dd,
    input,
    textarea,
    select {
        font-size: 15px;
    }


    /* ---------- container ---------------------------------------- */
    #container {
        min-width: inherit;
    }


    .sns-nav {
        position: relative;
        top: inherit;
        right: inherit;
        margin-bottom: 26px;
    }

    .sns-nav ul {
        padding-top: 20px;
        padding-right: 0;
        text-align: center;
        font-size: 0;
    }

    .sns-nav ul li {
        float: none;
        display: inline-block;
        margin: 0 6px;
    }

    .sns-nav ul li a {
        padding: 4px 4px;
        color: #fff;
        font-size: 21px;
    }

    .sns-nav ul li a span {
        font-size: 12px;
        padding-left: 3px;
    }

    .btn-shop {
        position: relative;
        top: inherit;
        right: inherit;
    }

    .btn-shop {
        width: 90%;
        max-width: 320px;
        height: 50px;
        margin: 0 auto 0;
    }

    .btn-shop a {
        display: block;
        width: 100%;
        height: 100%;
        background-color: #fff;
        text-align: center;
    }

    .btn-shop a span {
        margin-top: 0;
        padding: 0 0 0 0;
        /* 		background: url(../images/ic_cart_blank.png) no-repeat left center; */
        background-size: 22px auto;
        color: #212121;
        font-family: 'themify';
        font-size: 14px;
        line-height: 50px;
        font-weight: 600;
    }

    .btn-shop a span:before {
        font-family: 'themify';
        content: "\e693";
        font-size: 15px;
        font-style: normal;
        font-weight: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        /* position: absolute; */
        top: 20%;
        left: 0;
        padding-right: 10px;
        z-index: 1;
        line-height: 30px;
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s;
    }


    .btn-yoyaku-tel {
        position: relative;
        top: inherit;
        right: inherit;
    }

    .btn-yoyaku-tel {
        width: 90%;
        max-width: 320px;
        height: 50px;
        margin: 0 auto 0;
    }

    .btn-yoyaku-tel {
        display: block;
        width: 100%;
        height: 50px;
        background-color: #fff;
        text-align: center;
    }

    .btn-yoyaku-tel a span {
        margin-top: 0;
        padding: 0 0 0 0;
        /* 		background: url(../images/ic_cart_blank.png) no-repeat left center; */
        background-size: 22px auto;
        color: #fff;
        font-family: 'themify';
        font-size: 14px;
        line-height: 50px;
        font-weight: 600;
    }

    .btn-yoyaku-tel a span:before {
        /* 		font-family: 'themify';
		content: "\e693"; */
        font-size: 15px;
        font-style: normal;
        font-weight: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        /* position: absolute; */
        top: 20%;
        left: -30px;
        padding-right: 10px;
        z-index: 1;
        line-height: 30px;
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s;
    }





    /* btn-spnav */
    .btn-spnav {
        display: none;
    }

    /* fixed-gnav-area */
    .fixed-gnav-area {
        display: none !important;
    }

    /* btn-spnav */
    .btn-spnav {
        display: block;
        position: absolute;
        right: 4%;
        top: 18px;
        width: 24px;
        height: 24px;
        font-size: 0;
        cursor: pointer;
        -webkit-transition: background 0.3s;
        transition: background 0.3s;
        z-index: 6000;
    }

    .btn-spnav:focus {
        outline: none;
    }

    .btn-spnav span {
        display: block;
        position: absolute;
        width: 24px;
        top: 12px;
        right: 0;
        height: 1px;
        background: #757575;
        -webkit-transition: background 0 0.3s;
        transition: background 0 0.3s;
    }

    .btn-spnav span:before,
    .btn-spnav span:after {
        position: absolute;
        display: block;
        left: 0;
        width: 24px;
        height: 1px;
        background-color: #757575;
        content: "";
        -webkit-transition-duration: 0.3s, 0.3s;
        transition-duration: 0.3s, 0.3s;
        -webkit-transition-delay: 0.3s, 0;
        transition-delay: 0.3s, 0;
    }

    .btn-spnav span:before {
        top: -8px;
        -webkit-transition-property: top, -webkit-transform;
        transition-property: top, transform;
    }

    .btn-spnav span:after {
        bottom: -8px;
        -webkit-transition-property: bottom, -webkit-transform;
        transition-property: bottom, transform;
    }

    .open .btn-spnav span {
        background: none;
    }

    .open .btn-spnav span:before,
    .open .btn-spnav span:after {
        /* background: #fff; */
        -webkit-transition-delay: 0, 0.3s;
        transition-delay: 0, 0.3s;
    }

    .open .btn-spnav span:before {
        top: 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .open .btn-spnav span:after {
        bottom: 0;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    /* ---------- main ---------------------------------------- */
    #main {
        overflow: hidden;
        margin-top: 50px;
    }

}

@media only screen and (max-width: 500px) {

    #main {
        margin-top: 0px;
    }


}


/* -----------------------------------------
2020.10.28
----------------------------------------- */

/* --------- .inner --------- */
.footer_inner {
    padding: 40px 5% 60px;
    overflow: auto;
}

@media only screen and (max-width: 738px) {
    .footer_inner {
        padding: 50px 5%;
    }
}

/*  .infoArea */
#footer .info_area {
    /* float: left; */
    /* width: 30%; */
}

/* #footer .info_area h1 {
    width: 230px;
    height: 120px;
    background: url(../../../common/img/logo_header.svg) center center no-repeat;
    background-size: 180px 90px;
    display: block;
    position: relative;
    overflow: hidden;
    text-indent: -999px;
    z-index: 1003;
    margin: 0 auto;
}

#footer .info_area .logo {
    width: 230px;
    height: 120px;
    background: url(../../../common/img/logo_header.svg) center center no-repeat;
    background-size: 180px 90px;
    display: block;
    position: relative;
    overflow: hidden;
    text-indent: -999px;
    z-index: 1003;
    margin: 0 auto;
}
 */



#footer .info_area p {
    /* margin-bottom: 5px; */
    line-height: 1.3;
}

#footer .info_area .txt_area {
    margin-top: 5px;
    padding: 0 10% 0 1px;
    padding: 0;
    /* color: #08397b; */
    color: #555;
    font-weight: 500;
}

#footer .info_area .txt_area p {
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: 0.5px;
    font-feature-settings: "palt" 1;
    /* font-family: dnp-shuei-mgothic-std, sans-serif; */
}

#footer .info_area .txt_area a {
    color: #555;
}

#footer .info_area .txt_area a:hover {
    color: #ccc;
}

@media only screen and (max-width: 1180px) {
    #footer .info_area .txt_area p br {
        /* display: none; */
    }
}

@media only screen and (max-width: 1024px) {
    #footer .info_area h1 {
        width: 180px;
        height: 50px;
        background-size: 180px 50px;
    }
}

@media only screen and (max-width: 900px) {
    #footer .info_area {
        float: none;
        width: 100%;
    }

    #footer .info_area h1 {
        width: 100%;
        height: 150px;
        background-size: 200px 104px;
    }

    #footer .info_area .txt_area {
        margin: 25px auto 0;
        padding: 0 7.5%;
        max-width: 600px;
    }

    #footer .info_area .txt_area p {
        font-size: 13px;
        line-height: 2;
    }
}

@media only screen and (max-width:736px) {
    #footer .info_area h1 {
        height: 50px;
        background-size: 180px 50px;
    }

    #footer .info_area .txt_area {
        margin: 25px auto 0;
        padding: 0 2.5%;
        font-size: 15px;
    }

    #footer .info_area .txt_area p {
        font-size: 15px;
        line-height: 1.8;
        letter-spacing: 2px;
    }

}

@media only screen and (max-width:736px) {
    #footer .info_area h1 {
        height: 110px;
        background-size: 200px 104px;
    }
}




#footer .info_area .txt_phone {
    font-size: 20px;
}


/*  .right_area */
/* #footer .right_area {
    float: right;
    width: 66.666%;
} */
@media only screen and (max-width: 900px) {
    #footer .right_area {
        float: none;
        width: 100%;
    }
}

/*  .sitemapArea */
#footer .sitemap_area {
    display: block;
    width: 100%;
    /* margin-top: 30px; */
}

#footer .sitemap_area h3 {
    color: #ffffff;
    /* color: #464544; */
    font-size: 14px;
    /* font-family: 'Poppins', sans-serif; */
    /* font-weight: 600; */
    letter-spacing: 1px;
    text-align: left;
}

#footer .sitemap_area ul {
    display: block;
    list-style: none;
    /* font-size: 0; */
    /* margin: -5px -2% 0; */
    text-align: left;
    display: block;
}

#footer .sitemap_area ul li {
    display: inline-block;
    width: 28.333%;
    margin: 5px 1% 0;
    text-align: left;
    padding: 0 1%;
}

#footer .sitemap_area ul li a {
    color: #555;
    display: block;
    font-size: 13px;
    letter-spacing: 1px;
    line-height: 50px;
    border-bottom: #555 1px solid;
    position: relative;
    z-index: 1;
}

#footer .sitemap_area ul li a:before,
#footer .sitemap_area ul li a:after {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#footer .sitemap_area ul li a:before {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 100%;
    height: 0;
    content: "";
    border-bottom: transparent 1px solid;
    z-index: 0;
}

#footer .sitemap_area ul li a:hover:before {
    right: 0;
    border-color: #fefefe;
}

#footer .sitemap_area ul li a:after {
    position: absolute;
    top: 0;
    right: 0;
    color: #464544;
    color: #fff;
    font-family: 'themify';
    content: "\e6ad";
    z-index: 1;
}

#footer .sitemap_area ul li a:hover:after {
    color: #fefefe;
    right: -5px;
}

@media only screen and (max-width: 900px) {
    #footer .sitemap_area {
        margin-top: 30px;
    }

    #footer .sitemap_area h3 {
        font-size: 14px;
        text-align: center;
    }

    #footer .sitemap_area ul li a {
        font-size: 13px;
    }

    #footer .sitemap_area ul li a:before {
        display: none;
    }

    #footer .sitemap_area ul li a:hover:after {
        color: #333;
        right: 0;
    }
}

@media only screen and (max-width:736px) {
    #footer .sitemap_area ul {
        margin: -5px -2.5% 0;
    }

    #footer .sitemap_area ul li {
        width: 45%;
        margin: 5px 1% 0;
    }

    #footer .sitemap_area ul li a {
        font-size: 11px;
    }
}

/* --------- .company_area --------- */
#footer .company_area {
    display: block;
    margin: 45px -2% 0px;
    padding: 45px 0 0;
    font-size: 0;
    position: relative;
    z-index: 0;
}



#footer .copyright p {
    color: #fff;
    text-align: right;
    padding: 0 18px;
    line-height: 60px;
}

#footer .copyright:before {
    position: absolute;
    top: 0;
    left: 2%;
    right: 2%;
    height: 0;
    content: "";
    border-top: #f2f2f2 1px dotted;
    z-index: 1;
}

#footer .company_area:before {
    position: absolute;
    top: 0;
    left: 2%;
    right: 2%;
    height: 0;
    content: "";
    border-top: #333 1px dotted;
    z-index: 1;
}

#footer .company_box {
    display: inline-block;
    width: 29.333%;
    margin: 0 2%;
    position: relative;
    z-index: 1;
    text-align: center;
}

/* .cityArea */
#footer .company_box .cityArea {
    position: relative;
    z-index: 1;
}

#footer .company_box h3 {
    line-height: 1;
}

#footer .company_box h3.en {
    color: #f0f0f0;
    font-size: 18px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    letter-spacing: 0.5px;
}

#footer .company_box h3.jp {
    color: #f0f0f0;
    font-size: 12px;
    margin-top: 8px;
    font-weight: 700;
    letter-spacing: 1px;
}

/* .txtArea */
#footer .company_box .txtArea {
    margin-top: 15px;
}

#footer .company_box p.tel {
    color: #f0f0f0;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    line-height: 20px;
}

#footer .company_box p.tel span {
    color: #858585;
    font-size: 0.8em;
    font-weight: 500;
    vertical-align: 0;
}

#footer .company_box .linkArea {
    margin-top: 15px;
}

#footer .company_box a.btn {
    border-width: 1px;
}

#footer .company_box a.btnMail {
    margin: 0;
    line-height: 35px;
    font-size: 12px;
    border-color: #333;
    color: #fefefe;
}

#footer .company_box a.btnGoogle {
    margin: 5px 0 0;
    line-height: 35px;
    font-size: 12px;
    border-color: #333;
    color: #fefefe;
}

#footer .company_box a.btnMail:hover,
#footer .company_box a.btnGoogle:hover {
    color: #fefefe;
    background: #14357b;
    border-color: #14357b;
}

#footer .company_box a.btnMail:after,
#footer .company_box a.btnGoogle:after {
    content: "\e649";
    font-size: 15px;
    left: 15px;
    right: auto;
    font-weight: normal;
}

#footer .company_box a.btnMail:hover:after,
#footer .company_box a.btnGoogle:hover:after {
    left: 15px;
    right: auto;
}

#footer .company_box a.btnMail:after {
    content: "\e75a"
}

#footer .company_box a.btnGoogle:after {
    content: "\e693"
}

@media only screen and (max-width: 900px) {
    #footer .company_box h3.en {
        font-size: 18px;
    }

    #footer .company_box p.tel {
        font-size: 14px;
    }

    #footer .company_box a.btnMail {
        margin: 0;
        line-height: 35px;
        font-size: 12px;
    }

    #footer .company_box a.btnGoogle {
        margin: 5px 0 0;
        line-height: 35px;
        font-size: 12px;
    }

    #footer .company_box a.btnMail:hover {
        color: #fefefe;
        background: none;
        border-color: #333;
    }

    #footer .company_box a.btnGoogle:hover {
        color: #fefefe;
        background: none;
        border-color: #333;
    }

    #footer .company_box a.btnMail:after,
    #footer .company_box a.btnGoogle:after {
        font-size: 14px;
        left: 10px;
        line-height: 35px;
    }

    #footer .company_box a.btnMail:hover:after,
    #footer .company_box a.btnGoogle:hover:after {
        left: 10px;
    }
}

@media only screen and (max-width: 768px) {
    #footer .company_area {
        margin: 40px -2% 0;
        padding: 40px 0 0;
    }

    #footer .company_box h3.en {
        font-size: 18px;
        letter-spacing: 0.5px;
    }

    #footer .company_box h3.jp {
        font-size: 12px;
        margin-top: 8px;
    }

    #footer .company_box p.tel {
        font-size: 13px;
    }

    #footer .company_box .txtArea {
        margin-top: 10px;
    }

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        line-height: 30px;
        font-size: 12px;
    }

    #footer .company_box a.btnMail:after,
    #footer .company_box a.btnGoogle:after {
        font-size: 13px;
        line-height: 30px;
    }




}

@media only screen and (max-width: 738px) {
    #footer .company_box h3.en {
        font-size: 15px;
    }

    #footer .company_box h3.jp {
        font-size: 12px;
        margin-top: 5px;
    }

    #footer .company_box .txtArea {
        margin-top: 5px;
    }

    #footer .company_box p.tel {
        font-size: 12px;
        letter-spacing: 0.5px;
    }

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        font-size: 11px;
        letter-spacing: 0.5px;
    }
}

@media only screen and (max-width: 560px) {
    #footer .company_area {
        margin: 40px 0 0;
        padding: 35px 0 0;
    }

    #footer .company_area:before {
        left: 0;
        right: 0;
    }

    #footer .company_box {
        display: block;
        width: 100%;
        margin: 30px 0 0;
        position: relative;
        z-index: 0;
    }

    #footer .company_box:first-child {
        margin: 0;
    }

    #footer .company_box h3.en {
        font-size: 15px;
    }

    #footer .company_box h3.jp {
        font-size: 10px;
        margin-top: 5px;
    }

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        display: inline-block;
        margin: 0 2%;
        width: 46%;
        max-width: 150px;
    }

    #footer .copyright p {
        /* color:#fff; */
        text-align: center;
        padding: 0 18px;
    }


}

@media only screen and (max-width: 320px) {

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        line-height: 30px;
    }

    #footer .company_box a.btnMail:after,
    #footer .company_box a.btnGoogle:after {
        font-size: 12px;
        line-height: 30px;
    }
}


/* ----- top-visual ----- */

#top-visual {
    position: relative;
    top: 0;
    height: calc(100vh - 100px);
    left: 80px;
    right: 10px;
    padding-top: 10px;
    border-radius: 0;
    width: calc(100% - 90px);
}




/* top-slider */

#top-visual .slider {
    width: 100%;
    height: 100vh;
    padding: 0;
}

#top-visual .slider li {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}


/* bx-slider */

#top-visual .slider .bx-viewport,
#top-visual .slider .bx-wrapper {
    position: relative;
    width: 100%;
    /* height: 90% !important; */
    top: 0;
    left: 0;
}

#top-visual .slider .bx-wrapper ul {
    height: calc(100vh - 100px);
}

#top-visual .slider .bx-wrapper ul li {
    height: 99%;
}

#top-visual .slider .bx-wrapper ul li img {
    width: 100%;
    height: auto;
}


/* controls */

#top-visual .slider .bx-controls {
    display: none;
}


/* loader */

#top-visual .slider .bx-wrapper .bx-loading {
    display: none;
}


/* zoom animation */

#top-visual .slider .bx-wrapper li {
    -webkit-transform: -webkit-scale(1.3);
    -ms-transform: -ms-scale(1.3);
    transform: scale(1.3);
    -webkit-animation: zoom 15s linear;
    animation: zoom 15s linear;
}

#top-visual .slider p {
    position: absolute;
    /* bottom: 40%; */
    /* right: 30%; */
    /* right: 25%; */
    font-size: 20px;
    font-weight: 600;
    font-family: dnp-shuei-mgothic-std, sans-serif;
    color: #fff;
}

#top-visual .slider p.t01 {
    /* bottom: 30%; */
    /* right:100px; */
}

#top-visual .slider p.t02 {
    color: #fff;
}

#top-visual .slider p.t03 {
    top: 70%;
}

@-webkit-keyframes zoom {
    0% {
        -webkit-transform: -webkit-scale(1);
        -ms-transform: -ms-scale(1);
        transform: scale(1);
    }

    100% {
        -webkit-transform: -webkit-scale(1.3);
        -ms-transform: -ms-scale(1.3);
        transform: scale(1.3);
    }
}

@keyframes zoom {
    0% {
        -webkit-transform: -webkit-scale(1);
        -ms-transform: -ms-scale(1);
        transform: scale(1);
    }

    100% {
        -webkit-transform: -webkit-scale(1.3);
        -ms-transform: -ms-scale(1.3);
        transform: scale(1.3);
    }
}

#top-visual .inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    /* height: calc(100% - 100px); */
    /* min-width: 1080px; */
}

#top-visual .box {
    /* position: relative; */
    /* height: calc(100% - 100px); */
    /* height: 100%; */
}

#top-visual .catchcopy {
    position: absolute;
    bottom: 50px;
    right: 100px;
    margin-top: -77px;
    z-index: 1000;
}

#top-visual .catchcopy h2 {
    font-size: 30px;
    margin-bottom: 10px;
    font-weight: 600;
}

#top-visual .catchcopy p {
    font-size: 21px;
    line-height: 1.5;
    font-weight: 500;
}

#top-visual .scroll {
    position: absolute;
    bottom: 188px;
    right: 40px;
    z-index: 1000;
}

#top-visual #newsize {
    display: none;
    position: absolute;
    top: 130px;
    right: 194px;
    z-index: 1000;
}

#top-visual .award {
    position: absolute;
    top: 500px;
    right: 100px;
    z-index: 1000;
}

#top-visual .award img {
    max-width: 450px;
    height: auto;
}

#top-visual .box2 {
    /* position: relative; */
    /* height: 100%; */
    /* max-width: 1160px; */
    /* margin: auto; */
}

#top-visual .label {
    margin: 0 40px 5%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1000;
}

#top-visual .label img {
    width: 100%;
    height: auto;
}



@media screen and (max-width: 800px) {}

.p-mainVisual {
    overflow: hidden;
    position: relative;
    width: calc(100% - 90px);
    top: 90px;
    margin: 0 0 0 90px;
}


.-height-set .p-mainVisual__slide {
    /* height: calc(100vh - 190px); */
    /* border-radius: 0 0 0 3em; */
}



/* --------- .inner --------- */
.footer_inner {
    padding: 40px 5% 60px;
    overflow: auto;
}

@media only screen and (max-width: 738px) {
    .footer_inner {
        padding: 50px 5%;
    }
}

#footer .footer_1st {
    display: flex;
    flex-wrap: wrap;
}

#footer .f_1stL {
    width: 60%;
    display: flex;
    align-items: center;
    font-family: "Century Gothic", sans-serif;
}

#footer .f_1stR {
    width: 40%;
    text-align: center;
}

#footer .footer_en_name {
    color: #37211b;
    font-size: 40px;
    font-weight: 600;
    display: inline;
}

#footer .en_catch {
    height: 35px;
    padding-left: 30px;
    color: #555;
    font-size: 16px;
    line-height: 35px;
    display: inline;
}

#footer .en_catch {
    height: 35px;
    padding-left: 30px;
    color: #555;
    font-size: 16px;
    line-height: 35px;
    display: inline;
}

@media only screen and (max-width: 738px) {
    #footer .en_catch {
        padding-left: 0px;
    }
}

#footer .f_1stR ul {
    display: flex;
}

#footer .f_1stR ul li {
    margin: 5px 5px 0;
    position: relative;
    z-index: 1;
    width: 290px;
    /*     margin: 5px auto; */
}

#footer .f_1stR ul li a,
#footer .f_1stR ul li span {
    display: block;
    line-height: 50px;
    position: relative;
    z-index: 2;
    color: #000;
}


@media only screen and (max-width: 738px) {

    #footer .f_1stL {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        flex-wrap: nowrap;
    }

    #footer .f_1stR {
        width: 100%;
        flex-direction: column;
    }


    #footer .f_1stR ul {
        flex-direction: column;
    }

    #footer .f_1stR ul li {
        margin: 5px 0px 0;
        width: 100%;
    }

}


#footer .f_1stR ul li .tel {
    color: #b7b7b7;
    border: #111 1px solid;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 2px;
    max-width: 250px;
    margin: 0 auto;
    padding-left: 20px;
}


/*#footer .txtArea ul li .tel:before { position:absolute; top:0; left:20px; bottom:0; width:25px; content:""; background:url(../images/telIcon.png) left center no-repeat; }*/

#footer .f_1stR ul li .tel:before {
    position: absolute;
    top: 5px;
    left: 10px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'Font Awesome 6 pro';
    content: "\f879";
    font-weight: normal;
    color: #111;
    transform: rotate(-260deg);
}


/* .mail */

#footer .f_1stR ul li .mail {
    /* color: #fff; */
    border: #666666 1px solid;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    /* max-width: 250px; */
    margin: 0 auto;
    padding-left: 20px;
}

#footer .f_1stR ul li .mail:before {
    position: absolute;
    top: 0;
    left: 21px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'themify';
    content: "\e75a";
    font-weight: normal;
}

#footer .f_1stR ul li .mail:before {
    position: absolute;
    top: 0;
    left: 11px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'themify';
    content: "\e75a";
    font-family: "Font Awesome 6 Pro";
    content: "\f0e0";
}

#footer .f_1stR ul li .mail:hover {
    color: #fefefe;
    background: #14357b;
    border: #f0fafe 1px solid;
}

#footer .f_1stR ul li .mail:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    font-size: 10px;
    font-family: "Font Awesome 6 Pro";
    content: "\f105";
    font-weight: normal;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}






#footer .f_1stR ul li .mail:hover:after {
    opacity: 1;
    -webkit-transform: translate(5px, 0px);
    -moz-transform: translate(5px, 0px);
    -o-transform: translate(5px, 0px);
    -ms-transform: translate(5px, 0px);
    transform: translate(5px, 0px);
}



/* .youtube */

#footer .f_1stR ul li .youtube {
    /* color: #fff; */
    border: #666666 1px solid;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    /* max-width: 250px; */
    margin: 0 auto;
    padding-left: 20px;
    font-family: "Century Gothic", sans-serif;
}

#footer .f_1stR ul li .youtube:before {
    position: absolute;
    top: 0;
    left: 21px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'themify';
    content: "\e75a";
    font-weight: normal;
}

#footer .f_1stR ul li .youtube:before {
    position: absolute;
    top: 0;
    left: 11px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'themify';
    content: "\e75a";
    font-family: "Font Awesome 6 Brands";
    content: "\f167";
}

#footer .f_1stR ul li .youtube:hover {
    color: #fefefe;
    background: #c5002d;
    border: #f0fafe 1px solid;
}

#footer .f_1stR ul li .youtube:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    font-size: 10px;
    font-family: "Font Awesome 6 Pro";
    content: "\f105";
    font-weight: normal;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}


#footer .f_1stR ul li .youtube:hover:after {
    opacity: 1;
    -webkit-transform: translate(5px, 0px);
    -moz-transform: translate(5px, 0px);
    -o-transform: translate(5px, 0px);
    -ms-transform: translate(5px, 0px);
    transform: translate(5px, 0px);
}


#footer .footer_1st {
    display: flex;
    border-bottom: 1px solid #ddd;
    padding: 10px 10px 20px;
}

#footer .footer_1st {
    justify-content: space-around;
}



#footer .f_1stL {}


#footer .f_1stL img.logo-name {
    width: 250px !important;
}


@media only screen and (max-width:768px) {

    #footer .footer_1st {
        display: flex;
        border-bottom: 1px solid #ddd;
        padding: 10px 10px 20px;
    }



    .spView {
        display: block !important;
    }

    .spViewInb {
        display: inline-block !important;
    }

    .pcView {
        display: none !important;
    }
}

@media only screen and (max-width:600px) {

    #footer .f_1stL img.logo-name {
        margin-bottom: 15px;
        width: 200px !important;
    }
}




/* clearfix */
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.mincho {
    /* font-family: 'Yu Mincho', "????���", YuMincho, "???????��� ProN W6", "HiraMinProN-W6", sans-serif; */
    font-weight: 600;
}

.ja {
    /* font-family: "fot-rodin-pron", sans-serif; */
    letter-spacing: 0.1em;
    font-family: "fot-cezanne-pron", sans-serif;
    font-weight: 500;
}



/* ---------- container ---------------------------------------- */
#container {
    position: relative;
    min-width: 1040px;
    left: 0;
    top: 80px;
}

.sns-nav {
    position: absolute;
    top: 0;
    right: 120px;
}

.sns-nav ul {
    padding-top: 29px;
    padding-right: 21px;
}

.sns-nav ul li {
    float: left;
    margin: 0 4px;
}

.sns-nav ul li a {
    padding: 4px 4px;
    font-size: 17px;
    color: #000;
}

.btn-shop {
    /* position: absolute; */
    /* top: 0; */
    /* right: 120px; */
    /* width: 120px; */
    /* height: 100%; */
}

.btn-shop a {
    /* display: block; */
    width: 100%;
    /* height: 100%; */
    /* background-color: #0e222d; */
    /* text-align: center; */
}

.btn-shop a span {
    margin-top: 18px;
    display: inline-block;
    padding-top: 28px;
    /* 	background: url(../images/ic_cart_white.png) no-repeat center top; */
    background-size: 22px auto;
    color: #fff;
    font-size: 14px;
}

.btn-shop a span:before {
    font-size: 23px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 10px;
    left: 40%;
    right: 35%;
    padding-right: 10px;
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}


.side_btn {
    width: 95%;
    margin-top: 50px;
}

.side_btn ul {
    display: flex;
    flex-direction: column;
}

.side_btn ul li a {
    margin: 5px 5px 0;
    position: relative;
    color: #fff;
    border: #666666 1px solid;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    max-width: 200px;
    margin: 0 auto 10px;
    padding-left: 50px;
}



.side_btn ul li a,
.side_btn ul li span {
    display: block;
    line-height: 50px;
    position: relative;
    z-index: 2;
    color: #000;
}

.side_btn ul li ul li .mail {
    border: #1f286f 1px solid;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    margin: 0 auto;
    padding-left: 20px;
}

.side_btn ul li .mail:before {
    position: absolute;
    top: 0;
    left: 21px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: "Font Awesome 6 Pro";
    content: "\e75a";
    font-weight: normal;
}

.side_btn ul li .mail:before {
    position: absolute;
    top: 0;
    left: 11px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'themify';
    content: "\e75a";
    font-family: "Font Awesome 6 Pro";
    content: "\f0e0";
}

.side_btn ul li .mail:hover {
    color: #fefefe;
    background: #1f286f;
    border: #1f286f 1px solid;
}

.side_btn ul li .mail:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    font-size: 10px;
    font-family: "Font Awesome 6 Pro";
    content: "\f105";
    font-weight: normal;
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}


.side_btn ul li ul li .youtube {
    border: #666666 1px solid;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    margin: 0 auto;
    padding-left: 20px;
}

.side_btn ul li .youtube:before {
    position: absolute;
    top: 0;
    left: 21px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: "Font Awesome 6 Pro";
    content: "\e75a";
    font-weight: normal;
}

.side_btn ul li .youtube:before {
    position: absolute;
    top: 0;
    left: 11px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: "Font Awesome 6 Brands";
    content: "\f167";
}

.side_btn ul li .youtube:hover {
    color: #fefefe;
    background: #37211b;
    border: #37211b 1px solid;
}

.side_btn ul li .youtube:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    font-size: 10px;
    font-family: "Font Awesome 6 Pro";
    content: "\f105";
    font-weight: normal;
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}








@media only screen and (max-width: 738px) {

    .side_btn {
        width: 100%;
        flex-direction: column;
    }

    .side_btn {
        width: 100%;
        flex-direction: column;
    }


    .side_btn ul {
        flex-direction: column;
    }

    .side_btn ul li {
        margin: 5px 0px 0;
        width: 100%;
    }

}







.btn-yoyaku-tel {
    /* position: absolute; */
    /* top: 70%; */
    /* right: 0; */
    /* width: 120px; */
    /* height: 80px; */
}

.btn-yoyaku-tel a {
    /* display: block; */
    /* width: 100%; */
    /* height: 100%; */
    /* background-color: #007ec5; */
    /* text-align: center; */
}

.btn-yoyaku-tel a span {
    margin-top: 18px;
    display: inline;
    padding-top: 28px;
    /* 	background: url(../images/ic_cart_white.png) no-repeat center top; */
    background-size: 22px auto;
    color: #fff;
    font-size: 16px;
    /* font-weight: 600; */
}

.btn-yoyaku-tel a span:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0e0";
    font-size: 22px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 0;
    left: 40%;
    right: 35%;
    padding-right: 10px;
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}


[data-ruby] {
    position: relative;
}

[data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -1em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 0.5em;
}





/* btn-spnav */
.btn-spnav {
    display: none;
}

/* fixed-gnav-area */
.fixed-gnav-area {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 1060px;
    -webkit-transition: .2s;
    transition: .2s;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
    z-index: 3500;
}

.fixed-gnav-area.show {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    background: #fff;
}


.fixed-gnav-area .gnav li a {
    color: #000;
}


.fixed-gnav-area .gnav li a:before {
    display: block;
    content: '';
    width: 0;
    position: absolute;
    left: 50%;
    bottom: 0;
    border-bottom: 1px solid #424242;
    transition: all 0.4s ease;
}

.fixed-gnav-area .gnav li a:after {
    display: block;
    content: '';
    width: 0;
    position: absolute;
    right: 50%;
    bottom: 0;
    border-bottom: 1px solid #424242;
    transition: all 0.4s ease;
}


.fixed-gnav-area .gnav li a:hover:before,
.gnav li a:hover:after {
    width: 50%;
}

.top .fixed-gnav-area .gnav li.top a:before,
.top .fixed-gnav-area .gnav li.top a:after,
.abou .fixed-gnav-area .gnav li.abou a:before,
.abou .fixed-gnav-area .gnav li.abou a:after,
.feat .fixed-gnav-area .gnav li.feat a:before,
.feat .fixed-gnav-area .gnav li.feat a:after,
.prod .fixed-gnav-area .gnav li.prod a:before,
.prod .fixed-gnav-area .gnav li.prod a:after,
.stor .fixed-gnav-area .gnav li.stor a:before,
.stor .fixed-gnav-area .gnav li.stor a:after {
    width: 50%;
}

















/* ---------- main ---------------------------------------- */
#main {
    overflow: hidden;
    /* padding: 1%; */
}

/* ---------- footer ---------------------------------------- */
#footer {
    /* clear: both; */
    padding: 0px 0 0px;
    text-align: center;
    color: #000;
    border-top: 1px solid #ddd;
    margin-top: 150px;
}

@media only screen and (max-width: 800px) {
    #footer {
        /* clear: both; */
        padding: 0px 0 0px;
        text-align: center;
        color: #000;
        border-top: 1px solid #ddd;
        margin-top: 50px;
    }
}



#footer .logo {
    /* margin-bottom: 23px; */
}

.fnav {
    margin-bottom: 12px;
}

.fnav ul {
    text-align: center;
}

.fnav ul li {
    display: inline-block;
    margin: 0 6px;
}

.fnav ul li a {
    /* 	padding: 3px 0 3px 13px; */
    /* 	background: url(../images/ic_arrow.png) no-repeat center left; */
    background-size: 8px 8px;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: 0.08em;
    color: #fff;
}


.fnav ul li a:before {
    font-family: 'FontAwesome';
    content: "\f095";
    font-size: 15px;
    font-style: normal;
    padding-right: 5px;
}

.fnav ul li a:after {
    /* 	font-family: 'themify';
	content: "\e649";
	font-size: 10px;
	font-style: normal;
	padding-left:5px; */
}



#footer .copyright small {
    font-size: 13px;
    line-height: 120%;
    letter-spacing: 0.08em;
}

/* pagetop */
.pagetop {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 2000;
}

.pagetop a {
    display: block;
    background: url(../images/pagetop.png) no-repeat center center;
    width: 60px;
    height: 60px;
    text-align: center;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
}




.pagetop a:after {

    font-family: 'themify';
    content: "\e693";
    font-size: 13px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* position: absolute; */
    /* top: 0; */
    padding-right: 10px;
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;

}







/* buynow */
#footer .buynow {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
}

.buynow {
    width: 210px;
    height: 50px;
}

.buynow a {
    display: block;
    height: 100%;
    width: 50%;
    float: left;
    background-color: #212121;
}

.buynow a span {
    display: inline-block;
    padding-left: 0px;
    /* background: url(../images/ic_cart_white.png) no-repeat left center; */
    background-size: 20px auto;
    color: #fff;
    font-size: 14px;
    line-height: 50px;
    font-family: 'themify';

}


.buynow a span:before {
    font-family: 'themify';
    font-size: 13px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*       position: absolute;  */
    /* 	 top: 0; */
    padding-right: 10px;
    z-index: 1;
    line-height: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}



/* ----------------------------------------------------------
   
   #scrollUp
   
   ---------------------------------------------------------- */

#scrollUp {
    position: fixed;
    bottom: 85px;
    right: 11px;
    z-index: 1000;
}

#scrollUp a {
    width: 60px;
    height: 60px;
    display: block;
    color: #fefefe;
    background: #162a43;
    border: none;
    text-align: center;
    z-index: 11;
    /* -webkit-border-radius: 100%; */
    -moz-border-radius: 100%;
    /* border-radius: 100%; */
    position: relative;
    z-index: 1;
}

#scrollUp a:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    font-family: 'FontAwesome';
    content: "\f106";
    font-size: 15px;
    line-height: 58px;
}

#scrollUp a:hover {
    -webkit-transform: translate(0px, -10px);
    -moz-transform: translate(0px, -10px);
    -o-transform: translate(0px, -10px);
    -ms-transform: translate(0px, -10px);
    transform: translate(0px, -10px);
}

@media only screen and (max-width: 800px) {
    #scrollUp a:hover {
        -webkit-transform: translate(0px, 0px);
        -moz-transform: translate(0px, 0px);
        -o-transform: translate(0px, 0px);
        -ms-transform: translate(0px, 0px);
        transform: translate(0px, 0px);
    }
}

@media only screen and (max-width: 414px) {
    #scrollUp a {
        width: 50px;
        height: 50px;
    }

    #scrollUp a:before {
        font-size: 16px;
        line-height: 48px;
    }
}





@media (min-width: 769px) {
    .buynow {
        display: none !important;
    }
}

/* ---------- is-pc (PC or ??????????????????) ---------------------- */
#is-pc {
    display: block;
}

.is-pc {
    display: block;
}

.is-sp {
    display: none;
}

@media only screen and (max-width: 768px) {
    #is-pc {
        display: none;
    }

    .is-pc {
        display: none;
    }

    .is-sp {
        display: block;
    }
}


@media only screen and (max-width: 768px) {

    /* ---------- common ---------------------------------------- */
    body {}

    p,
    address,
    th,
    td,
    li,
    dt,
    dd,
    input,
    textarea,
    select {
        font-size: 15px;
    }


    /* ---------- container ---------------------------------------- */
    #container {
        min-width: inherit;
    }



}

/* -----------------------------------------
2020.10.28
----------------------------------------- */

/* --------- .inner --------- */
.footer_inner {
    padding: 40px 5% 60px;
    overflow: auto;
}

@media only screen and (max-width: 738px) {
    .footer_inner {
        padding: 50px 5%;
    }
}

/*  .infoArea */
#footer .info_area {
    /* float: left; */
    width: 30%;
}

/* #footer .info_area h1 {
    width: 230px;
    height: 120px;
    background: url(../../../common/img/logo_header.svg) center center no-repeat;
    background-size: 180px 90px;
    display: block;
    position: relative;
    overflow: hidden;
    text-indent: -999px;
    z-index: 1003;
    margin: 0 auto;
} */
/* 
#footer .info_area .logo {
    width: 230px;
    height: 120px;
    background: url(../../../common/img/logo_header.svg) center center no-repeat;
    background-size: 180px 90px;
    display: block;
    position: relative;
    overflow: hidden;
    text-indent: -999px;
    z-index: 1003;
    margin: 0 auto;
}
 */



#footer .info_area p {
    /* margin-bottom: 5px; */
    line-height: 1.3;
}

#footer .info_area .txt_area {
    margin-top: 5px;
    padding: 0 10% 0 1px;
    padding: 0;
    /* color: #08397b; */
    color: #555;
    font-weight: 500;
}

#footer .info_area .txt_area p {
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: 0.5px;
    font-feature-settings: "palt" 1;
    /* font-family: dnp-shuei-mgothic-std, sans-serif; */
}

#footer .info_area .txt_area a {
    color: #0e222d;
}

#footer .info_area .txt_area a:hover {
    color: #ccc;
}

@media only screen and (max-width: 1180px) {
    #footer .info_area .txt_area p br {
        /* display: none; */
    }
}

@media only screen and (max-width: 1024px) {
    #footer .info_area h1 {
        width: 180px;
        height: 50px;
        background-size: 180px 50px;
    }
}

@media only screen and (max-width: 900px) {
    #footer .info_area {
        float: none;
        width: 100%;
    }

    #footer .info_area h1 {
        width: 100%;
        height: 150px;
        background-size: 200px 104px;
    }

    #footer .info_area .txt_area {
        margin: 25px auto 0;
        padding: 0 7.5%;
        max-width: 600px;
    }

    #footer .info_area .txt_area p {
        font-size: 13px;
        line-height: 2;
    }
}

@media only screen and (max-width:736px) {
    #footer .info_area h1 {
        height: 50px;
        background-size: 180px 50px;
    }

    #footer .info_area .txt_area {
        margin: 25px auto 0;
        padding: 0 2.5%;
        font-size: 15px;
    }

    #footer .info_area .txt_area p {
        font-size: 15px;
        line-height: 1.8;
        letter-spacing: 2px;
    }

}

@media only screen and (max-width:736px) {
    #footer .info_area h1 {
        height: 110px;
        background-size: 200px 104px;
    }
}




#footer .info_area .txt_phone {
    font-size: 20px;
}


/*  .right_area */
/* #footer .right_area {
    float: right;
    width: 66.666%;
} */
@media only screen and (max-width: 900px) {
    #footer .right_area {
        float: none;
        width: 100%;
    }
}

/*  .sitemapArea */
#footer .sitemap_area {
    display: block;
    width: 100%;
    /* margin-top: 30px; */
}

#footer .sitemap_area h3 {
    color: #ffffff;
    /* color: #464544; */
    font-size: 14px;
    /* font-family: 'Poppins', sans-serif; */
    /* font-weight: 600; */
    letter-spacing: 1px;
    text-align: left;
}

#footer .sitemap_area ul {
    display: block;
    list-style: none;
    /* font-size: 0; */
    /* margin: -5px -2% 0; */
    text-align: left;
    display: block;
}

#footer .sitemap_area ul li {
    display: inline-block;
    width: 28.333%;
    margin: 5px 1% 0;
    text-align: left;
    padding: 0 1%;
}

#footer .sitemap_area ul li a {
    color: #555;
    display: block;
    font-size: 13px;
    letter-spacing: 1px;
    line-height: 50px;
    border-bottom: #555 1px solid;
    position: relative;
    z-index: 1;
}

#footer .sitemap_area ul li a:before,
#footer .sitemap_area ul li a:after {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#footer .sitemap_area ul li a:before {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 100%;
    height: 0;
    content: "";
    border-bottom: transparent 1px solid;
    z-index: 0;
}

#footer .sitemap_area ul li a:hover:before {
    right: 0;
    border-color: #fefefe;
}

#footer .sitemap_area ul li a:after {
    position: absolute;
    top: 0;
    right: 0;
    color: #464544;
    color: #fff;
    font-family: 'themify';
    content: "\e6ad";
    z-index: 1;
}

#footer .sitemap_area ul li a:hover:after {
    color: #fefefe;
    right: -5px;
}

@media only screen and (max-width: 900px) {
    #footer .sitemap_area {
        margin-top: 30px;
    }

    #footer .sitemap_area h3 {
        font-size: 14px;
        text-align: center;
    }

    #footer .sitemap_area ul li a {
        font-size: 13px;
    }

    #footer .sitemap_area ul li a:before {
        display: none;
    }

    #footer .sitemap_area ul li a:hover:after {
        color: #333;
        right: 0;
    }
}

@media only screen and (max-width:736px) {
    #footer .sitemap_area ul {
        margin: -5px -2.5% 0;
    }

    #footer .sitemap_area ul li {
        width: 45%;
        margin: 5px 1% 0;
    }

    #footer .sitemap_area ul li a {
        font-size: 11px;
    }
}

/* --------- .company_area --------- */
#footer .company_area {
    display: block;
    margin: 45px -2% 0px;
    padding: 45px 0 0;
    font-size: 0;
    position: relative;
    z-index: 0;
}



#footer .copyright p {
    color: #555;
    text-align: right;
    padding: 0 18px;
}

#footer .copyright:before {
    position: absolute;
    top: 0;
    left: 2%;
    right: 2%;
    height: 0;
    content: "";
    border-top: #f2f2f2 1px dotted;
    z-index: 1;
}

#footer .company_area:before {
    position: absolute;
    top: 0;
    left: 2%;
    right: 2%;
    height: 0;
    content: "";
    border-top: #333 1px dotted;
    z-index: 1;
}

#footer .company_box {
    display: inline-block;
    width: 29.333%;
    margin: 0 2%;
    position: relative;
    z-index: 1;
    text-align: center;
}

/* .cityArea */
#footer .company_box .cityArea {
    position: relative;
    z-index: 1;
}

#footer .company_box h3 {
    line-height: 1;
}

#footer .company_box h3.en {
    color: #f0f0f0;
    font-size: 18px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    letter-spacing: 0.5px;
}

#footer .company_box h3.jp {
    color: #f0f0f0;
    font-size: 12px;
    margin-top: 8px;
    font-weight: 700;
    letter-spacing: 1px;
}

/* .txtArea */
#footer .company_box .txtArea {
    margin-top: 15px;
}

#footer .company_box p.tel {
    color: #f0f0f0;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    line-height: 20px;
}

#footer .company_box p.tel span {
    color: #858585;
    font-size: 0.8em;
    font-weight: 500;
    vertical-align: 0;
}

#footer .company_box .linkArea {
    margin-top: 15px;
}

#footer .company_box a.btn {
    border-width: 1px;
}

#footer .company_box a.btnMail {
    margin: 0;
    line-height: 35px;
    font-size: 12px;
    border-color: #333;
    color: #fefefe;
}

#footer .company_box a.btnGoogle {
    margin: 5px 0 0;
    line-height: 35px;
    font-size: 12px;
    border-color: #333;
    color: #fefefe;
}

#footer .company_box a.btnMail:hover,
#footer .company_box a.btnGoogle:hover {
    color: #fefefe;
    background: #14357b;
    border-color: #14357b;
}

#footer .company_box a.btnMail:after,
#footer .company_box a.btnGoogle:after {
    content: "\e649";
    font-size: 15px;
    left: 15px;
    right: auto;
    font-weight: normal;
}

#footer .company_box a.btnMail:hover:after,
#footer .company_box a.btnGoogle:hover:after {
    left: 15px;
    right: auto;
}

#footer .company_box a.btnMail:after {
    content: "\e75a"
}

#footer .company_box a.btnGoogle:after {
    content: "\e693"
}

@media only screen and (max-width: 900px) {
    #footer .company_box h3.en {
        font-size: 18px;
    }

    #footer .company_box p.tel {
        font-size: 14px;
    }

    #footer .company_box a.btnMail {
        margin: 0;
        line-height: 35px;
        font-size: 12px;
    }

    #footer .company_box a.btnGoogle {
        margin: 5px 0 0;
        line-height: 35px;
        font-size: 12px;
    }

    #footer .company_box a.btnMail:hover {
        color: #fefefe;
        background: none;
        border-color: #333;
    }

    #footer .company_box a.btnGoogle:hover {
        color: #fefefe;
        background: none;
        border-color: #333;
    }

    #footer .company_box a.btnMail:after,
    #footer .company_box a.btnGoogle:after {
        font-size: 14px;
        left: 10px;
        line-height: 35px;
    }

    #footer .company_box a.btnMail:hover:after,
    #footer .company_box a.btnGoogle:hover:after {
        left: 10px;
    }
}

@media only screen and (max-width: 768px) {
    #footer .company_area {
        margin: 40px -2% 0;
        padding: 40px 0 0;
    }

    #footer .company_box h3.en {
        font-size: 18px;
        letter-spacing: 0.5px;
    }

    #footer .company_box h3.jp {
        font-size: 12px;
        margin-top: 8px;
    }

    #footer .company_box p.tel {
        font-size: 13px;
    }

    #footer .company_box .txtArea {
        margin-top: 10px;
    }

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        line-height: 30px;
        font-size: 12px;
    }

    #footer .company_box a.btnMail:after,
    #footer .company_box a.btnGoogle:after {
        font-size: 13px;
        line-height: 30px;
    }




}

@media only screen and (max-width: 738px) {
    #footer .company_box h3.en {
        font-size: 15px;
    }

    #footer .company_box h3.jp {
        font-size: 12px;
        margin-top: 5px;
    }

    #footer .company_box .txtArea {
        margin-top: 5px;
    }

    #footer .company_box p.tel {
        font-size: 12px;
        letter-spacing: 0.5px;
    }

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        font-size: 11px;
        letter-spacing: 0.5px;
    }
}

@media only screen and (max-width: 560px) {
    #footer .company_area {
        margin: 40px 0 0;
        padding: 35px 0 0;
    }

    #footer .company_area:before {
        left: 0;
        right: 0;
    }

    #footer .company_box {
        display: block;
        width: 100%;
        margin: 30px 0 0;
        position: relative;
        z-index: 0;
    }

    #footer .company_box:first-child {
        margin: 0;
    }

    #footer .company_box h3.en {
        font-size: 15px;
    }

    #footer .company_box h3.jp {
        font-size: 10px;
        margin-top: 5px;
    }

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        display: inline-block;
        margin: 0 2%;
        width: 46%;
        max-width: 150px;
    }

    #footer .copyright p {
        /* color:#fff; */
        text-align: center;
        padding: 0 18px;
    }


}

@media only screen and (max-width: 320px) {

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        line-height: 30px;
    }

    #footer .company_box a.btnMail:after,
    #footer .company_box a.btnGoogle:after {
        font-size: 12px;
        line-height: 30px;
    }
}


/* ----- top-visual ----- */

#top-visual {
    position: relative;
    top: 0;
    height: calc(100vh - 100px);
    left: 80px;
    right: 10px;
    padding-top: 10px;
    border-radius: 0;
    width: calc(100% - 90px);
}




/* top-slider */

#top-visual .slider {
    width: 100%;
    height: 100vh;
    padding: 0;
}

#top-visual .slider li {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}


/* bx-slider */

#top-visual .slider .bx-viewport,
#top-visual .slider .bx-wrapper {
    position: relative;
    width: 100%;
    /* height: 90% !important; */
    top: 0;
    left: 0;
}

#top-visual .slider .bx-wrapper ul {
    height: calc(100vh - 100px);
}

#top-visual .slider .bx-wrapper ul li {
    height: 99%;
}

#top-visual .slider .bx-wrapper ul li img {
    width: 100%;
    height: auto;
}


/* controls */

#top-visual .slider .bx-controls {
    display: none;
}


/* loader */

#top-visual .slider .bx-wrapper .bx-loading {
    display: none;
}


/* zoom animation */

#top-visual .slider .bx-wrapper li {
    -webkit-transform: -webkit-scale(1.3);
    -ms-transform: -ms-scale(1.3);
    transform: scale(1.3);
    -webkit-animation: zoom 15s linear;
    animation: zoom 15s linear;
}

#top-visual .slider p {
    position: absolute;
    /* bottom: 40%; */
    /* right: 30%; */
    /* right: 25%; */
    font-size: 20px;
    font-weight: 600;
    font-family: dnp-shuei-mgothic-std, sans-serif;
    color: #fff;
}

#top-visual .slider p.t01 {
    /* bottom: 30%; */
    /* right:100px; */
}

#top-visual .slider p.t02 {
    color: #fff;
}

#top-visual .slider p.t03 {
    top: 70%;
}

@-webkit-keyframes zoom {
    0% {
        -webkit-transform: -webkit-scale(1);
        -ms-transform: -ms-scale(1);
        transform: scale(1);
    }

    100% {
        -webkit-transform: -webkit-scale(1.3);
        -ms-transform: -ms-scale(1.3);
        transform: scale(1.3);
    }
}

@keyframes zoom {
    0% {
        -webkit-transform: -webkit-scale(1);
        -ms-transform: -ms-scale(1);
        transform: scale(1);
    }

    100% {
        -webkit-transform: -webkit-scale(1.3);
        -ms-transform: -ms-scale(1.3);
        transform: scale(1.3);
    }
}

#top-visual .inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    /* height: calc(100% - 100px); */
    /* min-width: 1080px; */
}

#top-visual .box {
    /* position: relative; */
    /* height: calc(100% - 100px); */
    /* height: 100%; */
}

#top-visual .catchcopy {
    position: absolute;
    bottom: 50px;
    right: 100px;
    margin-top: -77px;
    z-index: 1000;
}

#top-visual .catchcopy h2 {
    font-size: 30px;
    margin-bottom: 10px;
    font-weight: 600;
}

#top-visual .catchcopy p {
    font-size: 21px;
    line-height: 1.5;
    font-weight: 500;
}

#top-visual .scroll {
    position: absolute;
    bottom: 188px;
    right: 40px;
    z-index: 1000;
}

#top-visual #newsize {
    display: none;
    position: absolute;
    top: 130px;
    right: 194px;
    z-index: 1000;
}

#top-visual .award {
    position: absolute;
    top: 500px;
    right: 100px;
    z-index: 1000;
}

#top-visual .award img {
    max-width: 450px;
    height: auto;
}

#top-visual .box2 {
    /* position: relative; */
    /* height: 100%; */
    /* max-width: 1160px; */
    /* margin: auto; */
}

#top-visual .label {
    margin: 0 40px 5%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1000;
}

#top-visual .label img {
    width: 100%;
    height: auto;
}



@media screen and (max-width: 800px) {

    #header .logo a {
        display: block;
        /* 		width: 130px; */
        height: 50px;
        background: url(../../../common/img/logo_header.svg) no-repeat top left;
        background-size: 60px auto;
    }


    #top-visual {
        position: relative;
        top: 0;
        height: calc(100vh - 100px);
        left: 10px;
        right: 10px;
        padding-top: 10px;
        border-radius: 0;
        width: calc(100% - 20px);
    }


    #top-visual .slider .bx-wrapper ul {
        width: calc(100vh - 20px);
        width: 100% !important;
    }

    #top-visual .slider .bx-wrapper ul li {
        height: 99%;
        width: 100% !important;
    }


}

.p-mainVisual {
    overflow: hidden;
    position: relative;
    width: calc(100% - 90px);
    top: 0;
    margin: 0 0 0 90px;
    width: 100%;
    margin: 0 0 30px;
}


.-height-set .p-mainVisual__slide {
    /* height: calc(100vh - 190px); */
    /* border-radius: 0 0 0 3em; */
}



/* --------- .inner --------- */
.footer_inner {
    padding: 40px 3% 60px;
    overflow: auto;
}

@media only screen and (max-width: 738px) {
    .footer_inner {
        padding: 50px 5%;
    }
}

@media only screen and (max-width: 1180px) {
    #footer .info_area .txt_area p br {
        /* display: none; */
    }
}

@media only screen and (max-width: 1024px) {
    #footer .info_area h1 {
        width: 180px;
        height: 50px;
        background-size: 180px 50px;
    }
}

@media only screen and (max-width: 900px) {
    #footer .info_area {
        float: none;
        width: 100%;
    }

    #footer .info_area h1 {
        width: 100%;
        height: 150px;
        background-size: 200px 104px;
    }

    #footer .info_area .txt_area {
        margin: 25px auto 0;
        padding: 0 7.5%;
        max-width: 600px;
    }

    #footer .info_area .txt_area p {
        font-size: 13px;
        line-height: 2;
    }
}

@media only screen and (max-width:736px) {
    #footer .info_area h1 {
        height: 50px;
        background-size: 180px 50px;
    }

    #footer .info_area .txt_area {
        margin: 25px auto 0;
        padding: 0 2.5%;
        font-size: 15px;
    }

    #footer .info_area .txt_area p {
        font-size: 15px;
        line-height: 1.8;
        letter-spacing: 2px;
    }

    #footer .info_area .txt_area p a {
        color: #fff;
    }
}

@media only screen and (max-width:736px) {
    #footer .info_area h1 {
        height: 110px;
        background-size: 200px 104px;
    }
}




#footer .info_area .txt_phone {
    font-size: 20px;
}


/*  .right_area */
#footer .right_area {
    /* float: right; */
    /* width: 66.666%; */
}

@media only screen and (max-width: 900px) {
    #footer .right_area {
        float: none;
        width: 100%;
    }
}

/*  .sitemapArea */
#footer .sitemap_area {
    display: block;
    width: 100%;
    /* margin-top: 30px; */
}

#footer .sitemap_area h3 {
    color: #ffffff;
    /* color: #464544; */
    font-size: 14px;
    /* font-family: 'Poppins', sans-serif; */
    /* font-weight: 600; */
    letter-spacing: 1px;
    text-align: left;
}

#footer .sitemap_area ul {
    display: block;
    list-style: none;
    /* font-size: 0; */
    /* margin: -5px -2% 0; */
    text-align: left;
    display: block;
}

#footer .sitemap_area ul li {
    display: inline-block;
    width: 28.333%;
    margin: 5px 1% 0;
    text-align: left;
    padding: 0 1%;
}

#footer .sitemap_area ul li a {
    color: #000;
    display: block;
    font-size: 13px;
    letter-spacing: 1px;
    line-height: 50px;
    border-bottom: #333 1px solid;
    position: relative;
    z-index: 1;
}

#footer .sitemap_area ul li a:before,
#footer .sitemap_area ul li a:after {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#footer .sitemap_area ul li a:before {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 100%;
    height: 0;
    content: "";
    border-bottom: transparent 1px solid;
    z-index: 0;
}

#footer .sitemap_area ul li a:hover:before {
    right: 0;
    border-color: #ddd;
}

#footer .sitemap_area ul li a:after {
    position: absolute;
    top: 0;
    right: 0;
    color: #464544;
    /* color: #fff; */
    font-family: 'themify';
    content: "\e6ad";
    z-index: 1;
}

#footer .sitemap_area ul li a:hover:after {
    color: #ddd;
    right: -5px;
}

@media only screen and (max-width: 900px) {
    #footer .sitemap_area {
        margin-top: 30px;
    }

    #footer .sitemap_area h3 {
        font-size: 14px;
        text-align: center;
    }

    #footer .sitemap_area ul li a {
        font-size: 13px;
    }

    #footer .sitemap_area ul li a:before {
        display: none;
    }

    #footer .sitemap_area ul li a:hover:after {
        color: #333;
        right: 0;
    }
}

@media only screen and (max-width:736px) {
    #footer .sitemap_area ul {
        margin: -5px -2.5% 0;
    }

    #footer .sitemap_area ul li {
        width: 45%;
        margin: 5px 1% 0;
    }

    #footer .sitemap_area ul li a {
        font-size: 11px;
    }
}

/* --------- .company_area --------- */
#footer .company_area {
    display: block;
    margin: 45px -2% 0px;
    padding: 45px 0 0;
    font-size: 0;
    position: relative;
    z-index: 0;
}




#footer .bottom_nav {}

#footer .bottom_nav ul {
    display: flex;
    gap: 1em;
    padding: 10px;
    color: #fff;
}

#footer .bottom_nav ul li a {
    color: #fff;
    font-size: 15px;
}


#footer .copyright p {
    color: #fff;
    text-align: right;
    padding: 0 18px;
}

#footer .copyright:before {
    position: absolute;
    top: 0;
    left: 2%;
    right: 2%;
    height: 0;
    content: "";
    border-top: #f2f2f2 1px dotted;
    z-index: 1;
}

#footer .company_area:before {
    position: absolute;
    top: 0;
    left: 2%;
    right: 2%;
    height: 0;
    content: "";
    border-top: #333 1px dotted;
    z-index: 1;
}

#footer .company_box {
    display: inline-block;
    width: 29.333%;
    margin: 0 2%;
    position: relative;
    z-index: 1;
    text-align: center;
}

/* .cityArea */
#footer .company_box .cityArea {
    position: relative;
    z-index: 1;
}

#footer .company_box h3 {
    line-height: 1;
}

#footer .company_box h3.en {
    color: #f0f0f0;
    font-size: 18px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    letter-spacing: 0.5px;
}

#footer .company_box h3.jp {
    color: #f0f0f0;
    font-size: 12px;
    margin-top: 8px;
    font-weight: 700;
    letter-spacing: 1px;
}

/* .txtArea */
#footer .company_box .txtArea {
    margin-top: 15px;
}

#footer .company_box p.tel {
    color: #f0f0f0;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    line-height: 20px;
}

#footer .company_box p.tel span {
    color: #858585;
    font-size: 0.8em;
    font-weight: 500;
    vertical-align: 0;
}

#footer .company_box .linkArea {
    margin-top: 15px;
}

#footer .company_box a.btn {
    border-width: 1px;
}

#footer .company_box a.btnMail {
    margin: 0;
    line-height: 35px;
    font-size: 12px;
    border-color: #333;
    color: #fefefe;
}

#footer .company_box a.btnGoogle {
    margin: 5px 0 0;
    line-height: 35px;
    font-size: 12px;
    border-color: #333;
    color: #fefefe;
}

#footer .company_box a.btnMail:hover,
#footer .company_box a.btnGoogle:hover {
    color: #fefefe;
    background: #14357b;
    border-color: #14357b;
}

#footer .company_box a.btnMail:after,
#footer .company_box a.btnGoogle:after {
    content: "\e649";
    font-size: 15px;
    left: 15px;
    right: auto;
    font-weight: normal;
}

#footer .company_box a.btnMail:hover:after,
#footer .company_box a.btnGoogle:hover:after {
    left: 15px;
    right: auto;
}

#footer .company_box a.btnMail:after {
    content: "\e75a"
}

#footer .company_box a.btnGoogle:after {
    content: "\e693"
}

@media only screen and (max-width: 900px) {
    #footer .company_box h3.en {
        font-size: 18px;
    }

    #footer .company_box p.tel {
        font-size: 14px;
    }

    #footer .company_box a.btnMail {
        margin: 0;
        line-height: 35px;
        font-size: 12px;
    }

    #footer .company_box a.btnGoogle {
        margin: 5px 0 0;
        line-height: 35px;
        font-size: 12px;
    }

    #footer .company_box a.btnMail:hover {
        color: #fefefe;
        background: none;
        border-color: #333;
    }

    #footer .company_box a.btnGoogle:hover {
        color: #fefefe;
        background: none;
        border-color: #333;
    }

    #footer .company_box a.btnMail:after,
    #footer .company_box a.btnGoogle:after {
        font-size: 14px;
        left: 10px;
        line-height: 35px;
    }

    #footer .company_box a.btnMail:hover:after,
    #footer .company_box a.btnGoogle:hover:after {
        left: 10px;
    }
}

@media only screen and (max-width: 768px) {
    #footer .company_area {
        margin: 40px -2% 0;
        padding: 40px 0 0;
    }

    #footer .company_box h3.en {
        font-size: 18px;
        letter-spacing: 0.5px;
    }

    #footer .company_box h3.jp {
        font-size: 12px;
        margin-top: 8px;
    }

    #footer .company_box p.tel {
        font-size: 13px;
    }

    #footer .company_box .txtArea {
        margin-top: 10px;
    }

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        line-height: 30px;
        font-size: 12px;
    }

    #footer .company_box a.btnMail:after,
    #footer .company_box a.btnGoogle:after {
        font-size: 13px;
        line-height: 30px;
    }




}

@media only screen and (max-width: 738px) {
    #footer .company_box h3.en {
        font-size: 15px;
    }

    #footer .company_box h3.jp {
        font-size: 12px;
        margin-top: 5px;
    }

    #footer .company_box .txtArea {
        margin-top: 5px;
    }

    #footer .company_box p.tel {
        font-size: 12px;
        letter-spacing: 0.5px;
    }

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        font-size: 11px;
        letter-spacing: 0.5px;
    }
}

@media only screen and (max-width: 560px) {
    #footer .company_area {
        margin: 40px 0 0;
        padding: 35px 0 0;
    }

    #footer .company_area:before {
        left: 0;
        right: 0;
    }

    #footer .company_box {
        display: block;
        width: 100%;
        margin: 30px 0 0;
        position: relative;
        z-index: 0;
    }

    #footer .company_box:first-child {
        margin: 0;
    }

    #footer .company_box h3.en {
        font-size: 15px;
    }

    #footer .company_box h3.jp {
        font-size: 10px;
        margin-top: 5px;
    }

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        display: inline-block;
        margin: 0 2%;
        width: 46%;
        max-width: 150px;
    }

    #footer .copyright p {
        color: #fff;
        text-align: center;
        padding: 0 18px;
        line-height: 20px;
    }


}

@media only screen and (max-width: 320px) {

    #footer .company_box a.btnMail,
    #footer .company_box a.btnGoogle {
        line-height: 30px;
    }

    #footer .company_box a.btnMail:after,
    #footer .company_box a.btnGoogle:after {
        font-size: 12px;
        line-height: 30px;
    }
}

/* 
#footer .info_area .logo {
    width: 143px;
    height: 150px;
    background: url(../../../common/img/logo_header.svg) center center no-repeat;
    background-size: 143px 150px;
    display: block;
    position: relative;
    overflow: hidden;
    text-indent: -999px;
    z-index: 1003;
    margin: 0 auto;
}
 */



#footer .info_area p {
    /* margin-bottom: 5px; */
    line-height: 1.3;
}

#footer .info_area .txt_area {
    margin-top: 5px;
    padding: 0 10% 0 1px;
    padding: 0;
    /* color: #08397b; */
    color: #555;
    font-weight: 500;
}

#footer .info_area .txt_area p {
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: 0.5px;
    font-feature-settings: "palt" 1;
    /* font-family: dnp-shuei-mgothic-std, sans-serif; */
}

#footer .info_area .txt_area a {
    /* color: #fff; */
}

#footer .info_area .txt_area a:hover {
    color: #ccc;
}

@media only screen and (max-width: 1180px) {
    #footer .info_area .txt_area p br {
        /* display: none; */
    }
}

@media only screen and (max-width: 1024px) {
    #footer .info_area h1 {
        width: 180px;
        height: 50px;
        background-size: 180px 50px;
    }
}

@media only screen and (max-width: 900px) {
    #footer .info_area {
        float: none;
        width: 100%;
    }

    #footer .info_area h1 {
        width: 100%;
        height: 150px;
        background-size: 200px 104px;
    }

    #footer .info_area .txt_area {
        margin: 25px auto 0;
        padding: 0 7.5%;
        max-width: 600px;
    }

    #footer .info_area .txt_area p {
        font-size: 13px;
        line-height: 2;
    }
}

@media only screen and (max-width:736px) {
    #footer .info_area h1 {
        height: 50px;
        background-size: 180px 50px;
    }

    #footer .info_area .txt_area {
        margin: 25px auto 0;
        padding: 0 2.5%;
        font-size: 15px;
    }

    #footer .info_area .txt_area p {
        font-size: 15px;
        line-height: 1.8;
        letter-spacing: 2px;
    }

    #footer .info_area .txt_area p a {
        color: #fff;
        color: #000;
    }
}

@media only screen and (max-width:736px) {
    #footer .info_area h1 {
        height: 110px;
        background-size: 200px 104px;
    }
}



#footer .info_area .txt_area p a.btngooglemap {
    color: #fff;
    color: #000;
}

#footer .info_area .txt_area p a.btngooglemap {
    color: #ffffff;
    background: #14357b;
    border-color: #14357b;
    text-align: center;
    width: 150px;
    margin: 10px auto;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 5em;
    padding: 10px 15px;
    height: 60px;
}

#footer .info_area .txt_area p a.btngooglemap:hover {
    color: #14357b;
    background: #ffffff;
    border: #14357b 2px solid;
    margin-top: 10px;
}

#footer .info_area .txt_area p a.btngooglemap:before {
    font-family: 'Font Awesome 6 pro';
    content: "\f3c5";
    font-size: 16px;
    padding-right: 10px;
}



#footer .info_area .txt_phone {
    font-size: 20px;
}


#footer .footer_2nd {
    display: flex;
    /* align-items: center; */
    margin-top: 50px;
}


@media only screen and (max-width:736px) {

    #footer .footer_2nd {
        flex-direction: column;
    }
}

#footer .right_area {
    /* width: 66.666%; */
}

/*  .right_area */
#footer .right_area {
    width: 50%;
    padding-right: 15px;
}

/*  .infoArea */
#footer .info_area {
    width: 50%;
    text-align: left;
    padding: 0 10px;
    /* padding-left: 0; */
    display: flex;
    align-content: stretch;
    align-items: center;
}

#footer .info_area h1 {
    width: 230px;
    height: 120px;
    background: url(../images/logo_w.svg) center center no-repeat;
    background-size: 180px 90px;
    display: block;
    position: relative;
    overflow: hidden;
    text-indent: -999px;
    z-index: 1003;
    margin: 0 auto;
}

#footer .info_area .logo {
    width: 90px;
    height: 270px;
    background: url(../../../common/img/logo_footer_blue.svg) center center no-repeat;
    background-size: 90px 270px;
    display: block;
    position: relative;
    overflow: hidden;
    text-indent: -999px;
    z-index: 11;
    margin: 0 auto;
}

@media only screen and (max-width: 736px) {
    #footer .info_area {
        width: 100%;
        margin-top: 30px;
        padding-left: 0px;
    }
}


#footer .info_area p {
    /* margin-bottom: 5px; */
    line-height: 1.3;
}

#footer .info_area .txt_area {
    margin-top: 5px;
    padding: 0 10% 0 1px;
    padding: 0;
    /* color: #08397b; */
    color: #000;
    font-weight: 500;
}

#footer .info_area .txt_area p {
    font-size: 15px;
    /* line-height: 1.6; */
    letter-spacing: 0.5px;
    font-feature-settings: "palt" 1;
}

#footer .info_area .txt_area a {
    /* color: #fff; */
    margin-right: 10px;
}

#footer .info_area .txt_area a:hover {
    color: #ccc;
}



#footer .info_area .txt_phone {
    margin: 5px 0 10px;
}

/* 
#footer .info_area .txt_phone a.btnTel:before {
    font-family: 'Font Awesome 6 pro';
    content: "\f87b";
    font-size: 15px;
    padding-right: 5px;
}

#footer .info_area .txt_phone .btnFax:before {
    font-family: 'Font Awesome 6 pro';
    content: "\f1ac";
    font-size: 15px;
    padding-right: 5px;
}

 */

.btnTel {
    padding-right: 0px;
}


a.btnTel:before,
.btnTel:before {
    font-family: 'Font Awesome 6 pro';
    content: "\f87b";
    font-size: 10px;
    padding-right: 5px;
    font-style: normal;
    content: 'TEL';
    color: #000;
    top: -2px;
    position: relative;
}

.btnFax:before {
    font-family: 'Font Awesome 6 pro';
    content: "\f1ac";
    font-size: 10px;
    padding-right: 5px;
    font-style: normal;
    content: 'FAX';
    top: -2px;
    position: relative;
}


@media only screen and (max-width: 900px) {
    #footer .right_area {
        float: none;
        width: 100%;
    }
}

/*  .sitemapArea */
#footer .sitemap_area {
    display: block;
    width: 100%;
    /* margin-top: 30px; */
}

#footer .sitemap_area h3 {
    color: #555;
    /* color: #464544; */
    font-size: 15px;
    /* font-family: 'Poppins', sans-serif; */
    /* font-weight: 600; */
    letter-spacing: 1px;
    text-align: left;
    position: relative;
    padding-left: 10px;
    font-family: "Century Gothic", sans-serif;
}

#footer .sitemap_area h3:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f37e";
    position: relative;
    left: -5px;
}


#footer .sitemap_area ul {
    /* display: block; */
    list-style: none;
    /* font-size: 0; */
    /* margin: -5px -2% 0; */
    text-align: left;
    /* display: block; */
    display: flex;
    flex-wrap: wrap;
}

#footer .sitemap_area ul li {
    display: inline-block;
    width: 45%;
    margin: 5px 2.5% 0;
    text-align: left;
    padding: 0 1%;
}

#footer .sitemap_area ul li a {
    color: #000;
    display: block;
    font-size: 15px;
    letter-spacing: 1px;
    line-height: 50px;
    border-bottom: #333 1px solid;
    position: relative;
    z-index: 1;
}

#footer .sitemap_area ul li a:before,
#footer .sitemap_area ul li a:after {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#footer .sitemap_area ul li a:before {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 100%;
    height: 0;
    content: "";
    border-bottom: transparent 1px solid;
    z-index: 0;
}

#footer .sitemap_area ul li a:hover:before {
    right: 0;
    border-color: #ddd;
}

#footer .sitemap_area ul li a:after {
    position: absolute;
    top: 0;
    right: 8px;
    color: #464544;
    font-family: "Font Awesome 6 Pro";
    content: "\f061";
    z-index: 1;
}

#footer .sitemap_area ul li a:hover:after {
    color: #ddd;
    right: -5px;
}

@media only screen and (max-width: 736px) {
    #footer .sitemap_area {
        margin-top: 30px;
    }

    #footer .sitemap_area h3 {
        font-size: 14px;
        text-align: left;
        font-weight: 550;
    }

    #footer .sitemap_area ul li a {
        font-size: 13px;
    }

    #footer .sitemap_area ul li a:before {
        display: none;
    }

    #footer .sitemap_area ul li a:hover:after {
        color: #333;
        right: 0;
    }
}

@media only screen and (max-width:736px) {
    #footer .sitemap_area ul {
        margin: 0 0;
        width: 100%;
    }

    #footer .sitemap_area ul li {
        width: 48%;
        margin: 10px 1% 0;
    }

    #footer .sitemap_area ul li a {
        font-size: 13px;
    }
}



#footer .txtArea ul {
    margin: 0 auto;
}

#footer .txtArea ul li {
    display: inline-block;
    margin: 5px auto 0;
    position: relative;
    z-index: 1;
    width: 280px;
}

#footer .txtArea ul li a,
#footer .txtArea ul li span {
    display: block;
    line-height: 50px;
    position: relative;
    z-index: 2;
    color: #000;
}

#footer .txtArea ul li .tel {
    color: #b7b7b7;
    border: #111 1px solid;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 2px;
    max-width: 250px;
    margin: 0 auto;
    padding-left: 20px;
}


/*#footer .txtArea ul li .tel:before { position:absolute; top:0; left:20px; bottom:0; width:25px; content:""; background:url(../images/telIcon.png) left center no-repeat; }*/

#footer .txtArea ul li .tel:before {
    position: absolute;
    top: 5px;
    left: 10px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'Font Awesome 6 pro';
    content: "\f879";
    font-weight: normal;
    color: #111;
    transform: rotate(-260deg);
}


/* .mail */

#footer .txtArea ul li .mail {
    /* color: #fff; */
    border: #666666 1px solid;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    /* max-width: 250px; */
    margin: 0 auto;
    padding-left: 20px;
}

#footer .txtArea ul li .mail:before {
    position: absolute;
    top: 0;
    left: 21px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'themify';
    content: "\e75a";
    font-weight: normal;
}

#footer .txtArea ul li .mail:before {
    position: absolute;
    top: 0;
    left: 11px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'themify';
    content: "\e75a";
    font-family: "Font Awesome 6 Pro";
    content: "\f0e0";
}

#footer .txtArea ul li .mail:hover {
    color: #fefefe;
    background: #007ec5;
    border: #f0fafe 1px solid;
}

#footer .txtArea ul li .mail:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    font-size: 10px;
    font-family: "Font Awesome 6 Pro";
    content: "\f105";
    font-weight: normal;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#footer .txtArea ul li .mail:hover:after {
    opacity: 1;
    -webkit-transform: translate(5px, 0px);
    -moz-transform: translate(5px, 0px);
    -o-transform: translate(5px, 0px);
    -ms-transform: translate(5px, 0px);
    transform: translate(5px, 0px);
}

@media only screen and (max-width: 945px) {
    #footer .contactBox ul li .tel {
        font-size: 14px;
        letter-spacing: 1.5px;
    }

    #footer .contactBox ul li .tel:before {
        left: 10px;
    }

    #footer .contactBox ul li .mail {
        font-size: 12px;
    }

    #footer .contactBox ul li .mail:before {
        left: 10px;
    }
}


/* ---------- footer ---------------------------------------- */
.footer_bottom {
    padding: 10px;
    background-color: #14357b;
    height: 90px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}



@media only screen and (max-width: 600px) {
    .footer_bottom {
        padding: 10px;
        background-color: #14357b;
        height: 90px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
    }
}



.footer_bottom .logo img {
    width: 100px;
}




.footer_bottom .copyright p {
    color: #555;
    text-align: right;
    padding: 0 18px;
}


.con_btn {
    width: 100%;
    margin-top: 30px;
    text-align: left;
}



.btn_press {
    display: inline-block;
    width: 250px;
    padding: 10px 10px 10px 20px;
    text-align: left;
    color: #000;
    margin: 5px;
    /* line-height:50px;
	height:50px; */
    border: 1px solid;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    /* text-shadow: #000 0 0 0.5em; */
    font-size: 1em;
}

.btn_press::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 5px);
    right: 20px;
    width: 30px;
    height: 5px;
    border: none;
    border-right: 2px solid #000000;
    border-bottom: 1px solid #000000;
    transform: skew(45deg);
    transition: .3s;
}

.btn_press:hover::after {
    right: 10px;
    width: 40px;
}





.p-fixBtnWrap {
    bottom: 6.5em;
    right: 2.5em;
}

.p-fixBtnWrap {
    bottom: 6.5em;
    right: 2.5em;
}


.en_Centuryg {
    font-family: "Century Gothic", sans-serif;
}


/* japanese_font Std EB */
.font_japanese_a {
    font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
    font-weight: 900;
    font-style: normal;
}


.btn_typeA {
    margin: 5px 5px 0;
    position: relative;
    z-index: 1;
    width: 290px;
}


.btn_typeA {
    /* color: #fff; */
    border: #ddd 1px solid;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;
    /* max-width: 250px; */
    margin: 0 auto;
    padding: 10px 30px 10px 20px;
    padding-left: 20px;
    /* font-family: "Century Gothic", sans-serif; */
}

/* .btn_typeA:before {
    position: absolute;
    top: 0;
    left: 11px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: "Font Awesome 6 Brands";
    content: "\f167";
} */

.btn_typeA:hover {
    color: #fefefe;
    background: #007ec5;
    /*     border: #f0fafe 1px solid; */
}

.btn_typeA:after {
    position: absolute;
    top: 0;
    bottom: 0;
    line-height: 38px;
    right: 15px;
    font-size: 10px;
    font-family: "Font Awesome 6 Pro";
    content: "\f105";
    font-weight: normal;
    opacity: 0.8;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.btn_typeA:hover:after {
    opacity: 1;
    -webkit-transform: translate(5px, 0px);
    -moz-transform: translate(5px, 0px);
    -o-transform: translate(5px, 0px);
    -ms-transform: translate(5px, 0px);
    transform: translate(5px, 0px);
}



.company_table table {}

.company_table table {
    border-collapse: collapse;
    text-align: left;
    /* font-size: 15px; */
    letter-spacing: 1px;
    line-height: 2;
    width: 100%;
}

.company_table table tr {}

.company_table tableth {
    width: 25%;
    padding: 24px;
    vertical-align: 0;
    border: #ddd 1px solid;
    border-right: #ddd 1px dashed;
    border-right: #ddd 1px solid;
}

.company_table table td {
    padding: 22px;
    vertical-align: 0;
    border: #ddd 1px solid;
    /* border-left:none; */
}

.company_table table td .linkArea {
    margin-top: 10px;
    text-align: left;
}

.company_table table td .linkArea a.btn {
    margin: 0;
}

/* --- #map_canvas --- */
#map_canvas {
    width: 100%;
    margin-top: 70px;
    height: 400px;
    position: relative;
    z-index: 1;
    border: #ededed 1px solid;
}


@media only screen and (max-width: 950px) {
    .company_table table th {
        width: 30%;
        padding: 20px;
    }

    .company_table table td {
        padding: 20px;
    }
}

@media only screen and (max-width: 800px) {
    .company_table table {
        font-size: 13px;
    }
}

@media only screen and (max-width: 738px) {
    #outline .imgArea {
        /* float:none; */
        width: 100%;
        display: block;
    }

    #outline .txtArea {
        float: none;
        width: 100%;
        /* margin-top:25px; */
    }

    .company_table table {
        /* font-size:12px; */
    }
}

@media only screen and (max-width: 414px) {
    .company_table table th {
        width: 100%;
        padding: 15px;
    }

    .company_table table td {
        padding: 15px;
        width: 100%;
    }
}


/* ======== table.tableOther ======== */
.company_table table {
    border-collapse: collapse;
    text-align: left;
    /* font-size: 15px; */
    letter-spacing: 1px;
    line-height: 2;
    width: 100%;
}

.company_table table tr {}

.company_table table th {
    width: 25%;
    padding: 24px;
    vertical-align: 0;
    /* border: #ddd 1px solid; */
    border-right: #ddd 1px dashed;
    border-right: #ddd 1px solid;
}

.company_table table td {
    padding: 22px;
    vertical-align: 0;
    border: #ddd 1px solid;
    /* border-left:none; */
}

.company_table table td .linkArea {
    margin-top: 10px;
    text-align: left;
}

.company_table table td .linkArea a.btn {
    margin: 0;
}

@media only screen and (max-width: 950px) {
    .company_table table th {
        width: 30%;
        padding: 20px;
    }

    .company_table table td {
        padding: 20px;
    }
}

@media only screen and (max-width: 800px) {
    .company_table table {
        font-size: 13px;
    }
}

@media only screen and (max-width: 738px) {
    #outline .imgArea {
        /* float:none; */
        width: 100%;
        display: block;
    }

    #outline .txtArea {
        float: none;
        width: 100%;
        /* margin-top:25px; */
    }

    .company_table table {
        /* font-size:12px; */
    }
}

@media only screen and (max-width: 414px) {
    .company_table table th {
        width: 30%;
        padding: 15px;
    }

    .company_table table td {
        padding: 15px;
    }
}


.company_table table {}

.company_table table {
    border-collapse: collapse;
    text-align: left;
    /* font-size: 15px; */
    letter-spacing: 1px;
    line-height: 2;
    width: 100%;
}

.company_table table tr {}

.company_table tableth {
    width: 25%;
    padding: 24px;
    vertical-align: 0;
    border: #ddd 1px solid;
    border-right: #ddd 1px dashed;
    border-right: #ddd 1px solid;
}

.company_table table td {
    padding: 22px;
    vertical-align: 0;
    border: #ddd 1px solid;
    /* border-left:none; */
}

.company_table table td .linkArea {
    margin-top: 10px;
    text-align: left;
}

.company_table table td .linkArea a.btn {
    margin: 0;
}


@media only screen and (max-width: 950px) {
    .company_table table th {
        width: 30%;
        padding: 20px;
    }

    .company_table table td {
        padding: 20px;
    }
}

@media only screen and (max-width: 800px) {
    .company_table table {
        font-size: 13px;
    }
}

@media only screen and (max-width: 738px) {
    #outline .imgArea {
        /* float:none; */
        width: 100%;
        display: block;
    }

    #outline .txtArea {
        float: none;
        width: 100%;
        /* margin-top:25px; */
    }

    .company_table table {
        /* font-size:12px; */
    }
}

@media only screen and (max-width: 414px) {
    .company_table table th {
        width: 30%;
        padding: 15px;
    }

    .company_table table td {
        padding: 15px;
    }
}


/* ======== table.tableOther ======== */
.company_table table {
    border-collapse: collapse;
    text-align: left;
    /* font-size: 1px; */
    letter-spacing: 1px;
    line-height: 2;
    width: 96%;
    margin: 0 2%;
    border: 1px solid #ddd;
}

.company_table table tr {}

.company_table table th {
    width: 25%;
    padding: 24px;
    vertical-align: 0;
    /* border: #ddd 1px solid; */
    border-right: #ddd 1px dashed;
    border-right: #ddd 1px solid;
}

.company_table table td {
    padding: 22px;
    vertical-align: 0;
    border: #ddd 1px solid;
    /* border-left:none; */
    font-size: 16px;
    font-weight: 400;
}

.company_table table td .linkArea {
    margin-top: 10px;
    text-align: left;
}

.company_table table td .linkArea a.btn {
    margin: 0;
}

.company_table table td:first-child {
    /* width: 10em!important; */
}


@media only screen and (max-width: 950px) {
    .company_table table th {
        width: 30%;
        padding: 20px;
    }

    .company_table table td {
        padding: 20px;
    }
}

@media only screen and (max-width: 800px) {
    .company_table table {
        font-size: 13px;
    }
}

@media only screen and (max-width: 738px) {
    #outline .imgArea {
        /* float:none; */
        width: 100%;
        display: block;
    }

    #outline .txtArea {
        float: none;
        width: 100%;
        /* margin-top:25px; */
    }

    .company_table table {
        /* font-size:12px; */
    }

}

@media only screen and (max-width: 414px) {
    .company_table table th {
        width: 30%;
        padding: 15px;
    }

    .company_table table td {
        padding: 15px;
        width: 100% !important;
    }
}

[class*=is-style-btn_].-size-s a {
    font-size: .9em;
    min-width: 40%;
    color: #fff;
    font-weight: 400;
}



.about_area {
    display: flex;
    align-items: center;
    justify-content: center;
}

.about_area .set_left {
    width: 35%;
}

.about_area .set_right {
    width: 50%;
    text-align: center;
}

.about_area .set_right img. {
    width: 50%;
}


.about_area .set_right .title_icon {
    width: 100px;
    margin: 30px auto;
}

.about_area .set_right h2 {
    font-size: 1.5em;
    margin-bottom: 10px;
}

.about_area .set_right h3 {
    font-size: 1em;
    background: #1f286f;
    background: linear-gradient(to right, #1f286f 0%, #1f286f 85%, #ffffff 100%);
    background: linear-gradient(to right, #1f286f 0%, #0a1678 83%, #ffffff 100%);
    color: #fff;
    line-height: 2.5;
}

.about_area .set_right .txt {
    width: 80%;
    margin: 0 auto;
}

.about_area .set_right .txt p {
    font-size: 1em;
    color: #000000;
    line-height: 2.5;
}

@media only screen and (max-width: 600px) {

    .about_area {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }



    .about_area .set_left {
        width: 100%;
    }

    .about_area .set_left img {
        height: 300px;
        width: 100%;
        object-fit: cover;
        margin-bottom: 15px;
    }

    .about_area .set_right {
        width: 100%;
        text-align: center;
    }

    .about_area .set_right img {
        width: 100%;
    }


    .about_area .set_right .title_icon {
        width: 100px;
        margin: 30px auto;
    }

    .about_area .set_right h2 {
        font-size: 1.5em;
        margin-bottom: 10px;
    }

    .about_area .set_right h3 {
        font-size: 1em;
        background: #1f286f;
        color: #fff;
        line-height: 2.5;
    }

    .about_area .set_right .txt {
        width: 90%;
        margin: 0 auto;
    }

    .about_area .set_right .txt p {
        font-size: 1em;
        color: #000000;
        line-height: 2.5;
        text-align: left;
    }



}




.about_set {
    margin-top: 100px;
}

.set_info {
    display: flex;
    align-items: center;
    margin-bottom: 100px;
}

.set_info .title_icon {
    width: 25%;
    text-align: center;
}

.set_info .title_icon img {
    width: 160px;
}


.set_info .set_tb {
    width: 70%
}

@media only screen and (max-width: 600px) {
    .set_info {
        display: flex;
        align-items: center;
        margin-bottom: 100px;
        flex-direction: column;
    }

    .set_info .title_icon {
        margin-bottom: 15px;
        text-align: center;
        width: 150px;
    }

    .set_info .title_icon img {
        /* width: 200px; */
    }


    .set_info .set_tb {
        width: 90%;
        margin: 0 5%;
    }

}



.set_info .set_tb table.info {}



/* ======== table.tableOther ======== */
.set_info .set_tb table.info {
    border-collapse: collapse;
    text-align: left;
    font-size: 15px;
    letter-spacing: 1px;
    line-height: 18px;
    width: 100%;
}

.set_info .set_tb table.info tr {}

.set_info .set_tb table.info th {
    width: 22%;
    padding: 10px 10px;
    vertical-align: 0;
    border-bottom: #00a0e9 1px solid;
    /* border-right: #ddd 1px dashed;
    border-right: #ddd 1px solid; */
    /* background: #fff9f9; */
}

.set_info .set_tb table.info td {
    /* padding: 10px; */
    vertical-align: 0;
    /* border: #ddd 1px solid; */
    border-bottom: #9fa0a0 1px solid;
    line-height: 2;
}

.set_info .set_tb table.info td .linkArea {
    margin-top: 10px;
    text-align: left;
}

.set_info .set_tb table.info td .linkArea a.btn {
    margin: 0;
}



@media only screen and (max-width: 950px) {
    .set_info .set_tb table.info th {
        width: 30%;
        padding: 20px;
        /* background: #fdf6f6; */
    }

    .set_info .set_tb table.info td {
        padding: 20px;
    }
}

@media only screen and (max-width: 800px) {
    .set_info .set_tb table.info {
        font-size: 13px;
    }
}

@media only screen and (max-width: 738px) {
    .set_info .set_tb table.info {
        /* font-size:12px; */
    }
}

@media only screen and (max-width: 600px) {
    .set_info .set_tb table.info {
        margin-top: 10px;
    }

    .set_info .set_tb table.info th {
        width: calc(100% - 30px);
        width: 100%;
        padding: 15px 15px 0px;
        display: block;
        border-bottom: none;
        color: #14357b;
        font-weight: 600;
    }

    .set_info .set_tb table.info td {
        padding: 5px 15px 15px;
        width: calc(100% - 30px);
        width: 100%;
        display: block;
        /* border: 1px solid #ddd; */
        line-height: 2;
        border-bottom: 1px solid #00a0e9;
    }
}

.if_br {
    display: block
}

@media only screen and (max-width: 1380px) {
    .if_br {
        display: none
    }
}

.map_position {
    padding-top: 100px;
}

@media only screen and (max-width: 600px) {
    .map_position {
        padding-top: 150px;
    }
}






.set_map {
    display: flex;
    align-items: center;
    margin-bottom: 60px;
}

.set_map .title_icon {
    width: 30%;
    text-align: center;
}

.set_map .title_icon img {
    width: 160px;
}

.set_map .set_imgMap {
    width: 70%
}

.set_map .set_imgMap img {
    width: 80%;
    margin: 0 5%;
}



@media only screen and (max-width: 600px) {
    .set_map {
        display: flex;
        align-items: center;
        margin-bottom: 60px;
        flex-direction: column;
    }

    .set_map .title_icon {
        margin-bottom: 15px;
    }

    .set_map .set_imgMap {
        width: 100%;
    }

    .set_map .set_imgMap img {
        width: 90%;
        margin: 0 5%;
    }

}


/* 先輩の声 */

#s_voice .box_flex {
    margin-bottom: 80px;
    max-width: 800px;
    margin: 60px auto 50px;
}

/* 
#s_voice .box_flex h3 {
    color: #3f2e16;
    font-weight: bold;
    font-size: 1.4rem;
    padding: 0 30px 12px 14px;
    border-bottom: 3px solid #1f286f;
    display: inline-block;
    line-height: 1.3;
    margin-top: 20px;
}

#s_voice .box_flex h3:before {
    content: '\f3c9';
    font-family: 'Font Awesome 6 pro';
    padding-right: 5px;
    color: #1f286f;
    font-size: 1.2em
}
 */



#s_voice h2 {
    font-size: 1.5em;
    margin-bottom: 10px;
    text-align: center;
}

#s_voice h3 {
    font-size: 1em;
    background: #1f286f;
    background: linear-gradient(to right, #1f286f 0%, #1f286f 85%, #ffffff 100%);
    background: linear-gradient(to right, #1f286f 0%, #0a1678 83%, #ffffff 100%);
    color: #fff;
    line-height: 2.5;
    text-align: center;
}




.senior_voice {
    position: relative;
    margin-bottom: 100px;
}


.senior_voice .title_dan_r {
    background: #463b3a;
    padding: 0.5em 1em;
    font-weight: 600;
    position: absolute;
    right: 50px;
    border-radius: 3em;
    color: #fff;
    top: 5px;
    z-index: 1;
    font-size: 1rem;
}

.senior_voice .title_dan_l {
    background: #1f286f;
    padding: 0.5em 1em;
    font-weight: 600;
    position: absolute;
    left: 50px;
    border-radius: 3em;
    color: #fff;
    top: 5px;
    z-index: 1;
    font-size: 1rem;
}

@media screen and (max-width: 600px) {
    #s_voice .box_flex {
        margin-bottom: 80px;
        max-width: 1000px;
        margin: 60px auto 90px;
    }

    .senior_voice .title_dan_r {
        top: 5px;
        right: 20px;
    }

    .senior_voice .title_dan_l {
        left: 20px;
        top: 5px;
    }
}






.senior_voice .icon_dan_r img {
    padding: 1em;
    position: absolute;
    right: -76px;
    bottom: -60px;
    width: 120px;
    z-index: 1;
}


.senior_voice .icon_dan_l img {
    padding: 1em;
    position: absolute;
    left: -240px;
    bottom: 80px;
    width: 250px;
    z-index: 1;
}

@media screen and (max-width: 600px) {
    .senior_voice .icon_dan_r img {
        padding: 1em;
        position: absolute;
        right: -36px;
        bottom: -60px;
        width: 110px;
        z-index: 1;
    }


    .senior_voice .icon_dan_l img {
        padding: 1em;
        position: absolute;
        left: -8%;
        top: -130px;
        width: 150px;
        z-index: 1;
    }
}


.senior_voice .qa_Area {
    display: -webkit-flex;
    display: flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.senior_voice .qa_Box {
    flex-wrap: wrap;
    padding: 1.5em 3em;
    margin: 1em 0.5% 1em;
    border-radius: 1.5em;
    position: relative;


}


.senior_voice .qa_Box_bg01 {
    background: #fac03d;
    position: relative;
    /* background: #f0f0f0; */
    border-radius: 12px;
    padding: 1.5em;
    /* max-width: 300px; */
    margin: 2em;
}

.senior_voice .qa_Box_bg01::after {
    content: "";
    position: absolute;
    right: 80px;
    bottom: -20px;
    width: 50px;
    height: 50px;
    transform: rotate(5deg);
    background-image: url('../../../common/img/voice/arrow_o.png');
    background-size: cover;
    background-repeat: no-repeat;
}


.senior_voice .qa_Box_bg04 {
    background: #fbd0d0;
    /* border: 3px #ddd solid; */
    position: relative;
    /* background: #f0f0f0; */
    border-radius: 12px;
    padding: 1.5em;
    /* max-width: 300px; */
    margin: 2em;
}

.senior_voice .qa_Box_bg04::after {
    content: "";
    position: absolute;
    left: -40px;
    bottom: 50px;
    width: 50px;
    height: 50px;
    transform: rotate(77deg);
    background-image: url('../../../common/img/recruit/arrow_p.png');
    background-size: cover;
    background-repeat: no-repeat;
}






.senior_voice .qa_Box_bg02 {
    background: #ffebeb;
}

.senior_voice .qa_Box_bg03 {
    background: #d4fbff;
}

/* .qa_Box_bg04 {
    background: #dae24a;
}
 */
.senior_voice .pla_col_1 {
    width: 80%;
}

.senior_voice .pla_col_2 {
    width: 48%;
}

.senior_voice .pla_col_3 {
    width: 32%;
}

.senior_voice .qa_Box .index_timg {
    object-fit: cover;
}


@media screen and (max-width: 600px) {

    .senior_voice .qa_Box {
        flex-wrap: wrap;
        padding: 1.5em 0.8em;
        margin: 1em 0.5% 1em;
        position: relative;
    }

    .senior_voice .pla_col_1 {
        width: 100%;
    }

    .senior_voice .title_dan {
        top: -20px;
        z-index: 1;
        font-size: 1rem;
    }


    .senior_voice .pla_col_2 {
        width: 100%;
    }

    .senior_voice .pla_col_3 {
        width: 100%;
    }

    .senior_voice .qa_Box_bg04::after {
        display: none
    }

}



.senior_voice .txt_q {
    font-size: 1.1rem;
    /* border-bottom: 1px solid #ddd; */
    line-height: 1.5;
    padding-bottom: 5px;
    padding-top: 20px;
    font-weight: 600;
    color: #000;
}

@media screen and (max-width: 600px) {
    .senior_voice .txt_q {
        font-size: 1.1rem;
    }
}



.senior_voice .txt_q span {
    /* content:'Ã¤Âºâ€¹Ã¥â€¹â„¢Ã¥Â±â‚¬'; */
    /* 	border:1px solid #ddd; */
    /* padding:5px 10px; */
    /* color:#fff; */
    /* background:#3c763d; */
    /* border-radius:1em; */
}



.senior_voice .txt_q .facebookBtn:before {
    content: "\e741";
    color: #3765a3;
}


.senior_voice .txt_a {
    line-height: 1.4;
    padding-top: 0;
    letter-spacing: 0.1em;
    padding-bottom: 20px;
    border-bottom: 1px solid #8c8c8c;
}

@media screen and (max-width: 600px) {
    .senior_voice .txt_a {
        line-height: 1.8;
        /* padding-bottom: 3em; */
        font-size: 14px;
    }
}






/* custom */

p {
    line-height: 1.8;
    letter-spacing: 2.8px;
}

/* tmp-custom */
.-series .c-headLogo {
    margin-left: 16px;
    text-indent: -999em;
}

.l-content {
    margin-bottom: 2em !important;
}

.c-gnav .sub-menu {
    color: black;
    background-color: #eee;
    border-radius: 8px;
    background-color: rgb(253 253 253 / 60%);
}

.c-gnav .sub-menu:before {
    border-radius: 8px;
}

.top #content {
    padding-top: 0 !important;
    width: 100% !important;
    padding: 0;
    margin: 0;
    max-width: 100%;
}

.c-gnav>.menu-item>a {
    padding: 0 24px;
    height: 50px;
}

.c-gnav>.menu-item>a:after {
    bottom: 16px;
}

.-type-list .p-postList__thumb {
    width: 35%;
    width: 15%;
    padding-right: 10px;
}


.-type-list .p-postList__link {
    justify-content: flex-start;
}


.-type-list .p-postList__body {
    width: 60%;
    display: flex;
    flex-direction: column;
}

.l-topTitleArea {
    min-height: 280px;
    padding: 1em 0;
    z-index: 1;
    border-radius: 0 0 0 30px;
    margin-left: 40px;
    width: calc(100% - 40px);
    /* margin-top: 60px; */
}

.l-topTitleArea img {
    /* display: none; */
    z-index: 1;
    width: 100% !important;
}


.mark {
    position: relative;
    top: -110px;
    z-index: 99;
    width: 250px;
    left: 5%;
}

.mark p {
    position: absolute;
    color: #fff;
    bottom: -120px;
    z-index: 10;
    font-size: 12px;
    line-height: 1.3em;
    width: 180px;
    left: 35px;
    text-align: center;
}

.mark img {
    position: absolute;
    top: -70px;
    z-index: 9;
    width: 100%;
}

@media(max-width: 768px) {
    .mark {
        display: none;
    }
}

@media(max-width: 959px) {
    .l-topTitleArea {
        min-height: 130px;
        padding: 1em 0;
        margin-top: 55px;
        margin-left: 20px;
        width: calc(100% - 20px);
    }
}

@media(max-width: 600px) {
    .l-topTitleArea {
        min-height: 130px;
        padding: 1em 0;
        margin-top: 0px;
        margin-left: 20px;
        width: calc(100% - 20px);
    }
}




.l-content {
    padding-top: 0;
    padding: 0;
    padding-top: 100px !important;
}



.p-breadcrumb__list {
    align-items: center;
    display: flex;
    font-size: 10px;
    gap: .5em;
    list-style: none;
    overflow: hidden;
    width: calc(100% - 10px);
    flex-direction: row;
    justify-content: flex-end;
    margin-right: 0;
}





.p-breadcrumb {
    margin: 0 auto;
    padding: 20px 0 20px;
    position: relative;
}

.swell-block-fullWide {
    /* padding: 0!important; */
    position: relative;
}


.c-gnav>.-current>a::after {
    width: 95%;
    margin: 0 2.5%;
}


@media(max-width: 589px) {

    .-type-list .p-postList__thumb,
    .-type-list .p-postList__body {
        width: 100%;
    }
}

.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:first-child) {
    margin-left: 0;
}

.wp-container-22 iframe,
.wp-container-28 iframe {
    height: 70vh;
}

@media(max-width: 959px) {
    .wp-container-22 {
        order: 1;
    }

    .wp-container-23.wp-block-group {
        padding-right: 24px;
        padding-left: 24px;
    }
}


/******
 * Original Custom
 * *******************************/
/* Block */
.bl_smallBox {
    width: 70%;
    margin: auto;
}

.bl_mediaBox {
    width: 65%;
    margin-left: auto;
}

@media(max-width: 959px) {
    .bl_mediaBox {
        width: 100%;
        padding-right: 24px;
        padding-left: 24px;
    }
}

@media(max-width: 599px) {
    .bl_smallBox {
        width: 100%;
        padding-right: .8em;
        padding-left: .8em;
    }
}

/* Element */
.el_lv2Heading,
.el_txtFont {
    /* font-family: 'Noto Serif JP', serif; */
}

.el_lv2Heading.el_lv2Heading__pt {
    /* font-family: 'Noto Serif JP', serif; */
    padding-top: 2em !important;
}

.el_lv2Heading.el_lv2Heading__l {
    font-size: 2.4em;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

@media(max-width: 589px) {
    .el_lv2Heading.el_lv2Heading__l {
        font-size: 1.8em;
    }
}

.el_subTtl {
    /* 	color: red; */
    /* 	font-family: 'Josefin Sans', sans-serif; */
    font-family: "Century Gothic", sans-serif;
    font-weight: 700;
}

.el_subTtl.el_subTtl__white {
    color: white;
}

.el_brandFz {
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    margin: 0 !important;
}

.el_btn {
    padding-top: 3em;
}

.el_headerBtn a {
    font-size: .8em !important;
    font-weight: 400;
}

.el_bgWhiteTxt {
    background-color: #ffffff90;
    padding: 2.6em;
}

@media(max-width: 599px) {
    .el_bgWhiteTxt {
        background-color: #ffffff90;
        padding: 1em;
    }
}

/* Helper */

.hp_pr {
    padding-right: 2em;
}

@media(max-width: 599px) {
    .hp_pr {
        padding-right: 0;
    }
}

.hp_pb {
    padding-bottom: 8em !important;
}

.hp_pl {
    padding-left: 1em !important;
}

.hp_ptb {
    padding-top: 3em;
    padding-bottom: 3em;
}

/* swellカスタマイズ */
.sw_slideTxt {
    padding: 0 4em;
}



.u-obf-cover {
    display: block;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    /* width: 100% !important; */
    /* margin-left: 30px; */
}

.u-obf-cover img {
    /* display: block;
    height: 100%!important;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%!important; */
    border-radius: 0 0 0 30px;
}




@media(max-width: 599px) {
    .sw_slideTxt {
        padding: 0 1em;
    }

    .u-obf-cover {
        object-position: center right;
        margin-left: 10px;
        width: calc(100% - 0px) !important;
    }



}

/***
 * Footer
 * ******************/
.l-footer {
    background: #f7f7f7;
}

.post_content ul.el_footerList {
    padding-left: 0;
}

.el_footerList li {
    padding: .8em .4em;
    list-style: none;
    border-bottom: 1px solid #bfbfbf;
    font-size: 14px;
}

.el_footerList li:first-child {
    padding-top: 0;
}

.el_footerList li>a {
    display: block;
    position: relative;
}

.el_footerList li>a::after,
.el_footerList li>a:hover::after {
    content: '\e5cc';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'Material Icons';
    transition: .3s;
}

.el_footerList li>a::after {
    right: 0;
}

.el_footerList li>a:hover::after {
    right: -10px;
}

.el_btnRadius a {
    border-radius: 25px;
}


.c-pageTitle {
    /* font-family: 'Noto Serif JP', serif; */
    text-align: right;
    color: #fff;
    background: #1f286f;
    position: absolute;
    right: 0;
    padding: 10px;
}

.-type-card .p-postList__link {
    height: 100%;
    border: 1px solid #ddd;
    background: #f7f7f7;
    padding: 5%;
    border-radius: 0.2em;
}

.-type-card .p-postList__body {
    padding-top: 1em;
    padding: 5px;
}


.footer_nav {
    list-style-type: none;
    padding: 1em;
    /*     border: 2px solid #2589d0; */
}

.footer_nav li {
    display: flex;
    align-items: center;
    gap: 0 10px;
    padding: .3em;
    border-bottom: 1px solid #ddd
}

.footer_nav li::before {
    transform: rotate(-45deg);
    width: .4em;
    height: .4em;
    border-bottom: 3px solid #004896;
    border-right: 3px solid #004896;
    content: '';
}


/* .btnA  */
p.btnA a {
    display: inline-block;
    width: 180px;
    max-width: calc(100% - 20px);
    padding: 0;
    /* margin: 10px 10px; */
    color: #fff;
    background: #007ec5;
    /* border:1px solid #ddd; */
    font-size: 14px;
    text-decoration: none;
    text-align: center;
    font-weight: 500;
    line-height: 38px;
    letter-spacing: 1px;
    position: relative;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}

p.btnA a:after {
    font-family: 'Font Awesome 6 pro';
    content: "\f105";
    font-size: 10px;
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 0;
    right: 15px;
    z-index: 1;
    line-height: 38px;

}


a.btnA:hover {
    background: #0000002b;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 9999999;

}



.pro_item {
    text-align: center;
    /* background: #e4f5ff; */
    /* border:none!important; */
}

.pro_item img {
    opacity: 0.8;
}

.pro_item:hover {
    background: #f7f7f7;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

p.btnA a:hover {
    background: #0000002b;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 9999999
}



[class*=is-style-btn_].-size-l a {
    font-weight: 500;
    font: size 1.1em;
}

.swell-block-faq .faq_q {
    font-size: 16px;
}

.swell-block-faq .faq_a,
.swell-block-faq .faq_a p {
    font-size: 16px;
}

.is-style-num_circle li {
    font-size: 16px;
}

.set_hover:hover {}


.swell-block-column:hover {
    background-color: #ccdee8;
    cursor: pointer;
}

.about_box {
    padding: 10px
}







/* .mail */

.cap_box_content a.mail {
    /* color: #fff; */
    border: #666666 1px solid;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    margin: 0 auto;
    padding-left: 20px;
    /* min-height: 100px; */
    padding: 10px 20px 10px 30px;
}

.cap_box_content a.mail:before {
    /* position: absolute; */
    top: 0;
    left: 21px;
    bottom: 0;
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'themify';
    content: "\e75a";
    font-weight: normal;
}

.cap_box_content a.mail:before {
    position: relative;
    top: 1px;
    left: -7px;
    /* bottom: 0; */
    width: 25px;
    font-size: 20px;
    text-align: left;
    font-family: 'themify';
    content: "\e75a";
    font-family: "Font Awesome 6 Pro";
    content: "\f0e0";
}

.cap_box_content a.mail:hover {
    color: #fefefe;
    background: #007ec5;
    border: #f0fafe 1px solid;
}

.cap_box_content a.mail:after {
    position: relative;
    top: -2px;
    bottom: 0;
    right: 0px;
    font-size: 10px;
    font-family: "Font Awesome 6 Pro";
    content: "\f105";
    font-weight: normal;
    opacity: 0.8;
    padding-left: 10px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}



.cap_box_content a.mail:hover:after {
    opacity: 1;
    -webkit-transform: translate(5px, 0px);
    -moz-transform: translate(5px, 0px);
    -o-transform: translate(5px, 0px);
    -ms-transform: translate(5px, 0px);
    transform: translate(5px, 0px);
}


.p-breadcrumb.-bg-on {
    /* background: #eee!important; */
    /* color: #fff; */
    /* border-bottom: 1px solid #ddd !important; */
    padding: 20px 0;
    background: #fff !important;
    box-shadow: none !important;
    /* margin-bottom: 20px; */
    position: fixed;
    top: 0;
    right: 0;
    height: 60px;
    z-index: 99;
    width: 300px;
    border-radius: 0em 0em 0em 1em;
}



@media(max-width: 599px) {
    .p-breadcrumb.-bg-on {
        padding: 20px 0;
        background: #fff;
        box-shadow: none !important;
        /* margin-bottom: 20px; */
        position: fixed;
        top: 50px;
        right: 0;
        height: 50px;
        z-index: 10;
        width: 100%;
    }
}





.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    /* bottom: 150px; */
    /* left: 2%; */
    /* width: 150px; */
    /* width: 30px; */
    /* background: #ddd; */
    display: flex;
    /* flex-direction: column; */
    justify-content: flex-end;
    padding-right: 30px;
}

.p-mainVisual .swiper-pagination-bullet-active {
    background: #fff;
    /* width: 20px;
    height: 20px; */
    background: #ffffff;
}

.c-filterLayer:after,
.c-filterLayer:before,
.c-filterLayer__img {
    height: 100%;
    /* left: 0; */
    position: absolute;
    top: 0;
    width: 100%;
    width: 95%;
    right: 0;
    margin-left: 5%;
    /* border-radius: 0 0 0 50px; */
}


.c-filterLayer:after,
.c-filterLayer:before,
.c-filterLayer__img {
    height: 100%;
    /* left: 0; */
    position: absolute;
    top: 0;
    width: 100%;
    width: 100%;
    right: 0;
    margin-left: 0;
    border-radius: 0 0 0 30px;
}


.c-filterLayer:after,
.c-filterLayer:before,
.c-filterLayer__img img {
    border-radius: 0 0 0 30px;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    /* margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px); */
    height: 10px;
    width: 10px;
    /* margin-bottom: 10px; */
    /* cursor: pointer; */
    background: #e2d483;
}


.p-mainVisual__textLayer {
    display: flex;
    /* flex-direction: column; */
    height: 100%;
    justify-content: center;
    align-content: flex-start;
    /* left: 2.5%; */
    position: absolute;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    z-index: 3;
    color: #000 !important;
    writing-mode: vertical-rl;
}



.p-mainVisual__slideTitle {
    position: fixed;
    left: 2%;
    top: 5%;
    color: #333;
    font-size: 18px;
    font-weight: 500;
    /*     z-index: 9999999; */
    /*     -moz-animation: fadeOut 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
    -webkit-animation: fadeOut 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
    animation: fadeOut 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both; */
    writing-mode: vertical-rl;
    font-family: "Century Gothic", sans-serif;
    letter-spacing: 0.2em;
}


.p-mainVisual__slideText {
    font-size: 26px;
    text-align: left;
    letter-spacing: 0.12em;
    font-family: "Century Gothic", sans-serif;
}







@media(max-width: 599px) {
    .p-mainVisual {
        top: 0;
        right: 0;
        margin: 0;
        top: -45px;
    }

    .c-filterLayer:after,
    .c-filterLayer:before,
    .c-filterLayer__img {
        /* width: 100%!important; */
        margin-left: 0;
        right: 0;
        /* left: 40px; */
    }

    .-height-set .p-mainVisual__slide {
        height: calc(70vh - 90px);
        width: 100%;
        padding-left: 30px;
        height: 44vh;
    }





    .p-mainVisual__textLayer {
        display: flex;
        flex-direction: column;
        height: 100%;
        left: 4.5%;
        align-items: flex-start;
    }

    .p-mainVisual__slideText {
        font-size: 16px;
    }

    .swiper-wrapper {
        box-sizing: content-box;
        display: flex;
        height: 100%;
        transition-property: -webkit-transform;
        transition-property: transform;
        transition-property: transform, -webkit-transform;
        /* width: calc(100% - 30px); */
        padding-left: 35px;
        padding-top: 40px;
    }

    .swiper-horizontal>.swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
        bottom: 60px;
    }


}


.p-breadcrumb+.l-content {
    /* padding-top: 80px !important; */
    padding: 0 20px;
}

@media(max-width: 599px) {
    .p-breadcrumb+.l-content {
        padding-top: 15px !important;
        padding: 0;
        width: 90%;
    }

}



.c-widget__title.-side {
    padding: 0.5em 1em;
    /* margin: -16px -16px 1.5em; */
    border-radius: var(--swl-radius--4, 0) var(--swl-radius--4, 0) 0 0;
    background: #1f286f;
    color: #fff;
    font-weight: 500;
}

.our_btn {
    text-align: right
}

.our_btn {
    /* display: flex; */
    /* justify-content: center; */
    /* position: relative; */
    /* right: 0; */
    width: calc(100% - 50%);
    width: 100%;
    margin: 0;
    padding: .9em 0.5em;
    border: none;
    /* border-bottom: 2px solid #e6edf3; */
    background-color: transparent;
    color: #333;
    font-weight: 600;
    font-size: 1em;
    text-align: right;
}

.our_btn::before {
    position: absolute;
    bottom: -3px;
    left: 0;
    transform: scaleX(0);
    transform-origin: center left;
    width: 100%;
    height: 2px;
    background-color: #2589d0;
    content: '';
    transition: transform .3s ease;
}


.our_btn::after {
    padding-left: 10px;
    font-family: "Font Awesome 6 Pro";
    content: "\f105";
}


.our_btn:hover::after {
    transform: scaleX(1);
}


.-type-list .p-postList__item {
    margin-bottom: 1em;
    margin-top: 1em;
    margin-bottom: 0;
    margin-top: 0;
    border-bottom: 1px solid #ddd;
}


.-type-card .p-postList__title,
.-type-list2 .p-postList__title,
.-type-list .p-postList__title {
    font-size: 18px;
    margin-bottom: 10px;
}

.c-postThumb__figure {
    border-radius: 0.5em;
    border: 1px solid #eee;
    width: 100%;
    margin: 0 auto;
}


.p-postList__cat {
    background: #1f286f;
    padding: 6px 8px;
    border-radius: 50px;
    color: #fff;
}


.smf-form .smf-item .smf-text-control__control {
    color: #8d8d8d;
}

/* 

.l-topTitleArea.c-filterLayer::before {
    background-color: #6c6c6c;
    opacity: 0.2;
    content: ""
} */


.senpai_box {
    padding: 15px
}

.senpai_list {}

.senpai_list img {
    border-radius: 0.5em;
}


.profile_set {
    align-items: center !important;
    max-width: 1200px;
    border: 1px solid #eee;
    border-radius: 0.5em;
    background: #fff;
    padding: 30px
}

.profile_set img {
    border-radius: 0.5em;
}

.profile_set p {
    text-align: left;
}

.profile_faq {
    align-items: center !important;
    max-width: 1200px;
    border: none;
    border-radius: 0.5em;
    background: #fff;
    padding: 30px;
    text-align: left;
}

.profile_faq div {
    border-bottom: 1px solid #eee
}

.set_margin_b0 {
    margin-bottom: 0
}

.c-categoryList__link {
    background-color: #1f286f;
    padding: 5px 10px;
    border-radius: 3em;
    line-height: 1.2;
    color: #fff !important;
}

.c-categoryList {
    color: #1f286f;
}



.wp-element-caption {
    line-height: 80px !important;
}


@media(max-width: 599px) {
    .profile_set {
        padding: 5px
    }
}




/* TIMELINE
  –––––––––––––––––––––––––––––––––––––––––––––––––– */

.timeline {
    white-space: nowrap;
    overflow-x: hidden;
    width: 100%;
    max-width: 1200px;
    margin: 0px auto;
    text-align: center;
    padding: 30px 20px 0;
    border: 1px solid #ddd;
    border-top: none;
    border: none;
    overflow-x: scroll;
    /* height: 100px; */
}

.timeline p.title {
    position: relative;
    line-height: 1.4;
    padding: 0.25em 1em;
    display: inline-block;
    top: 0;
    font-size: 20px;
    font-weight: 600;
    color: #007ec5;
}

.timeline p.title:before,
.timeline p.title:after {
    position: absolute;
    top: 0;
    content: '';
    width: 5px;
    height: 100%;
    display: inline-block;
}

.timeline p.title:before {
    border-left: solid 2px #007ec5;
    border-top: solid 2px #007ec5;
    border-bottom: solid 2px #007ec5;
    left: 0;
}

.timeline p.title:after {
    content: '';
    border-top: solid 2px #007ec5;
    border-right: solid 2px #007ec5;
    border-bottom: solid 2px #007ec5;
    right: 0;
}






.timeline::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.timeline::-webkit-scrollbar-track {
    border-radius: 0px;
    box-shadow: inset 0 0 5px rgba(0, 0, 0, .1);
}

.timeline::-webkit-scrollbar-thumb {
    background-color: #007ec5;
    border-radius: 10px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .3);
}






.timeline ol {
    font-size: 0;
    /* width: 100vw; */
    padding: 150px 0;
    transition: all 1s;
    padding-right: 100px
}

.timeline ol li {
    position: relative;
    display: inline-block;
    list-style-type: none;
    width: 150px;
    height: 3px;
    background: #a7aaad;
}

.timeline ol li:first-child {
    width: 80px;
    width: 10px;
}


.timeline ol li:last-child {
    width: 100px;
    width: 10px
}

.timeline ol li:not(:first-child) {
    margin-left: 14px;
}

.timeline ol li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 50%;
    left: calc(100% + 1px);
    bottom: 0;
    width: 12px;
    height: 12px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #007ec5;
}

.timeline ol li div {
    position: absolute;
    left: calc(100% + 0px);
    width: 250px;
    padding: 15px;
    font-size: 16px;
    white-space: normal;
    color: black;
    border-radius: 0 0.5em;
    background: #eaeaea;
    text-align: left;
}

.timeline ol li div::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
}

.timeline ol li:nth-child(odd) div {
    top: -16px;
    transform: translateY(-100%);
    border-radius: 0.5em 0 0.5em 0;
}

.timeline ol li:nth-child(odd) div::before {
    top: 100%;
    border-width: 8px 8px 0 0;
    border-color: #eaeaea transparent transparent transparent;
    /* left: 50%; */
}

.timeline ol li:nth-child(even) div {
    top: calc(100% + 16px);
    margin-left: 20px;
}

.timeline ol li:nth-child(even) div::before {
    top: -8px;
    border-width: 8px 0 0 8px;
    border-color: transparent transparent transparent #eaeaea;
}

.timeline time {
    display: block;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 8px;
}


/* TIMELINE ARROWS
  –––––––––––––––––––––––––––––––––––––––––––––––––– */

.timeline .arrows {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.timeline .arrows .arrow__prev {
    margin-right: 20px;
}

.timeline .disabled {
    opacity: .5;
}

.timeline .arrows img {
    width: 45px;
    height: 45px;
}

@media screen and (max-width: 768px) {
    .timeline {
        width: 90%;
    }
}





/* GENERAL MEDIA QUERIES
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
@media screen and (max-width: 599px) {

    .timeline p.title {
        font-size: 16px;
        font-weight: 600;
        color: #007ec5;
        left: 0;
        right: 0;
    }



    .timeline {
        width: 100%;
    }

    .timeline ol,
    .timeline ol li {
        width: auto;
    }

    .timeline ol {
        padding: 0;
        transform: none !important;
    }

    .timeline ol li {
        display: block;
        height: auto;
        background: transparent;
    }

    .timeline ol li:first-child {
        margin-top: 25px;
        width: 100%;
    }

    .timeline ol li:not(:first-child) {
        margin-left: auto;
    }

    .timeline ol li div {
        width: 94%;
        height: auto !important;
        margin: 0 auto 25px;
    }

    .timeline ol li div {
        position: static;
    }

    .timeline ol li:nth-child(odd) div {
        transform: none;
        margin-left: 20px;
        border-radius: 0 0.5em;
    }

    .timeline ol li:nth-child(odd) div::before,
    .timeline ol li:nth-child(even) div::before {
        left: 5px;
        top: 0;
        transform: translateX(-50%);
        border: none;
        border-left: 1px solid #ddd;
        height: 130%;
    }

    .timeline ol li:nth-last-child(2) div::before {
        height: 100%;
    }

    .timeline ol li:last-child,
    /*   .timeline ol li:nth-last-child(2) div::before, */
    .timeline ol li:not(:last-child)::after,
    .timeline .arrows {
        left: 0;
        top: 0;
        /*     display: none; */
    }
}

.c-postTitle__date {
    display: none
}

.c-postTitle__ttl {
    color: #fff;
    text-align: left;
    color: #1f296f;
    padding-bottom: 50px;
    font-weight: 600;
}

@media screen and (max-width: 599px) {
    .c-postTitle__ttl {
        padding-top: 50px;
    }
}



.l-topTitleArea .c-categoryList__link {
    display: none
}


.voiceList_Box {}





/* -----------------------------------------------------------

#header 20230706 UP

----------------------------------------------------------- */

/* transition */
#header,
#header .logoArea,
#header .logoAreaSmall,
#header .snsArea,
#header .calendarArea,
#header .contactArea {
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease;
}

/* #header */
#header,
#header:after {
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease;
}

/* --- #header --- */
#header {
    /* height: 125px; */
    position: fixed;
    top: 0;
    /* left:0; */
    /* right:0; */
    /* width: 250px!important; */
    width: 200px;
    height: 100vh;
    /* background: rgba(255,255,255,0.9); */
    background: #fff;
    z-index: 1000;
    margin: 0 auto;
    position: fixed;
    top: 0;
    left: 0;
    width: 16rem;
    height: 100vh;
    z-index: 5;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: #fff;
}

#header.autofix_sb.fixed {
    /* height: 60px; */
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    background: #fefefe;
    /* height: 100vh; */
    /* width: 200px!important; */
}

@media only screen and (max-width: 800px) {
    #header {
        display: none;
    }
}


/* ======== #header .logoArea ======== */
#header .logoArea {
    /* position: absolute; */
    /* top: 10%; */
    /* left: 10%; */
    /* right: 10%; */
    /* z-index: 3; */
    /* margin-left:-90px; */
    height: 130px;
    margin: 0 auto;
}

#header .logoArea h1 {
    width: 150px;
    height: 150px;
    line-height: 0;
    font-size: 0;
    margin: 0 auto;
}

#header .logoArea h1 a {
    width: 123px;
    height: 129px;
    background: url(../../../common/img/logo_header.svg) center center no-repeat;
    display: block;
    position: relative;
    overflow: hidden;
    text-indent: -999px;
    z-index: 1003;
}

#header .logoArea h1 a:hover {
    opacity: 0.7;
}

#header.autofix_sb.fixed .logoArea {
    /* top: -90px; */
    /* opacity: 8; */
    height: 0;
    /* height: 60px; */
}


/* ======== #header .logoAreaSmall ======== */
#header .logoAreaSmall {
    position: absolute;
    top: -90px;
    left: 0;
    z-index: 1002;
    opacity: 0;
}

#header .logoAreaSmall h1 {
    width: 120px;
    height: 60px;
    line-height: 0;
    font-size: 0;
    margin: 0 auto;
    width: 150px;
    height: 60px;
}

#header .logoAreaSmall h1 a {
    width: 120px;
    height: 60px;
    background: url(../../../common/img/logo_header.svg) center center no-repeat;
    background-size: 120px 54px;
    display: block;
    position: relative;
    overflow: hidden;
    text-indent: -999px;
    z-index: 1003;
    margin: 0 auto;
}

#ie9 #header .logoAreaSmall h1 a {
    background: url(../images/logoS.png) center center no-repeat;
}

#header .logoAreaSmall h1 a:hover {
    opacity: 0.7;
}

#header.autofix_sb.fixed .logoAreaSmall {
    top: 10px;
    opacity: 1;
    left: 10px;
    right: 10px;
}


/* ======== #header .navArea ======== */
#header .navArea {
    position: absolute;
    top: 160px;
    left: 0;
    right: 0;
    /* display: block; */
    /* z-index: 2; */
    width: 96%;
    max-width: 250px;
    /* text-align: left; */
    margin: 0;
    padding: 20px 10px 10px 30px;
}

#header .navArea ul.navi {
    font-size: 0;
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    font-weight: 600;
}

#header .navArea ul.navi li {
    display: inline-block;
    zoom: 1;
    position: relative;
    margin: 0 12px;
    padding: 0 0px;
    width: auto;
    height: 45px;
}

#header .navArea ul.navi li a {
    height: 20px;
    letter-spacing: 1.5px;
    letter-spacing: 1px;
    text-align: center;
    color: #000;
    font-weight: 600;
}

/* span.en */
#header .navArea ul.navi li span.en {
    font-size: 14.5px;
    /* font-family: 'Catamaran', sans-serif; */
    /* font-weight: 500; */
    letter-spacing: 2.5px;
    line-height: 50px;
}

#header .navArea ul.navi a:hover {
    color: #fff;
}

#header .navArea ul.navi a:after {
    /* position: absolute; */
    /* bottom: 5px; */
    /* left: 33%; */
    /* right: 33%; */
    /* height: 1px; */
    /* display: block; */
    /* content: ""; */
    /* background: transparent; */
    /* z-index:-1; */
    /* -webkit-transition: all 0.3s ease; */
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    /* transition: all 0.3s ease; */
}

/* focus */
#header .navArea ul.navi li:hover a {
    color: #37211b;
}

#header .navArea ul.navi li:hover a:after {
    left: -10px;
    right: 0px;
    background: hsla(0, 0%, 100%, .1);
}


#header .navArea ul.navi a:before {
    /* position: absolute; */
    /* bottom: 5px;left: 0;
	right: 0;
	height: 1px;
	display: block;
	content: "";
	background: transparent;z-index:-2;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease; */
    /* position: absolute; */
    top: 0;
    left: 0;
    bottom: 0;
    /* width: 25px; */
    font-size: 11px;
    text-align: left;
    /* font-family: "Font Awesome 6 Pro"; */
    /* content: "\f111"; */
}

#header .navArea ul.navi li:hover a:after {
    /* left: 0px; right: 0px; background: #37211b; */
}


#header .navArea ul.navi a:hover:before {
    /* left: 33%; right: 33%; background: transparent; */
}

#header .navArea ul.navi a:after {
    font-size: 11px;
    text-align: left;
    font-family: "Font Awesome 6 Pro";
    content: "\f111";
    position: absolute;
    /* top: 0; */
    /* bottom: 0; */
    right: 15px;
    /* font-size: 10px; */
    font-family: "Font Awesome 6 Pro";
    content: "\f105";
    /* font-weight: normal; */
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    /* -moz-transition: all 0.3s ease;-o-transition: all 0.3s ease; */
    transition: all 0.3s ease;
    height: 50px;
    line-height: 50px;
}


.recruit {
    display: flex;
    margin-left: 28px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 10;
}

.recruit li a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    width: 170px;
    /* width: 96px; */
    height: 60px;
    font-size: 16px;
    font-weight: bold;
    font-feature-settings: "palt";
    letter-spacing: 0.07em;
    gap: 0.2em;
}

.recruit li.new_grad a {
    background-color: #1f296f;
    border-radius: 0px 0 0 8px;
}

.recruit li.new_grad a:before {
    font-family: 'Font Awesome 6 pro';
    content: "\f095";
}


@media (hover: hover) and (pointer: fine) {
    .recruit li.new_grad a:hover {
        background-color: #1c63b9;
    }
}

.recruit li.mid_career a {
    background-color: #9182aa;
    border-radius: 0 0 0 0;
}


.recruit li.mid_career a:before {
    font-family: "Font Awesome 6 Pro";
    content: "\f0e0";
}


@media (hover: hover) and (pointer: fine) {
    .recruit li.mid_career a:hover {
        background-color: #17a0df;
    }
}

@media only screen and (max-width: 799px) {
    .recruit {
        display: none
    }

}





/* ======== .subNav ======== */

.subNav {
    width: 300px;
    /* text-align: center; */
    position: absolute;
    top: 0;
    padding: 0 2px 10px;
    margin: 0;
    left: 150px;
    z-index: -1;
    overflow: hidden;
    height: 240px;
}

.off .subNav {
    display: none;
    opacity: 0;
}

.off .subNav .inner {
    width: 250px;
    height: 80vh;
    padding: 0;
    width: 100%;
    height: 100%;
    padding: 0;
}

.subNav .inner {
    width: 100%;
    width: auto;
    margin: 0 -2px 0;
    padding: 15px;
    overflow: hidden;
    background: #f6f6f6;
    -webkit-animation: show 0.2s ease-in 0s;
    -moz-animation: show 0.2s ease-in 0s;
    -ms-animation: show 0.2s ease-in 0s;
    -o-animation: show 0.2s ease-in 0s;
    animation: show 0.2s ease-in 0s;
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 1;
}

.subNav .inner:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 50%;
    bottom: 0;
    content: "";
    border: #eee 1px solid;
    border-right: none;
    z-index: -1;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.subNav .inner:after {
    position: absolute;
    top: 0;
    left: 50%;
    right: 0;
    bottom: 0;
    content: "";
    border: #eee 1px solid;
    border-left: none;
    z-index: -1;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.off .subNav .inner>* {
    opacity: 0;
}


/* ul.inner2 */
#header .navArea ul.navi .subNav ul.inner2 {
    font-size: 0;
    margin: 0 0 0 1px;
    text-align: left;
    position: relative;
}

#header .navArea ul.navi .subNav ul.inner2 li {
    /* width: 25%; */
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 0;
    overflow: hidden;
    background: #eee;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#header .navArea ul.navi .subNav ul.inner2 {
    /* display: flex; */
    /* flex-wrap: wrap; */
    /*   border: 1px solid #eee; */
    padding: 0.4em;
    margin: 0 0 2em;
    /*   background: #fff;*/
    justify-content: center;
    /* width: 600px; */
    height: 100vh;
}

#header .navArea ul.navi .subNav ul.inner2 li {
    padding: 1em;
    /* border-radius: 5px; */
    flex: 1 0 0;
    /* margin: 0.4em; */
    text-align: center;
}





#header .navArea ul.navi .subNav ul.inner2 li:after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    display: block;
    border: #eee 1px solid;
    content: "";
    z-index: -1;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#header .navArea ul.navi .subNav ul.inner2 li:before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    display: block;
    background: #fefefe;
    content: "";
    z-index: -1;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#header .navArea ul.navi .subNav ul.inner2 li:hover:before {
    background: #eeeeee;
}







/* ul.inner2 li a */
#header .navArea ul.navi .subNav ul.inner2 li a {
    display: block;
    margin: 0;
    padding: 0;
    height: 20px;
    color: #111;
    line-height: 0;
    position: relative;
    text-align: left;
}

#header .navArea ul.navi .subNav ul.inner2 li a:after {
    display: none;
}

#header .navArea ul.navi .subNav ul.inner2 li a:hover {
    color: #37211b;
}

/* .txtArea */
#header .navArea ul.navi .subNav ul.inner2 li a .txtArea {
    font-size: 15px;
    line-height: 20px;
    text-align: left;
    padding-left: 0px;
    position: relative;
    letter-spacing: 2px;
}

#header .navArea ul.navi .subNav ul.inner2 li a .txtArea:before {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    color: #111;
    font-size: 12px;
    font-family: "Font Awesome 6 Pro";
    content: "\f061";
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#header .navArea ul.navi .subNav ul.inner2 li a:hover .txtArea:before {
    color: #37211b;
    content: "\f061";
    -webkit-transform: translate(5px, 0);
    -moz-transform: translate(5px, 0);
    -o-transform: translate(5px, 0);
    -ms-transform: translate(5px, 0);
    transform: translate(5px, 0);
}


@keyframes show {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-moz-keyframes show {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes show {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-o-keyframes show {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-ms-keyframes show {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

/* ======== #header .snsArea ======== */
#header .snsArea {
    position: absolute;
    top: 17px;
    left: 25px;
    z-index: 1001;
}

/*#header.autofix_sb.fixed .snsArea { top: -90px; opacity: 0; height: 0; }*/
#header.autofix_sb.fixed .snsArea {
    top: 20px;
    left: 60px;
}



/* .snsArea ul */
#header .snsArea ul {
    font-size: 0;
    display: inline-block;
}

#header .snsArea ul li {
    display: inline-block;
    margin: 0;
    text-align: center;
    padding: 0 4px;
}

#header .snsArea ul li a {
    display: block;
    width: 30px;
    height: 40px;
    font-size: 15px;
    font-size: 18px;
    color: #111;
    font-weight: normal;
    position: relative;
    z-index: 0;
}

#header .snsArea ul li a i {
    line-height: 30px;
}

#header .snsArea ul li a:hover {
    font-size: 18px;
    color: #fff;
}

#header .snsArea ul li a:hover i {
    -webkit-transform: rotate(360deg) scale(1.1);
    -moz-transform: rotate(360deg) scale(1.1);
    -o-transform: rotate(360deg) scale(1.1);
    -ms-transform: rotate(360deg) scale(1.1);
    transform: rotate(360deg) scale(1.1);
}

#header .snsArea ul li a.youtube {
    font-size: 18px;
}

#header .snsArea ul li a.youtube:hover {
    font-size: 23px;
}

/* ul.blog */
#header .snsArea ul.blog {
    position: relative;
    z-index: 1;
    margin-left: 10px;
    padding-left: 18px;
}

#header .snsArea ul.blog:before {
    position: absolute;
    top: 10px;
    left: 0;
    bottom: 10px;
    width: 0;
    content: "";
    border-left: #111 1px dotted;
    z-index: -1;
}

#header .snsArea ul.blog li a {
    width: auto;
    height: 30px;
    font-size: 12px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 400;
    letter-spacing: 1.5px;
    position: relative;
    z-index: 2;
}

#header .snsArea ul.blog li a:hover {
    color: #fff;
}

#header .snsArea ul.blog li a i {
    font-size: 14px;
    line-height: 30px;
    font-weight: normal;
    padding-right: 3px;
}

#header .snsArea ul.blog li a:before {
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 0;
    height: 0;
    content: "";
    border-bottom: #ddd 1px dotted;
    z-index: -2;
}

#header .snsArea ul.blog li a:after {
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 100%;
    height: 0;
    content: "";
    border-bottom: transparent 1px solid;
    z-index: -1;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#header .snsArea ul.blog li a:hover:after {
    right: 0;
    border-bottom: #fff 1px solid;
}



/* ======== #header .contactArea ======== */
#header .contactArea {
    position: absolute;
    top: 14px;
    right: 25px;
    z-index: 2;
}

#header.autofix_sb.fixed .contactArea {
    top: 7px;
    right: 10px;
}

#header .contactArea ul {
    font-size: 0;
    list-style: none;
}

#header .contactArea ul li {
    display: inline-block;
    margin: 0;
    text-align: center;
}

#header .contactArea ul li a {
    display: block;
    padding: 0 30px 0 45px;
    height: 45px;
    color: #111;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.5px;
    line-height: 45px;
    position: relative;
    z-index: 2;
}

#header .contactArea ul li a:hover {
    color: #717070;
    background: #a7d0e3;
    padding: 0 40px 0 45px;
}

#header .contactArea ul li a:before,
#header .contactArea ul li a:after {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#header .contactArea ul li a:before {
    position: absolute;
    top: 0;
    right: 0px;
    bottom: 0;
    left: 0px;
    content: "";
    border: #eee 1px solid;
    z-index: -1;
    /* color: #fff; */
}

#header .contactArea ul li a:hover:before {
    right: 0px;
    left: 0px;
    border: transparent 1px dotted;
}

#header .contactArea ul li a:after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    font-size: 8px;
    font-family: 'themify';
    content: "\e649";
    line-height: 45px;
    font-style: normal;
    z-index: 1;
    opacity: 0;
}

#header .contactArea ul li a:hover:after {
    right: 10px;
    opacity: 1;
}

#header .contactArea ul li a .icon {
    position: absolute;
    top: 0;
    left: 15px;
    bottom: 0;
    width: 20px;
    z-index: 0;
}

#header .contactArea ul li a .icon:before {
    color: #fafafa;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    font-size: 16px;
    text-align: left;
    font-family: 'themify';
    content: "\e75a";
    font-weight: normal;
}

#header .contactArea ul li a .icon:before {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    font-size: 16px;
    text-align: left;
    font-family: 'FontAwesome';
    content: "\f003";
    font-weight: normal;
    color: #000;
}



/* ======== #header .calendarArea ======== */
#header .calendarArea {
    position: absolute;
    top: 14px;
    right: 25px;
    z-index: 2;
}

#header.autofix_sb.fixed .calendarArea {
    top: 7px;
    right: 10px;
}

/* .calendarArea ul */
#header .calendarArea ul {
    font-size: 0;
}

#header .calendarArea ul li {
    display: inline-block;
    margin: 0;
    text-align: center;
}

#header .calendarArea ul li a {
    display: block;
    padding: 0 15px 0 50px;
    height: 45px;
    color: #111;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 45px;
    position: relative;
    z-index: 2;
}

#header .calendarArea ul li a:hover {
    color: #7eccd6;
    background: #fefefe;
    padding: 0 30px 0 50px;
}

#header .calendarArea ul li a i {
    font-size: 15px;
    line-height: 45px;
    padding-right: 7px;
    font-weight: normal;
}

#header .calendarArea ul li a:before,
#header .calendarArea ul li a:after {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#header .calendarArea ul li a:before {
    position: absolute;
    top: 0;
    right: 0px;
    bottom: 0;
    left: 0px;
    content: "";
    border: #ddd 1px solid;
    z-index: -1;
}

#header .calendarArea ul li a:hover:before {
    right: 0px;
    left: 0px;
    border: transparent 1px dotted;
}

#header .calendarArea ul li a:after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    font-size: 8px;
    font-family: 'themify';
    content: "\e649";
    line-height: 45px;
    font-style: normal;
    z-index: 1;
    opacity: 0;
}

#header .calendarArea ul li a:hover:after {
    right: 10px;
    opacity: 1;
}

/* .calendar */
#header .calendarArea ul li .calendar {
    position: absolute;
    top: 5px;
    left: 5px;
    bottom: 5px;
    width: 35px;
    border: #ddd 1px dotted;
    border-top: #ddd double;
    z-index: 2;
    text-align: center;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#header .calendarArea ul li a:hover .calendar {
    border: #7eccd6 1px dotted;
    border-top: #7eccd6 double;
}

/* .calendarArea p */
#header .calendarArea p {
    color: #111;
    font-family: 'Catamaran', sans-serif;
    font-weight: 800;
    line-height: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#header .calendarArea p.month {
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    font-size: 9px;
    text-transform: uppercase;
}

#header .calendarArea p.day {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
    font-size: 10px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    letter-spacing: 0.5px;
}

#header .calendarArea ul li a:hover p {
    color: #7eccd6;
}

@media only screen and (max-width: 1050px) {
    #header .calendarArea ul li a {
        padding: 0 15px 0 40px;
    }

    #header .calendarArea ul li a:hover {
        padding: 0 15px 0 40px;
    }

    #header .calendarArea ul li .calendar {
        width: 30px;
    }

    #header .calendarArea ul li a:after {
        display: none;
    }
}

@media only screen and (max-width: 1024px) {
    #header .navArea ul.navi li {
        margin: 0 6px;
        padding: 0 6px;
    }

    #header .navArea ul.navi li span.en {
        font-size: 14px;
        letter-spacing: 1.5px;
        font-weight: 500;
    }
}

@media only screen and (max-width: 945px) {
    #header .calendarArea ul li a {
        padding: 0 10px;
    }

    #header .calendarArea ul li a:hover {
        padding: 0 10px;
    }

    #header .calendarArea ul li .calendar {
        display: none;
    }
}





.side-bar {
    display: flex;
    flex-direction: column;
    width: 90%;
    margin: 10% auto;
    height: 90vh;
    /* justify-content: center; */
    align-items: flex-start;
}






















/* -----------------------------------------------------------

#headerSp

----------------------------------------------------------- */

#headerSp {
    display: none;
}

#headerSp {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 50px;
    background: #fefefe;
    /* background: #007ec5; */
    z-index: 1000;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

@media only screen and (max-width: 800px) {
    #headerSp {
        display: block;
    }
}

/* ======== #headerSp a.btnMenu ======== */
#headerSp a.btnMenu {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 60px;
    height: 50px;
    color: #fefefe;
    z-index: 0;
}

#headerSp a.btnMenu span.lineTop {
    position: absolute;
    top: 18px;
    left: 18px;
    right: 18px;
    height: 1px;
    background: #111;
    z-index: 1;
}

#headerSp a.btnMenu span.lineMiddle {
    position: absolute;
    top: 50%;
    left: 18px;
    right: 18px;
    height: 1px;
    background: #111;
    z-index: 1;
}

#headerSp a.btnMenu span.lineBottom {
    position: absolute;
    bottom: 17px;
    left: 18px;
    right: 18px;
    height: 1px;
    background: #111;
    z-index: 1;
}

/* ======== #headerSp .logoArea ======== */
#headerSp .logoArea {
    position: absolute;
    top: 0;
    left: 46%;
    z-index: 1001;
    margin-left: -65px;
}

#headerSp .logoArea h1 {
    width: 180px;
    height: 50px;
    line-height: 0;
    font-size: 0;
    margin: 0;
}

#headerSp .logoArea h1 a {
    position: relative;
    display: block;
    width: 180px;
    height: 50px;
    background: url(../../../common/img/logo_name.svg) center center / 180px 28px no-repeat;
    overflow: hidden;
    text-indent: -999px;
    z-index: 1003;
}

/* ======== #headerSp a.btnMenu ======== */
#headerSp a.btnCalendar {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 60px;
    height: 50px;
    z-index: 0;
    text-align: center;
}

#headerSp a.btnCalendar span.calendar {
    position: absolute;
    top: 8px;
    left: 13px;
    bottom: 8px;
    width: 36px;
    border: #333 1px dotted;
    border-top: #333 double;
    z-index: 2;
    text-align: center;
}

#headerSp a.btnCalendar p {
    color: #111;
    font-family: 'Catamaran', sans-serif;
    font-weight: 800;
    line-height: 0;
}

#headerSp a.btnCalendar p.month {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    line-height: 20px;
    font-size: 9px;
    text-transform: uppercase;
}

#headerSp a.btnCalendar p.day {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    line-height: 20px;
    font-size: 10px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    letter-spacing: 0.5px;
}


/* language */
#headerSp .language {
    position: absolute;
    top: 10px;
    right: 18px;
}

#headerSp .language ul {
    position: relative;
    z-index: 1;
    margin-left: 10px;
    padding-left: 18px;
}

#headerSp .language ul li {
    list-style: none;
}

#headerSp .language ul:before {
    position: absolute;
    top: 10px;
    left: 0;
    bottom: 10px;
    width: 0;
    content: "";
    border-left: #111 1px dotted;
    z-index: -1;
}

#headerSp .language ul li a {
    width: auto;
    height: 30px;
    font-size: 12px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 400;
    letter-spacing: 1.5px;
    position: relative;
    z-index: 2;
}

#headerSp .language ul li a:hover {
    color: #7eccd6;
}

#headerSp .language ul li a i {
    font-size: 14px;
    line-height: 30px;
    font-weight: normal;
    padding-right: 3px;
}

#headerSp .language ul li a:before {
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 0;
    height: 0;
    content: "";
    border-bottom: #ddd 1px dotted;
    z-index: -2;
}

#headerSp .language ul li a:after {
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 100%;
    height: 0;
    content: "";
    border-bottom: transparent 1px solid;
    z-index: -1;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#headerSp .language ul li a:hover:after {
    right: 0;
    border-bottom: #7eccd6 1px solid;
}




/* ======== #menu .btnClose ======== */
#menu .btnClose {
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 50px;
    color: #111;
    overflow: hidden;
    text-indent: -999px;
    z-index: 100;
}

#menu .btnClose:before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    font-family: "Font Awesome 6 Pro";
    content: "\f00d";
    font-size: 30px;
    line-height: 52px;
    text-align: center;
    text-indent: 0;
    z-index: 1;
    font-weight: 100;
}

#menu .btnClose:after {
    position: absolute;
    top: 7px;
    left: 12px;
    right: 12px;
    bottom: 7px;
    content: "";
    /* border:#111 1px solid; webkit-border-radius:100%;-moz-border-radius:100%; border-radius:100%; */
}



/* -----------------------------------------------------------

jQuery.mmenu CSS

----------------------------------------------------------- */
#my-menu:not(.mm-menu) {
    display: none;
}

#menu:not(.mm-menu) {
    display: none;
}

/* jQuery.mmenu oncanvas CSS */
.mm-hidden {
    display: none !important;
}

.mm-wrapper {
    overflow-x: hidden;
    position: relative;
}

.mm-menu,
.mm-panels,
.mm-panels>.mm-panel {
    margin: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0;
    letter-spacing: 1px;
}

.mm-panels>.mm-panel {
    margin-top: 50px;
    border-top: #ddd 1px solid;
}

.mm-menu {
    box-sizing: border-box;
    background: inherit;
    display: block;
    overflow: hidden;
    padding: 0;
}

.mm-panel {
    -webkit-transition: -webkit-transform 0.4s ease;
    -moz-transition: -moz-transform 0.4s ease;
    -ms-transition: -ms-transform 0.4s ease;
    -o-transition: -o-transform 0.4s ease;
    transition: transform 0.4s ease;
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    -o-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
}

.mm-panel.mm-opened {
    -webkit-transform: translate3d(0%, 0, 0);
    -moz-transform: translate3d(0%, 0, 0);
    -ms-transform: translate3d(0%, 0, 0);
    -o-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
}

.mm-panel.mm-subopened {
    -webkit-transform: translate3d(-30%, 0, 0);
    -moz-transform: translate3d(-30%, 0, 0);
    -ms-transform: translate3d(-30%, 0, 0);
    -o-transform: translate3d(-30%, 0, 0);
    transform: translate3d(-30%, 0, 0);
}

.mm-panel.mm-highest {
    z-index: 1;
}

.mm-panels,
.mm-panels>.mm-panel {
    background: inherit;
    border-color: inherit;
}

.mm-panels>.mm-panel {
    background: inherit;
    border-color: inherit;
    background: #fafafa;
    overflow: scroll;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    padding: 0 20px;
    /* width: 120px; */
}

.mm-panels>.mm-panel.mm-hasnavbar {
    padding-top: 40px;
}

.mm-panels>.mm-panel:before,
.mm-panels>.mm-panel:after {
    content: '';
    display: block;
    /* height: 20px; */
}

.mm-vertical .mm-panel {
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    -o-transform: none !important;
    transform: none !important;
}

.mm-vertical .mm-listview .mm-panel,
.mm-listview .mm-vertical .mm-panel {
    display: none;
    padding: 10px 0 10px 10px;
}

.mm-vertical .mm-listview .mm-panel .mm-listview>li:last-child:after,
.mm-listview .mm-vertical .mm-panel .mm-listview>li:last-child:after {
    border-color: transparent;
}

.mm-vertical li.mm-opened>.mm-panel,
li.mm-vertical.mm-opened>.mm-panel {
    display: block;
}

/* .mm-listview ul */
.mm-listview ul {
    background: #fefefe;
}

.mm-listview,
.mm-listview>li {
    list-style: none;
    display: block;
    padding: 0;
    margin: 0;
}

.mm-listview {
    font: inherit;
    font-size: 11px;
    line-height: 20px;
    letter-spacing: 1px;
}

.mm-listview a,
.mm-listview a:hover {
    text-decoration: none;
}

.mm-listview>li {
    position: relative;
    background: #fefefe;
}

.mm-listview>li,
.mm-listview>li:after,
.mm-listview>li .mm-next,
.mm-listview>li .mm-next:before {
    border-color: inherit;
    border-color: #eee;
}

.mm-listview>li>a,
.mm-listview>li>span.block {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    color: inherit;
    display: block;
    padding: 0 10px 0 30px;
    margin: 0;
    font-size: 12px;
    line-height: 50px;
}

.mm-listview>li>a.en {
    font-size: 13px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 600;
    letter-spacing: 2.5px;
}

.mm-listview>li>a.home {
    position: relative;
    z-index: 1;
    padding: 0 10px 0 55px;
}

.mm-listview>li>a.home:before {
    position: absolute;
    top: 0;
    left: 20px;
    bottom: 0;
    width: 30px;
    font-size: 20px;
    text-align: left;
    font-family: "Font Awesome 6 Pro";
    content: "\e487";
    font-weight: normal;
    line-height: 45px;
    color: #14357b;
}

.mm-listview>li>a.calendarArea,
.mm-listview>li>a.contact,
.mm-listview>li>a.tel {
    position: relative;
    z-index: 1;
    padding: 0 10px 0 75px;
    font-size: 16px;
    letter-spacing: 2px;
}

.mm-listview>li>a.calendarArea span.calendar {
    position: absolute;
    top: 8px;
    left: 30px;
    bottom: 8px;
    width: 35px;
    border: #333 1px dotted;
    border-top: #333 double;
    z-index: 2;
    text-align: center;
}

/* .calendarArea p */
.mm-listview>li>a.calendarArea span.calendar p {
    color: #111;
    font-family: 'Catamaran', sans-serif;
    font-weight: 800;
    line-height: 0;
}

.mm-listview>li>a.calendarArea span.calendar p.month {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    line-height: 20px;
    font-size: 9px;
    text-transform: uppercase;
}

.mm-listview>li>a.calendarArea span.calendar p.day {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0px;
    line-height: 20px;
    font-size: 10px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    letter-spacing: 0.5px;
}

.mm-listview>li>a.contact:before {
    position: absolute;
    top: 0;
    left: 30px;
    bottom: 0;
    width: 35px;
    font-size: 20px;
    text-align: center;
    font-family: 'FontAwesome';
    content: "\f003";
    font-weight: normal;
}

/*.mm-listview > li > a.tel:before{ position:absolute; top:0; left:30px; bottom:0; width:35px; content: ""; background:url(../images/telIconSp.png) center center no-repeat; background-size:20px 20px;}*/
.mm-listview>li>a.tel:before {
    position: absolute;
    top: 0;
    left: 30px;
    bottom: 0;
    width: 35px;
    font-size: 20px;
    text-align: center;
    font-family: "Font Awesome 6 Pro";
    content: "\f095";
    font-weight: normal;
}

.mm-listview>li>span.block {
    font-size: 13px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 600;
    letter-spacing: 2.5px;
}

.mm-listview>li>span.block b {
    font-family: 'Open Sans';
    font-size: 0.9em;
    font-weight: 500;
    vertical-align: 0;
}

.mm-listview>li:not(.mm-divider):after {
    content: '';
    border-bottom-width: 1px;
    border-bottom-style: solid;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.mm-listview>li:not(.mm-divider):after {
    left: 20px;
    left: 0;
}

/* .bgGray */
.mm-listview>li>.bgGray {
    background: #fafafa;
}

/* .mm-next */
.mm-listview .mm-next {
    background: rgba(3, 2, 1, 0);
    width: 50px;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 2;
}

.mm-listview .mm-next:before {
    content: '';
    border-left-width: 1px;
    border-left-style: solid;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

.mm-listview .mm-next+a,
.mm-listview .mm-next+span {
    margin-right: 50px;
}

.mm-listview .mm-next.mm-fullsubopen {
    width: 100%;
}

.mm-listview .mm-next.mm-fullsubopen:before {
    border-left: none;
}

.mm-listview .mm-next.mm-fullsubopen+a,
.mm-listview .mm-next.mm-fullsubopen+span {
    padding-right: 50px;
    margin-right: 0;
}

.mm-panels>.mm-panel>.mm-listview {
    margin: 20px -20px;
    /* width: 16rem; */
    padding: 30px
}




.mm-panels>.mm-panel>.mm-listview:first-child,
.mm-panels>.mm-panel>.mm-navbar+.mm-listview {
    margin-top: 0px;
}

/* .mm-inset */
.mm-listview .mm-inset {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mm-listview .mm-inset>li {
    padding: 0;
    position: relative;
    z-index: 1;
}

.mm-listview .mm-inset>li:after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 0;
    content: "";
    border-top: #ededed 1px dashed;
    z-index: -1;
}

.mm-listview .mm-inset>li>a {
    display: block;
    padding: 0 10px 0 50px;
    font-size: 15px;
    line-height: 45px;
    letter-spacing: 2px;
    position: relative;
}

.mm-listview .mm-inset>li>a:before {
    position: absolute;
    top: 40%;
    left: 30px;
    width: 7px;
    height: 0;
    content: "";
    border-top: #14357b 7px solid;
}

/* .SNS */
.mm-listview .mm-inset>li.youtubeIcon>a,
.mm-listview .mm-inset>li.facebookIcon>a,
.mm-listview .mm-inset>li.pinterestIcon>a,
.mm-listview .mm-inset>li.instagramIcon>a,
.mm-listview .mm-inset>li.twitterIcon>a,
.mm-listview .mm-inset>li.blogIcon>a {
    font-size: 12px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
    background: #fafafa;
    line-height: 40px;
}

.mm-listview .mm-inset>li.youtubeIcon>a:before,
.mm-listview .mm-inset>li.facebookIcon>a:before,
.mm-listview .mm-inset>li.pinterestIcon>a:before,
.mm-listview .mm-inset>li.instagramIcon>a:before,
.mm-listview .mm-inset>li.twitterIcon>a:before,
.mm-listview .mm-inset>li.blogIcon>a:before {
    position: static;
    font-size: 18px;
    width: 20px;
    height: auto;
    margin-right: 5px;
    display: inline-block;
    border-top: none;
    font-family: 'FontAwesome';
    font-weight: normal;
    text-align: center;
}

.mm-listview .mm-inset>li.youtubeIcon>a:before {
    font-size: 15px;
    content: "\f167 "
}

.mm-listview .mm-inset>li.facebookIcon>a:before {
    content: "\f09a"
}

.mm-listview .mm-inset>li.pinterestIcon>a:before {
    content: "\f231 "
}

.mm-listview .mm-inset>li.instagramIcon>a:before {
    content: "\f16d"
}

.mm-listview .mm-inset>li.twitterIcon>a:before {
    content: "\f099"
}

.mm-listview .mm-inset>li.blogIcon>a:before {
    font-size: 13px;
    content: "\f044"
}

.mm-listview .mm-divider {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    font-size: 10px;
    text-transform: uppercase;
    text-indent: 20px;
    line-height: 25px;
}

.mm-listview .mm-spacer {
    padding-top: 40px;
}

.mm-listview .mm-spacer>.mm-next {
    top: 40px;
}

.mm-listview .mm-spacer.mm-divider {
    padding-top: 25px;
}

.mm-prev:before,
.mm-next:after,
.mm-arrow:after {
    content: '';
    border: 1px solid transparent;
    display: inline-block;
    width: 7px;
    height: 7px;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.mm-prev:before {
    border-right: none;
    border-bottom: none;
    left: 23px;
}

.mm-next:after,
.mm-arrow:after {
    border-top: none;
    border-left: none;
    right: 23px;
}

/* .mm-menu */
.mm-menu {
    background: #fefefe;
    border-color: #eee;
    color: #111;
    border-right: #ededed 1px solid;
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
}

.mm-menu .mm-navbar>*,
.mm-menu .mm-navbar a {
    color: rgba(0, 0, 0, 0.3);
    color: #b09d7c;
    font-size: 13px;
    letter-spacing: 2px;
}

.mm-menu .mm-navbar .mm-btn:before,
.mm-menu .mm-navbar .mm-btn:after {
    border-color: rgba(0, 0, 0, 0.3);
}

.mm-menu .mm-listview {
    border-color: rgba(0, 0, 0, 0.1);
}

.mm-menu .mm-listview>li .mm-next:after,
.mm-menu .mm-listview>li .mm-arrow:after {
    border-color: rgba(0, 0, 0, 0.3);
}

.mm-menu .mm-listview>li a:not(.mm-next) {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0.5);
    tap-highlight-color: rgba(255, 255, 255, 0.5);
}

.mm-menu .mm-listview>li.mm-selected>a:not(.mm-next),
.mm-menu .mm-listview>li.mm-selected>span {
    background: rgba(255, 255, 255, 0.5);
}

.mm-menu.mm-vertical .mm-listview>li.mm-opened>a.mm-next,
.mm-menu.mm-vertical .mm-listview>li.mm-opened>.mm-panel,
.mm-menu .mm-listview>li.mm-opened.mm-vertical>a.mm-next,
.mm-menu .mm-listview>li.mm-opened.mm-vertical>.mm-panel {
    background: rgba(0, 0, 0, 0.05);
}

.mm-menu .mm-divider {
    background: rgba(0, 0, 0, 0.05);
}

/* jQuery.mmenu offcanvas addon CSS */
.mm-page {
    box-sizing: border-box;
    position: relative;
}

.mm-slideout {
    -webkit-transition: -webkit-transform 0.4s ease;
    -ms-transition: -ms-transform 0.4s ease;
    transition: transform 0.4s ease;
}

html.mm-opened {
    overflow-x: hidden;
    position: relative;
}

html.mm-blocking {
    overflow: hidden;
}

html.mm-blocking body {
    /* overflow: hidden; */
}

html.mm-background .mm-page {
    background: inherit;
}

#mm-blocker {
    background: rgba(3, 2, 1, 0);
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999;
}

html.mm-blocking #mm-blocker {
    display: block;
}

.mm-menu.mm-offcanvas {
    display: none;
    position: fixed;
}

.mm-menu.mm-current {
    display: block;
}

.mm-menu {
    width: 100%;
    min-width: 140px;
    max-width: 440px;
    width: 16rem;
}

@media only screen and (max-width: 800px) {

    .mm-menu {
        width: 100%;
    }
}




html.mm-opening .mm-slideout {
    -webkit-transform: translate(80%, 0);
    -moz-transform: translate(80%, 0);
    -ms-transform: translate(80%, 0);
    -o-transform: translate(80%, 0);
    transform: translate(80%, 0);
}

@media all and (max-width: 175px) {
    html.mm-opening .mm-slideout {
        -webkit-transform: translate(140px, 0);
        -moz-transform: translate(140px, 0);
        -ms-transform: translate(140px, 0);
        -o-transform: translate(140px, 0);
        transform: translate(140px, 0);
    }
}

@media all and (min-width: 550px) {
    html.mm-opening .mm-slideout {
        -webkit-transform: translate(440px, 0);
        -moz-transform: translate(440px, 0);
        -ms-transform: translate(440px, 0);
        -o-transform: translate(440px, 0);
        transform: translate(440px, 0);
    }
}

/* jQuery.mmenu autoHeight addon CSS */
.mm-menu.mm-autoheight {
    max-height: 80%;
}

.mm-menu.mm-autoheight.mm-fullscreen {
    max-height: 100%;
}

.mm-menu.mm-measureheight>.mm-panels>.mm-panel {
    bottom: auto !important;
    height: auto !important;
}

/* jQuery.mmenu counters addon CSS */
em.mm-counter {
    font: inherit;
    font-size: 14px;
    font-style: normal;
    text-indent: 0;
    line-height: 20px;
    display: block;
    margin-top: -10px;
    position: absolute;
    right: 45px;
    top: 50%;
}

em.mm-counter {
    font-size: 12px;
    letter-spacing: 0;
}

em.mm-counter+a.mm-next {
    width: 90px;
}

em.mm-counter+a.mm-next+a,
em.mm-counter+a.mm-next+span {
    margin-right: 90px;
}

em.mm-counter+a.mm-fullsubopen {
    padding-left: 0;
}

.mm-vertical>.mm-counter {
    top: 12px;
    margin-top: 0;
}

.mm-vertical.mm-spacer>.mm-counter {
    margin-top: 40px;
}

.mm-nosubresults>.mm-counter {
    display: none;
}

.mm-menu em.mm-counter {
    color: rgba(0, 0, 0, 0.3);
    color: #111;
}

/* jQuery.mmenu dividers addon CSS */
.mm-divider>span {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    padding: 0;
    line-height: 25px;
}

.mm-divider.mm-opened a.mm-next:after {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.mm-collapsed:not(.mm-uncollapsed) {
    display: none;
}

.mm-fixeddivider {
    background: inherit;
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.mm-fixeddivider:after {
    content: none !important;
    display: none !important;
}

.mm-hasdividers .mm-fixeddivider {
    display: block;
}

.mm-menu .mm-fixeddivider span {
    background: rgba(0, 0, 0, 0.05);
}

/*
jQuery.mmenu dragOpen addon CSS
*/
html.mm-opened.mm-dragging .mm-menu,
html.mm-opened.mm-dragging .mm-slideout {
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -ms-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
}

/*
jQuery.mmenu iconpanels addon CSS
*/
.mm-iconpanel .mm-panel {
    -webkit-transition-property: -webkit-transform, left;
    -moz-transition-property: -moz-transform, left;
    -ms-transition-property: -ms-transform, left;
    -o-transition-property: -o-transform, left;
    transition-property: transform, left;
}

.mm-iconpanel .mm-panel.mm-opened {
    border-left: 1px solid;
    border-color: inherit;
}

.mm-iconpanel .mm-panel.mm-subopened {
    overflow-y: hidden;
    left: -40px;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.mm-iconpanel .mm-panel.mm-iconpanel-0 {
    left: 0px;
}

.mm-iconpanel .mm-panel.mm-iconpanel-1 {
    left: 40px;
}

.mm-iconpanel .mm-panel.mm-iconpanel-2 {
    left: 80px;
}

.mm-iconpanel .mm-panel.mm-iconpanel-3 {
    left: 120px;
}

.mm-iconpanel .mm-panel.mm-iconpanel-4 {
    left: 160px;
}

.mm-iconpanel .mm-panel.mm-iconpanel-5 {
    left: 200px;
}

.mm-iconpanel .mm-panel.mm-iconpanel-6 {
    left: 240px;
}

.mm-subblocker {
    background: inherit;
    opacity: 0;
    display: block;
    -webkit-transition: opacity 0.4s ease;
    -moz-transition: opacity 0.4s ease;
    -ms-transition: opacity 0.4s ease;
    -o-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease;
}

.mm-subopened .mm-subblocker {
    opacity: 0.6;
    position: absolute;
    top: 0;
    right: 0;
    bottom: -100000px;
    left: 0;
    z-index: 3;
}

/*
jQuery.mmenu borderstyle extension CSS
*/
.mm-menu.mm-border-none .mm-listview>li:after,
.mm-listview.mm-border-none>li:after {
    content: none;
}

.mm-menu.mm-border-full .mm-listview>li:after,
.mm-listview.mm-border-full>li:after {
    left: 0 !important;
}

.mm-menu.mm-border-offset .mm-listview>li:after,
.mm-listview.mm-border-offset>li:after {
    right: 20px;
}

/*
jQuery.mmenu multiline extension CSS
*/
.mm-menu.mm-multiline .mm-listview>li>a,
.mm-menu.mm-multiline .mm-listview>li>span,
.mm-listview.mm-multiline>li .mm-listview>li.mm-multiline>a,
.mm-listview.mm-multiline>li .mm-listview>li.mm-multiline>span {
    text-overflow: clip;
    white-space: normal;
}

/*
jQuery.mmenu pagedim extension CSS
*/
html.mm-pagedim #mm-blocker,
html.mm-pagedim-white #mm-blocker,
html.mm-pagedim-black #mm-blocker {
    opacity: 0;
}

html.mm-pagedim.mm-opening #mm-blocker,
html.mm-pagedim-white.mm-opening #mm-blocker,
html.mm-pagedim-black.mm-opening #mm-blocker {
    opacity: 0.3;
    transition: opacity 0.4s ease 0.4s;
}

html.mm-pagedim #mm-blocker {
    background: inherit;
}

html.mm-pagedim-white #mm-blocker {
    background: #fff;
}

html.mm-pagedim-black #mm-blocker {
    background: #000;
}

/*
jQuery.mmenu position extension CSS
*/
.mm-menu.mm-top,
.mm-menu.mm-bottom {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
}

.mm-menu.mm-right {
    left: auto;
    right: 0;
}

.mm-menu.mm-bottom {
    top: auto;
    bottom: 0;
}

html.mm-right.mm-opening .mm-slideout {
    -webkit-transform: translate(-80%, 0);
    -moz-transform: translate(-80%, 0);
    -ms-transform: translate(-80%, 0);
    -o-transform: translate(-80%, 0);
    transform: translate(-80%, 0);
}

@media all and (max-width: 175px) {
    html.mm-right.mm-opening .mm-slideout {
        -webkit-transform: translate(-140px, 0);
        -moz-transform: translate(-140px, 0);
        -ms-transform: translate(-140px, 0);
        -o-transform: translate(-140px, 0);
        transform: translate(-140px, 0);
    }
}

@media all and (min-width: 550px) {
    html.mm-right.mm-opening .mm-slideout {
        -webkit-transform: translate(-440px, 0);
        -moz-transform: translate(-440px, 0);
        -ms-transform: translate(-440px, 0);
        -o-transform: translate(-440px, 0);
        transform: translate(-440px, 0);
    }
}

/*
jQuery.mmenu z-position extension CSS
*/
html.mm-front .mm-slideout {
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    -o-transform: none !important;
    transform: none !important;
    z-index: 0 !important;
}

.mm-menu.mm-front {
    z-index: 2;
}

.mm-menu.mm-front,
.mm-menu.mm-next {
    -webkit-transition: -webkit-transform 0.4s ease;
    -ms-transition: -ms-transform 0.4s ease;
    transition: transform 0.4s ease;
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    -o-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
}

.mm-menu.mm-front.mm-right,
.mm-menu.mm-next.mm-right {
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    -o-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
}

html.mm-opening .mm-menu.mm-front,
html.mm-opening .mm-menu.mm-next {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

/* --------------------------------------------
reserve
----------------------------------------------*/
.reserve {
    margin-top: 0px;
    padding: 0 20px;
    padding-bottom: 80px;
    /* background: #185e7d; */
}

.reserve .inner {
    background-color: #f1efef;
    max-width: 1100px;
    margin: 0 auto;
    padding: 30px;
    padding-bottom: 50px;
}

.reserve_title {
    font-size: 25px;
    color: #333;
    text-align-last: left;
    padding: 0px 0 14px 20px;
}

.reserve_title::before {
    font-family: "Font Awesome 6 Pro";
    content: "\f097";
    padding-right: 5px;
    color: #1f286f;
    font-size: 1.2em;
}

.reserve_text_box {
    background-color: #fff;
    padding: 30px;
    border-radius: 20px;
}

.text_top {
    color: #333;
    font-size: 20px;
}

.tel_num {
    margin-top: 0;
    padding-bottom: 4px;
    border-bottom: 1px solid #ddd;
    color: #333;
}

.tel_num {
    font-size: 32px;
    letter-spacing: 0.05em;
    padding-left: 20px;
    color: #333;
    text-decoration: none;
    /* font-family: "Times New Roman", Times,"游明朝体", "Yu Mincho", YuMincho, "HG明朝B",'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','HG明朝E','ＭＳ Ｐ明朝',"Yu Mincho", 'Noto Serif JP', serif; */
}

.tel_num a {
    text-decoration: none;
}

.tel_num::before {
    font-family: "Font Awesome 6 Pro";
    content: "\f095";
    padding-right: 5px;
    color: #007ec5;
    font-size: 0.9em;
}

.text {
    padding-left: 20px;
    margin-top: 20px;
    color: #333;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1.6;
}

@media only screen and (max-width: 600px) {
    .reserve {
        padding: 0 0px 60px;
    }

    .reserve .inner {
        background-color: #f1efef;
        padding: 15px;
        padding-bottom: 30px;
    }

    .reserve_title {
        font-size: 18px;
        padding: 0px 5px 10px 5pxpx;
        text-align: center;
    }

    .reserve_text_box {
        padding: 20px;
        border-radius: 20px;
    }

    .text_top {
        font-size: 18px;
        text-align: left;
        letter-spacing: 0.01em;
    }

    .tel_num {
        margin-top: 10px;
        padding-bottom: 4px;
        border-bottom: 1px solid #ddd;
        text-align: center;
    }

    .tel_num {
        font-size: 25px;
        padding-left: 0;
    }

    .tel_num::before {
        font-family: "Font Awesome 6 Pro";
        content: "\f095";
        padding-right: 5px;
        color: #37211b;
        font-size: 0.8em;
    }

    .text {
        padding-left: 0;
        margin-top: 20px;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 1.6;
        text-align: justify;
    }
}

.line_set {
    border-top: 1px solid #ddd;
}

/* トップページ お知らせ*/
/* PC表示：3カラム横並び */
.three-column-layout {
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    max-width: 1280px;
    margin: 0 auto;
}

.three-column-layout {}

.three-column-layout {
    margin-top: 80px;
}

.logo-column {
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.topics-column,
.grants-column {
    width: 40%;
    background: #f9f9f9;
    padding: 1rem;
    border-radius: 3px;
    border: 1px solid #eee
}


.topics-column h2,
.grants-column h2 {
    position: relative;
    padding-bottom: 0.5em;
    overflow: hidden;

    color: #17458c;
    font-size: 1.5em;
    font-weight: 600;
}

.topics-column h2::after,
.grants-column h2::after {
    /* content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 100%;
    background: linear-gradient(to right, #17458c, #f8f2ff);
    border-radius: 2px; */

    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 0;
    background: linear-gradient(to right, #17458c, rgba(170, 110, 229, 0.4));
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.1));
    animation: underlineGrow 1s ease-out forwards;
    border-radius: 2px;
}

@keyframes underlineGrow {
    to {
        width: 100%;
    }
}

.topics-column p.date,
.grants-column p.date {
    color: #000;
    font-size: 0.9em;
}


.topics-column h3,
.grants-column h3 {
    color: #164b92;
    border-bottom: 1px solid #ddd;
    padding-bottom: 0.5em;
}


.btn_list {
    text-align: right
}


.btnList {
    display: inline-block;
    width: 7em;
    padding: 6px 10px 6px 10px;
    padding: 6px 2px 6px 2px;
    text-align: left;
    color: #4c4a4a;
    margin: 5px;
    /* border: 1px solid; */
    cursor: pointer;
    position: relative;
    text-decoration: none;
    color: #0c6dce;
    font-weight: 600;
}

.btnList::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(100% - 5px);
    /* right: 12px; */
    left: 0;
    width: 90%;
    height: 8px;
    border: none;
    border-right: 3px solid #1f286f;
    border-bottom: 2px solid #1f286f;
    transform: skew(45deg);
    transition: .3s;
}

.btnList:hover::after {
    right: 10px;
    width: 100%;
}

@media only screen and (max-width: 600px) {
    .btnList {
        display: inline-block;
        width: 10em;
        padding: 6px 10px 6px 10px;
        padding: 6px 2px 6px 2px;
        font-weight: 600;
    }

    .btnList {
        padding: 6px 10px 6px 10px;
        text-align: center;
    }

    .btnList::after {
        right: 20px;
        left: 10px;
        width: 110px;
        border-right: 2px solid #1f286f;
        border-bottom: 1px solid #1f286f;
        /* background: #fff; */
    }


}






.logo-image {
    max-width: 100%;
    max-width: 130px;
    height: auto;
}

/* モバイル表示：縦並び（スマホ向け） */
@media screen and (max-width: 768px) {
    .three-column-layout {
        flex-direction: column;
        width: 94%;
        margin-top: 0;
    }

    .logo-column,
    .topics-column,
    .grants-column {
        width: 100%;
        margin-bottom: 1.5rem;
    }
}

.fade-in {
    opacity: 0;
    transform: translateY(10px);
    animation: fadeInUp 1s ease-out forwards;
    animation-delay: 0.3s;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.group-area {
    margin-top: 100px;
    margin-bottom: 100px;
    max-width: 1280px;
    margin: 100px auto 100px;
}

.group-area .wrap {
    display: flex;
    gap: 2em;
    justify-content: center;
}

.group-area .group_box {
    width: 25%;
    text-align: center;
}


@media screen and (max-width: 768px) {

    .group-area {
        max-width: 98%;
        margin-top: 50px;
    }



    .group-area .wrap {
        display: flex;
        gap: 1em;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .group-area .group_box {
        width: 46%;
        text-align: center;
    }
}




.group-area .group_box .imgset {}

.group-area .group_box .imgset img {
    width: 80%
}

.group-area .group_box h2 {
    color: #1f286f;
    line-height: 2;
    font-weight: 600;
}

.group-area .group_box h2 {
    margin-bottom: 15px;
    text-align: center;
    line-height: 1;
}

.group-area .group_box h2::after {
    content: '';
    display: block;
    width: 80%;
    height: 2px;
    background-color: #1a2c74;
    position: relative;
    bottom: -5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: linear-gradient(90deg, rgba(217, 247, 210, 0.03405112044817926) 0%, rgb(23 67 138) 50%, rgba(2, 118, 187, 1) 50%, rgba(208, 230, 244, 0.07) 100%);
}

.group-area .group_box h3 {
    font-size: 0.8em;
    line-height: 1.3;
    height: 30px;
}



.arrow-link {
    position: relative;
    display: inline-block;
    color: #0066cc;
    text-decoration: none;
    font-weight: bold;
    padding-bottom: 4px;
    transition: color 0.3s;
    /* border-bottom: 2px solid; */
}

.arrow-link::after {
    content: "→";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    width: 0;
    overflow: hidden;
    color: transparent;
    /* 表示上矢印本体は見せない */
    background: linear-gradient(to right, #14357b, #a86ee5);
    transition: width 0.4s ease-out;
}

.arrow-link:hover::after {
    width: 100%;
}

.arrow-link:hover {
    color: #004499;
}








.btnB {
    display: inline-block;
    width: 7em;
    padding: 6px 10px 6px 10px;
    padding: 6px 2px 6px 2px;
    text-align: left;
    color: #4c4a4a;
    margin: 5px;
    /* border: 1px solid; */
    cursor: pointer;
    position: relative;
    text-decoration: none;
    color: #0c6dce;
    font-weight: 600;
}

.btnB::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(100% - 5px);
    /* right: 12px; */
    left: 0;
    width: 90%;
    height: 8px;
    border: none;
    border-right: 3px solid #007ec5;
    border-bottom: 2px solid #007ec5;
    transform: skew(45deg);
    transition: .3s;
}

.btnB:hover::after {
    right: 10px;
    width: 100%;
}

@media only screen and (max-width: 600px) {
    .btnB {
        display: inline-block;
        width: 10em;
        padding: 6px 10px 6px 10px;
        padding: 6px 2px 6px 2px;
        font-weight: 600;
    }





    .btnB {
        padding: 6px 10px 6px 10px;
        text-align: center;
    }

    .btnB::after {
        right: 20px;
        left: 10px;
        width: 110px;
        border-right: 2px solid #000000;
        border-bottom: 1px solid #000000;
        background: #fff
    }


}

.top_strong {
    position: relative;
}

.top_strong_wrap {
    text-align: right;
}

.top_strong_wrap img {
    width: 90%;

}

.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    max-width: 1000px;
    margin: 40px auto;
    padding: 20px;
}

.grid-item {
    position: relative;
    overflow: hidden;
    display: block;
    text-decoration: none;
    color: #333;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s;
}

.grid-item:hover {
    transform: scale(1.02);
}

.grid-item img {
    width: 100%;
    height: auto;
    /* aspect-ratio: 16/9; */
    object-fit: cover;
    display: block;
}

.label {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    padding: 12px 10px;
    font-size: 1.1rem;
    font-weight: bold;
    text-align: center;
    box-sizing: border-box;
}

/* スマホ向けレイアウト調整 */
@media screen and (max-width: 767px) {
    .grid-container {
        grid-template-columns: 1fr;
    }
}



/* subページ */

.l-main {
    width: 100%;
    /* display: block; */
}

.subPage {
    width: 100%;
    /* margin: 100px auto 100px; */
    padding: 0px 0 40px;
    /* height: 100%; */
    /* display: block; */
}


@media screen and (max-width: 767px) {
    .subPage {
        width: 100%;
        /* margin: 100px auto 100px; */
        padding: 0px 0 40px;
        /* height: 100%; */
        /* display: block; */
    }
}






.fv {
    padding-top: 0;
    padding: 0 0px;
    width: 100%;
}


.fv .inner {
    max-width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 300px;
}

@media screen and (max-width: 767px) {
    .fv .inner {
        height: 200px;
    }
}

.fv .fv-swiper-container {
    overflow-x: hidden;
}






@media screen and (max-width: 767px) {
    .fv {
        padding: 0;
    }
}

.fv .inner {
    max-width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 300px;
}

@media screen and (max-width: 767px) {
    .fv .inner {
        height: 200px;
    }
}



#office {
    z-index: 99999;
    /* position: absolute; */
}

#office .sec_content {
    margin-top: 0;
}

@media screen and (max-width: 600px) {
    #office .sec_content {
        margin-top: 50px;
        padding: 0;
    }
}

@media screen and (max-width: 767px) {
    .sec_content {
        border-radius: 0.5em;
        padding: 10px 10px;
        width: 100%;
        margin: 0 0;
    }
}


.sec_content .title_icon {
    width: 100px;
    margin: 0 auto;
}



.sec_area {
    max-width: 1000px;
    margin: 80px auto;
    width: 100%;
}

.sec_area .wrap {
    max-width: 900px;
    margin: 0 auto;
}

.sec_area h2 {
    font-size: 1.4em;
    line-height: 2;
    margin-bottom: 15px;
    color: #1d2088;
    font-weight: 600;
    text-align: center;
}


@media screen and (max-width: 600px) {
    .sec_area {
        margin: 10px auto;
        width: 100%;
    }
}



.gsec_area h2 {
    margin-bottom: 15px;
    text-align: center;
    line-height: 1;
}

.sec_area h2::after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background-color: #1a2c74;
    position: relative;
    bottom: -5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: linear-gradient(90deg, rgba(217, 247, 210, 0.03405112044817926) 0%, rgb(23 67 138) 50%, rgba(2, 118, 187, 1) 50%, rgba(208, 230, 244, 0.07) 100%);
}


.sec_area p {
    padding: 0 20px;
}

.card_area {}

.card_box {
    max-width: 1100px;
    margin: 60px auto;
    background-image: url(../../../common/img/kaikei/bg_img.png);
    background-size: cover;
    padding: 20px;
    border-radius: 1em;
}

.card_box:last-child {
    margin-bottom: 0;
}




.card_a {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1em;
}

.img_set {
    width: 58%;
}

.img_set img {
    border-radius: 1em;
}

.keireki_set {
    width: 40%;
    color: #1f286f;
    font-weight: 600;
}

.comment_set {}

.comment_set p {
    font-weight: 500;
    line-height: 1.6;
    background: #fffdec;
    padding: 15px;
    border-radius: 0.5em;
    letter-spacing: 0.11em;
}

@media screen and (max-width: 600px) {

    .sec_area h2 {
        font-size: 1.1em;
    }


    .card_a {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        gap: 1em;
    }

    .img_set {
        width: 100%;
    }

    .img_set img {
        border-radius: 1em;
    }

    .keireki_set {
        width: 100%;
    }


}



.keireki_set p.job_title {
    font-size: 1.3em
}

.keireki_set p.name {
    font-size: 2.3em;
}

.keireki_set ul {
    marrgin: 10px;
}

.keireki_set ul li {
    line-height: 1.8;
    font-weight: 600;
}

@media screen and (max-width: 600px) {
    .keireki_set p.name {
        font-size: 1.8em;
    }
}

#office .fv .inner {
    background-image: url(../../../common/img/sub_header-img.jpg);
    position: relative;
}

#office .fv .inner .image {
    position: absolute;
    -webkit-transition: 1s all 0s ease;
    transition: 1s all 0s ease;
}

#office .fv .inner .bird {
    left: 0;
    top: 50px;
    width: 230px;
}

#office .fv .inner .doctor {
    right: 50px;
    bottom: 0;
    width: 170px;
}

#office .fv .inner h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    z-index: 1;
}

#office .fv .inner h1 span {
    display: block;
    font-size: 1rem;
}


@media screen and (max-width: 767px) {
    #office .fv .inner .bird {
        width: 150px;
    }

    #office .fv .inner .doctor {
        right: 20px;
        width: 110px;
    }
}

#office .wrapper {
    background-color: #fff;
    border-radius: 10px;
    padding: 50px 40px;
}

@media screen and (max-width: 767px) {
    #office .wrapper {
        padding: 10px;
    }
}

#office .sec_group h2::after {
    /* content: '';
    position: absolute;
    display: block;
    bottom: 0;
    right: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 30px; */
    /* font-size: 1rem; */
}

#office .sec_group h2 {
    text-align: center;
}

/* #office .sec_group h3 {
    color: #3f2e16;
    font-weight: bold;
    font-size: 1.4rem;
    padding: 0 30px 12px 14px;
    border-bottom: 3px solid #8fc767;
    display: inline-block;
    line-height: 1.3;
    margin-top: 20px;
} */

/* #office .sec_group h3:before {
    content: '\f7f4';
    font-family: 'Font Awesome 6 pro';
    padding-right: 5px;
    color: #009654;
    font-size: 1.2em
}
 */


/* トップページ コンテンツ紹介 */
.grid-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 2fr;
    /* 左2列：25%ずつ、右列：50% */
    grid-template-rows: repeat(2, 1fr);
    gap: 20px;
    max-width: 1100px;
    margin: 100px auto;
    padding: 20px;
}

.box {
    /* background: #e9e9e9; */
    text-align: center;
    padding: 60px 10px;
    padding: 0;
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s;
}


.box img {
    object-fit: cover;
    width: 100%;
    height: auto;
    border-radius: 0.5em;
}






.box:hover {
    transform: scale(1.02);
}

/* グリッド配置 */
.box1 {
    grid-column: 1;
    grid-row: 1;
}

/* スタッフ紹介 */
.box2 {
    grid-column: 2;
    grid-row: 1;
}

/* リクルート */
.box3 {
    grid-column: 1;
    grid-row: 2;
}

/* お客様の声 */
.box4 {
    grid-column: 2;
    grid-row: 2;
}

/* コラム */
.box5 {
    grid-column: 3;
    grid-row: 1 / span 2;
    /* 上下2段分を使う */
    /* background: #d2e0f2; */
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.box5 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* ▼ 768px〜で2カラム対応 */
@media screen and (max-width: 979px) and (min-width: 350px) {
    .grid-wrapper {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        margin-bottom: 50px;
    }

    .box1,
    .box2,
    .box3,
    .box4,
    .box5 {
        grid-column: auto;
        grid-row: auto;
    }

    .box5 {
        grid-column: 1 / span 2;
        /* 2カラムで横並びで全幅を使う */
        grid-row: auto;
    }
}

/* ▼ スマホ（1カラム） */
@media screen and (max-width: 350px) {
    .grid-wrapper {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .box1,
    .box2,
    .box3,
    .box4,
    .box5 {
        grid-column: auto;
        grid-row: auto;
    }
}



/* スタッフ紹介 */
@charset "utf-8";




/* ===============================================
topCard Styling
=============================================== */
.card_container {
    /* max-width: 1200px; */
    /* padding: 20px 20px; */
    /* margin: 80px auto; */
    width: 100%;
    /* border-top: 1px solid #DDD; */
}

.card_wrapper {
    font-weight: 600;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* width: 100%; */
    padding: 0 0;
    gap: 20px;
    position: relative;
}

.card {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 10px;
    padding: 20px 15px;
    border-radius: 5px;
    color: #323232 !important;
    text-decoration: none !important;
}

.card:hover {
    transition: all .4s;
    opacity: .7;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

.card_title {
    font-size: clamp(0.75rem, 0.375rem + 0.781vw, 1rem);
    text-align: left;
    padding-bottom: 5px;
    font-size: 1em;
}

.card_img {
    padding-top: calc(363 / 600 * 100%);
    position: relative;
}

.card_img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card_text {
    font-size: 15px;
    padding: 5px 0;
    flex-grow: 1;
}

.card_name {
    font-size: 17px;
    padding: 5px 0 0;
    flex-grow: 1;
    line-height: 2;
}

.card_gakka {
    font-size: 9px;
    padding: 0;
    /* margin-bottom: 5px; */
    position: relative;
    top: -20px;
    left: -15px;
}

.card_gakka span {
    font-size: 13px;
    padding: 5px 10px;
    border-radius: 0.1em;
    margin-bottom: 5px;
    color: #fff;
}

.card_gakka.kaigo {
    background: none;
}

.card_gakka.sports {
    background: none;
}

.card_gakka.harikyu span {
    background: #356396;
    border-radius: 0.2em 0 0.8em
}

.card_gakka.sports span {
    background: #a04b67;
    border-radius: 0.2em 0 0.8em
}

.card_gakka.jyusei span {
    background: #004900b0;
    border-radius: 0.2em 0 0.8em
}

.card_gakka.kaigo span {
    background: #ba6e7b;
    border-radius: 0.2em 0 0.8em
}

.card_gakka.gijutsu span {
    background: #da9329;
    border-radius: 0.2em 0 0.8em
}

.card_gakka.eigyo span {
    background: #c5c767;
    border-radius: 0.2em 0 0.8em
}

.card_link {
    position: relative;
    font-size: 16px;
    font-weight: bold;
    padding: 6px;
}

.card_link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 130px;
    height: 2px;
    background-color: #d8c9c9;
}

@media only screen and (max-width: 738px) {

    .card_container {
        width: 92%;
        margin: 0 4%;
        padding: 0 0 50px;
    }

    .card_wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        /* width: 100%; */
        padding: 0 20px;
        gap: 20px;
    }



    .card_wrapper {
        grid-template-columns: repeat(1, 1fr);
        padding: 0;
        width: 100%;
    }
}

.card_wrapper {
    margin: 30px 0;
}




.wrap_box {
    width: 1200px;
    /* width: 100%; */
    margin: 0em auto;
    padding-top: 6em;
    background: #fff;
    border-radius: 0.5EM;
    padding: 6em;
}


@media (max-width: 640px) {
    .wrap_box {
        width: 100%;
        margin: 0em auto;
        padding-top: 2em;
        background: #fff;
        border-radius: 0.5EM;
        padding: 2em;
    }
}





.container .mv-block {
    position: relative
}

.container .mv-block .mv {
    min-height: 35rem;
    padding-bottom: 25%;
    background: url(/common/img/voice/mv_voice.jpg) no-repeat center center;
    background-size: cover
}

.container .mv-block .mv-catch {
    position: absolute;
    top: 48.57143%;
    left: 50%;
    text-align: center;
    transform: translateX(-50%)
}

.container .mv-block .mv-catch p {
    color: #fff;
    line-height: 1.5
}

.container .mv-block .mv-catch span.small {
    display: inline-block;
    margin-bottom: 1.5rem;
    padding: .5rem .8rem;
    background: #0e62aa;
    font-size: 1.8rem;
    font-family: 'Fjalla One', sans-serif;
    letter-spacing: .25rem;
    line-height: 1;
    border: none
}

.container .mv-block .mv-catch span.lg {
    display: block;
    font-size: 3.8rem;
    font-weight: bold;
    line-height: 1
}

.container .block {
    padding: 6rem 0 10rem
}

.container .block h3 {
    margin-bottom: 6rem;
    font-size: 3rem;
    text-align: center;
    line-height: 1.6
}

.container .course-list {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between
}

.container .course-list .course-box {
    width: 48.4375%;
    margin-bottom: 3.90625%
}

.container .course-list .course-box .course-img img {
    width: 100%;
    height: auto
}

.container .course-list .course-box .course-txt {
    padding: 2.3rem 10px 3rem;
    color: #fff;
    text-align: center
}

.container .course-list .course-box .course-txt .txt {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5
}

.container .course-list .course-box .course-txt .txt span {
    display: inline-block
}

.container .course-list .course-box .course-txt h4 {
    margin: 1rem 0 .5rem;
    font-size: 4rem;
    line-height: 1.2
}

.container .course-list .course-box .course-txt .year {
    margin-bottom: 1rem;
    font-size: 1.8rem;
    font-weight: bold
}

.container .course-list .course-box .course-txt .btn {
    width: 60.48387%;
    min-width: 220px
}

.container .course-list .course-box .course-txt .btn a {
    padding: .5rem 0;
    background: #191b1c
}

.container .course-list .course-box .course-txt .btn a:hover {
    color: #000;
    background: #fff
}

.container .course-list .course-box.trainer {
    background: #ea281d
}

.container .course-list .course-box.harikyu {
    background: #f77309
}

.container .course-list .course-box.judo-therapist {
    background: #04ad38
}

.container .course-list .course-box.care-welfare {
    background: #f33e70
}

@media (max-width: 1124px) {
    .container .course-list .course-box .course-txt h4 {
        font-size: 3rem
    }
}

@media (max-width: 1024px) {
    .container .block h3 {
        font-size: calc((30 - 24) * ((100vw - 375px) / (1024 - 375)) + 2.4rem)
    }

    .container .course-list .course-box .course-txt .txt {
        font-size: calc((18 - 14) * ((100vw - 375px) / (1024 - 375)) + 1.4rem)
    }

    .container .course-list .course-box .course-txt .txt span {
        display: block
    }

    .container .course-list .course-box .course-txt h4 {
        font-size: calc((26 - 20) * ((100vw - 375px) / (1024 - 375)) + 2rem)
    }

    .container .course-list .course-box .course-txt .year {
        font-size: calc((18 - 14) * ((100vw - 375px) / (1024 - 375)) + 1.4rem)
    }

    .container .course-list .course-box .course-txt .btn a {
        font-size: calc((18 - 16) * ((100vw - 375px) / (1024 - 375)) + 1.6rem)
    }
}

@media (max-width: 640px) {
    .container .mv-block .mv {
        min-height: 21rem;
        padding-bottom: 56%;
        background: url("/common/img/report/sp-mv.jpg") no-repeat;
        background-size: cover
    }

    .container .mv-block .mv-catch {
        position: absolute;
        top: 42.85714%;
        left: 50%;
        text-align: center;
        transform: translateX(-50%)
    }

    .container .mv-block .mv-catch span.small {
        margin-bottom: .8rem;
        font-size: 1.2rem
    }

    .container .mv-block .mv-catch span.lg {
        font-size: 2.6rem
    }

    .container .block {
        padding: 4rem 0 8rem
    }

    .container .block h3 {
        margin-bottom: 3rem;
        font-size: 2rem
    }

    .container .course-list {
        display: block
    }

    .container .course-list .course-box {
        width: 100%;
        margin-bottom: 8.95522%
    }

    .container .course-list .course-box .course-txt {
        padding: 2rem 1rem
    }

    .container .course-list .course-box .course-txt .txt {
        font-size: 1.4rem
    }

    .container .course-list .course-box .course-txt .txt span {
        display: inline-block
    }

    .container .course-list .course-box .course-txt h4 {
        font-size: 2.4rem
    }

    .container .course-list .course-box .course-txt .year {
        font-size: 1.4rem
    }

    .container .course-list .course-box .course-txt .btn {
        width: 61.19403%
    }

    .container .course-list .course-box .course-txt .btn a {
        font-size: 1.6rem
    }
}



.container .mv-block {
    position: relative
}

.container .mv-block .mv {
    min-height: 35rem;
    padding-bottom: 25%;
    background: url(/common/img/voice/mv_voice.jpg) no-repeat center center;
    background-size: cover;
    /* background: #eeede6; */
}

.container .mv-block .mv-catch {
    position: absolute;
    top: 48.57143%;
    left: 50%;
    text-align: center;
    transform: translateX(-50%)
}

.container .mv-block .mv-catch p {
    color: #fff;
    line-height: 1.5
}

.container .mv-block .mv-catch span.small {
    display: inline-block;
    margin-bottom: 1.5rem;
    padding: .5rem .8rem;
    background: #d85d5d;
    font-size: 1.8rem;
    font-family: 'Fjalla One', sans-serif;
    letter-spacing: .25rem;
    line-height: 1;
    border: none
}

.container .mv-block .mv-catch span.lg {
    display: block;
    font-size: 3.8rem;
    font-weight: bold;
    line-height: 1;
    color: #000;
}

.container .block {
    padding: 0rem 0 0rem;
}

.container .block h3 {
    margin-bottom: 6rem;
    font-size: 3rem;
    text-align: center;
    line-height: 1.6
}

.container .block h4 {
    margin-bottom: 6rem;
    font-size: 3rem;
    text-align: center;
    line-height: 1.6
}


.wrap_2 {
    /* max-width: 1200px; */
    width: 100%;
    margin: 0 auto;
    background: #eee;
    padding-top: 50px;
    padding-bottom: 6em;
}


.wrap_box {
    /* width:1200px; */
    width: 100%;
    margin: 0em auto;
    padding-top: 6em;
    background: #fff;
    border-radius: 0.5EM;
    padding: 0;
}


@media (max-width: 640px) {
    .wrap_box {
        width: 100%;
        margin: 0em auto;
        padding-top: 2em;
        background: #fff;
        border-radius: 0.5EM;
        padding: 0;
    }
}




.container .course-list {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between
}

.container .course-list .course-box {
    width: 48.4375%;
    margin-bottom: 3.90625%
}

.container .course-list .course-box .course-img img {
    width: 100%;
    height: auto
}

.container .course-list .course-box .course-txt {
    padding: 2.3rem 10px 3rem;
    color: #fff;
    text-align: center
}

.container .course-list .course-box .course-txt .txt {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5
}

.container .course-list .course-box .course-txt .txt span {
    display: inline-block
}

.container .course-list .course-box .course-txt h4 {
    margin: 1rem 0 .5rem;
    font-size: 4rem;
    line-height: 1.2
}

.container .course-list .course-box .course-txt .year {
    margin-bottom: 1rem;
    font-size: 1.8rem;
    font-weight: bold
}

.container .course-list .course-box .course-txt .btn {
    width: 60.48387%;
    min-width: 220px
}

.container .course-list .course-box .course-txt .btn a {
    padding: .5rem 0;
    background: #191b1c
}

.container .course-list .course-box .course-txt .btn a:hover {
    color: #000;
    background: #fff
}

.container .course-list .course-box.trainer {
    background: #ea281d
}

.container .course-list .course-box.harikyu {
    background: #f77309
}

.container .course-list .course-box.judo-therapist {
    background: #04ad38
}

.container .course-list .course-box.care-welfare {
    background: #f33e70
}

@media (max-width: 1124px) {
    .container .course-list .course-box .course-txt h4 {
        font-size: 3rem
    }
}

@media (max-width: 1024px) {
    .container .block h3 {
        font-size: calc((30 - 24) * ((100vw - 375px) / (1024 - 375)) + 2.4rem)
    }

    .container .course-list .course-box .course-txt .txt {
        font-size: calc((18 - 14) * ((100vw - 375px) / (1024 - 375)) + 1.4rem)
    }

    .container .course-list .course-box .course-txt .txt span {
        display: block
    }

    .container .course-list .course-box .course-txt h4 {
        font-size: calc((26 - 20) * ((100vw - 375px) / (1024 - 375)) + 2rem)
    }

    .container .course-list .course-box .course-txt .year {
        font-size: calc((18 - 14) * ((100vw - 375px) / (1024 - 375)) + 1.4rem)
    }

    .container .course-list .course-box .course-txt .btn a {
        font-size: calc((18 - 16) * ((100vw - 375px) / (1024 - 375)) + 1.6rem)
    }
}

@media (max-width: 640px) {
    .container .mv-block .mv {
        min-height: 21rem;
        padding-bottom: 56%;
        background: url("/common/img/voice/sp_mv_index.jpg") no-repeat;
        background-size: cover
    }

    .container .mv-block .mv-catch {
        position: absolute;
        top: 42.85714%;
        left: 50%;
        text-align: center;
        transform: translateX(-50%)
    }

    .container .mv-block .mv-catch span.small {
        margin-bottom: .8rem;
        font-size: 1.2rem
    }

    .container .mv-block .mv-catch span.lg {
        font-size: 2.6rem
    }

    .container .block {
        padding: 4rem 0 8rem
    }

    .container .block h3 {
        margin-bottom: 3rem;
        font-size: 2rem
    }

    .container .course-list {
        display: block
    }

    .container .course-list .course-box {
        width: 100%;
        margin-bottom: 8.95522%
    }

    .container .course-list .course-box .course-txt {
        padding: 2rem 1rem
    }

    .container .course-list .course-box .course-txt .txt {
        font-size: 1.4rem
    }

    .container .course-list .course-box .course-txt .txt span {
        display: inline-block
    }

    .container .course-list .course-box .course-txt h4 {
        font-size: 2.4rem
    }

    .container .course-list .course-box .course-txt .year {
        font-size: 1.4rem
    }

    .container .course-list .course-box .course-txt .btn {
        width: 61.19403%
    }

    .container .course-list .course-box .course-txt .btn a {
        font-size: 1.6rem
    }
}

.page-section {
    margin: 60px auto;
    /* width: 100%; */
    max-width: 1180px;
    padding: 40px 5%;
    background: #fcf8e3;
    border: #f5f5f5 1px solid;
    /* border-left: none; */
    -webkit-border-radius: 0px 15px 0 0px;
    border-radius: 0px 15px 0 0px;
    /* font-family: dnp-shuei-mgothic-std, sans-serif; */
}

.page-section:first-child {
    margin-top: 50px;
}


.page-section p {
    font-size: 18px;
}


.txtCatch {
    font-size: 20px
}



/*
.page-section-sub:not(:first-child){border-top:1px solid #d9e3e5;padding-top:60px;margin-top:60px;}*/
@media (max-width: 900px) {
    .page-section {
        margin: 50px 2.5%;
        padding: 60px 5%;
    }
}

@media (max-width: 738px) {
    .page-section {
        margin: 40px 10px 0;
        padding: 50px 5%;
        border: #f0f0f0 1px solid;
    }
}

@media (max-width: 414px) {
    .page-section {
        padding: 40px 4%;
        margin: 40px 0;
    }
}

.page-section.dashed {
    border: #111 1px dashed;
}

.page-section .lead-image {
    display: block;
    width: 100%;
    -webkit-border-radius: 10px;
    border-radius: 10px;
}

.page-section-header {
    text-align: left;
    font-size: 20px;
    margin-bottom: 30px;
    font-weight: 800 !important;
}

.page-section-header:before {
    content: '';
}

.page-section-header .lead {
    font-size: 30px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
}

.page-section-header .caption {
    margin-top: 30px;
}

.section-body-lead {
    margin-top: -15px;
    text-align: center;
}

.section-body-lead p {
    font-size: 14px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 1px;
}

.section-body-lead p br.mobile {
    display: none
}

;
@media only screen and (max-width: 738px) {
    .section-body-lead {
        text-align: center;
    }

    .section-body-lead p {
        display: inline-block;
        font-size: 13px;
        line-height: 1.9;
        font-weight: 400;
        /* ? text-align: left;*/
    }
}

.archive-menu-items {}

.archive-menu-items .item {
    padding: 60px 0;
    border-top: #d9e3e5 1px solid;
    overflow: hidden;
    position: relative;
    z-index: 0;
    display: flex;
    flex-wrap: wrap;
}

.archive-menu-items .item:first-child {
    padding-top: 0;
    border: none;
}

.archive-menu-items .item:last-child {
    padding-bottom: 0;
}

@media only screen and (max-width: 900px) {
    .archive-menu-items .item {
        padding: 50px 0;
    }
}

@media only screen and (max-width: 738px) {
    .archive-menu-items .item {
        padding: 45px 0;
    }
}

.archive-menu-items .item>.image {
    width: 40%;
    padding: 0 2%;
    /* float: left; */
    position: relative;
    /* -webkit-border-radius: 100%; */
    border-radius: 100%;
}

.archive-menu-items .item>.image img {
    width: 100%;
    /* float: left; */
    /* position: relative; */
    /* -webkit-border-radius: 100%; */
    /* border-radius: 100%; */
    border-radius: 1em;
}

.jimukyoku {
    padding: 2%;
    margin-top: 10px;
}

.jimukyoku p {
    padding: 2%;
}

.archive-menu-items .item>.text {
    /* float: right; */
    /* width: 50%; */
    flex: 0 0 60%;
    padding: 0 2%;
}

.archive-menu-items .item>.text .oyasumi {
    display: block;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.125em;
    line-height: 1.4;
    margin-bottom: 0;
    text-transform: uppercase;
    color: #a32b2e;
}

.archive-menu-items .item>.text .oyasumi:before {
    font-family: 'themify';
    content: "\e617";
}

.archive-menu-items .item>.text .role {
    display: inline-block;
    font-size: 15px;
    /* font-family: 'Overpass', sans-serif; */
    font-weight: 400;
    letter-spacing: 0.125em;
    line-height: 1.4;
    text-transform: uppercase;
    position: relative;
    z-index: 0;
}

.archive-menu-items .item>.text .role:after {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    height: 50%;
    content: "";
    background: #f9c986;
    z-index: -1;
}

.archive-menu-items .item>.text .name {
    margin: 0px 0 12px;
    color: #0b0b0b;
    font-size: 25px;
    font-weight: 600;
}

.u_orange {
    background: linear-gradient(transparent 60%, #ffde00 60%);
}

.archive-menu-items .item>.text .name .jp {
    margin-top: 10px;
    padding-left: 20px;
    font-size: 20px;
    /* font-family: 'Noto Sans JP', sans-serif; */
    font-weight: 400;
    letter-spacing: 4px;
    display: block;
    line-height: 1;
    position: relative;
    z-index: 0;
}

.jp span {
    font-size: 23px;
}

.archive-menu-items .item>.text .name .jp:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 10px;
    height: 0;
    content: "";
    border-top: #0d0d0d 1px solid;
    z-index: -1;
}

.archive-menu-items .item>.text .name .en {
    font-size: 26px;
    /* font-family: 'Overpass', sans-serif; */
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.2;
    display: block;
    margin-bottom: 0.5em;
}

.archive-menu-items .item>.text .comment {
    padding: 25px;
    margin-top: 25px;
    font-size: 17px;
    line-height: 1.9;
    position: relative;
    z-index: 0;
    background: #ddd;
    background: #ffbc5f;
    border: #f5f5f5 1px solid;
    /* border-left: none; */
    -webkit-border-radius: 0px 15px 0 0px;
    border-radius: 0px 15px 0 0px;
}

.archive-menu-items .item>.text .comment:after {
    /* position: absolute; */
    /* top: 0; */
    /* right: 0; */
    /* bottom: 0; */
    /* left: -30px; */
    /* content: ""; */
    background: #f7f7f7;
    z-index: -1;
    -webkit-border-radius: 0px 0px 15px 15px;
    border-radius: 0px 0px 15px 15px;
}

.archive-menu-items .item>.text_a {
    float: left;
    width: 48%;
    margin: 1%;
}

.archive-menu-items .item>.text_a .role {
    display: inline-block;
    font-size: 14px;
    /* font-family: 'Overpass', sans-serif; */
    font-weight: 400;
    letter-spacing: 0.125em;
    line-height: 1.4;
    text-transform: uppercase;
    position: relative;
    z-index: 0;
}

.archive-menu-items .item>.text_a .role:after {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    height: 50%;
    content: "";
    background: #ddd;
    z-index: -1;
}

.archive-menu-items .item>.image .career span {
    background: #e5e5e5;
    padding: 0.2em 0.3em;
    /* border-radius: 1em; */
    font-size: 15px;
    /* color: #fff; */
    margin: 0 0.2em;
}

.archive-menu-items .item>.text .career span {
    background: #fff2ac;
    padding: 0.2em 0.3em;
    /* border-radius: 1em; */
    font-size: 15px;
    /* color: #fff; */
    margin: 0 0.2em;
}

@media only screen and (max-width: 500px) {
    .archive-menu-items .item>.text .career span {
        display: block;
        margin-bottom: 5px;
    }

    .archive-menu-items .item>.image .career span {
        display: block;
        margin-bottom: 5px;
    }
}

@media only screen and (max-width: 900px) {
    .archive-menu-items .item>.text .name .en {
        font-size: 25px;
    }

    .archive-menu-items .item>.text .comment {
        margin-top: 20px;
        padding: 20px 25px 20px 0;
        font-size: 16px;
    }

    .archive-menu-items .item>.text .comment:after {
        left: -25px;
    }
}

@media only screen and (max-width: 738px) {
    .archive-menu-items .item>.image {
        margin: 0 auto;
        width: 100%;
        /*         max-width: 250px; */
        float: none;
        display: block;
    }

    .archive-menu-items .item>.text {
        /* float: none; */
        width: 100%;
        margin: 25px 0 0;
        text-align: center;
        display: block;
        flex: 0 0 100%;
    }

    .archive-menu-items .item>.text .name {
        margin-bottom: 20px;
        text-align: center;
    }

    .archive-menu-items .item>.text .role {
        font-size: 13px;
        letter-spacing: 0.1em;
    }

    .archive-menu-items .item>.text .name {
        margin: 5px 0 20px;
    }

    .archive-menu-items .item>.text .name .jp {
        margin-top: 10px;
        padding-left: 0;
    }

    .archive-menu-items .item>.text .name .jp:before {
        display: none;
    }

    .archive-menu-items .item>.text .name .en {
        font-size: 22px;
    }

    .archive-menu-items .item>.text .career {
        margin: 0 auto;
        text-align: left;
        max-width: 450px;
    }

    .archive-menu-items .item>.text .comment {
        /* max-width: 450px; */
        padding: 20px 5%;
        margin: 20px auto 10px;
        /* font-size: 13px; */
        text-align: left;
    }

    .archive-menu-items .item>.text .comment:after {
        left: 0;
    }
}

@media only screen and (max-width: 500px) {
    .archive-menu-items .item>.image {
        max-width: 300px;
    }

    .archive-menu-items .item>.image img {
        max-width: 100%;
    }

    .archive-menu-items .item>.text_a {
        float: left;
        width: 98%;
        margin: 1%;
    }

    .archive-menu-items .item>.text .role {
        font-size: 15px;
    }
}

.stepBox_wrap {
    position: relative;
    margin: 2em auto;
    padding: 25px 10px 7px;
    /* max-width: 1200px; */
    width: 100%;
    border: solid 1px #fe9e1a;
}

.stepBox_wrap .box-title {
    position: absolute;
    display: inline-block;
    top: -15px;
    left: 20px;
    padding: 0 9px;
    /* height: 40px; */
    line-height: 2;
    font-size: 17px;
    background: #e78600;
    border-radius: 1em;
    color: #ffffff;
    font-weight: bold;
    /* font-family: 'Abel', sans-serif; */
    letter-spacing: 0.1em;
}

.stepBox_wrap p {
    margin: 0;
    padding: 0;
    line-height: 1.7;
    font-size: 16px;
    /* color: #000; */
}

.menuTable {
    margin-top: 30px;
    /* margin-bottom: 100px; */
    width: 100%;
}

.menuTable th,
.menuTable td {
    border: 1px dashed #d6d6d6;
    text-align: left;
    font-size: 16px;
}

.menuTable th {
    width: 80%;
    border-left: 0;
    padding: 10px 1% 10px;
    font-weight: 400;
}

.menuTable td {
    border-right: 0;
    padding: 10px 15px 10px 10px;
    text-align: right;
}

.menuTable tr {
    border-bottom: dashed 1px #eee;
    /*   cursor: pointer; */
}

/*   .menuTable tr:hover{
background-color: #9E9E9E;
color:#fff;

} */
.menuTable th:before {
    font-family: 'themify';
    content: "\e724";
    /* color: #d00e00; */
    left: 0;
    padding-right: 10px;
    font-size: 14px;
}

@media only screen and (max-width: 500px) {
    .menuTable th {
        width: 75%;
        border-left: 0;
        padding: 18px 0 16px;
    }

    .menuTable td {
        border-right: 0;
        padding: 10px 10px 10px 10px;
        text-align: right;
    }
}

.ha_viewarea-inner {}

.ha_viewarea-inner {
    margin: 0 auto;
    /* width: 100%; */
    max-width: 1180px;
    padding: 70px 1%;
    background: #fefefe;
    border: #f5f5f5 1px solid;
    background: #f3f3f3;
    /* border-left: none; */
    -webkit-border-radius: 0px 15px 0 0px;
    border-radius: 0px 15px 0 0px;
    /* font-family: dnp-shuei-mgothic-std, sans-serif; */
}

.ha_viewarea-inner .wrap {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    flex-wrap: nowrap;
}

.ha_viewarea-inner .wrap {}

.qa_Area {
    display: -webkit-flex;
    display: flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 16px;
}

.qa_Box {
    /* width: 300px; */
    /* height: 300px; */
    /* 	width: calc(100% / 2);
border: 1px solid #ddd;
padding: 1%;
margin: 1% 0.1%; */
    /* display: flex; */
    flex-wrap: wrap;
    border: 1px solid #eee;
    padding: 1.5em;
    margin: 1em 0.5% 1em;
    border-radius: 1em;
    /* 	background: #f9f9f9; */
}

.qa_Box_bg01 {
    background: #e7f6ff;
}

.qa_Box_bg02 {
    background: #edf7ff;
}

.qa_Box_bg03 {
    background: #d4fbff;
}

.qa_Box_bg04 {
    background: #f8f8f8;
}

.pla_col_1 {
    width: 100%;
}

.pla_col_2 {
    width: 48%;
}

.pla_col_3 {
    width: 32%;
}

.qa_Box .index_timg {
    object-fit: cover;
}

@media screen and (max-width: 600px) {
    .pla_col_2 {
        width: 100%;
    }

    .pla_col_3 {
        width: 100%;
    }
}

.set_0 {
    margin-bottom: 10px;
    /* margin-top: 30px; */
}

.set_0 {
    margin-bottom: 10px;
    margin-top: 0;
}

.interview_title {
    font-size: 23px;
    line-height: 3;
    font-size: 1.567rem;
    /* font-size: calc(1.567rem + 6*(100vw - 960px) / 340); */
    line-height: 3;
}




.set_0 h5 {
    color: #333;
    font-size: 26px;
    line-height: 2.5;
    display: block;
}

@media screen and (max-width: 600px) {

    .interview_title {
        font-size: 18px;
        line-height: 1.8;
        text-align: center;
    }


    .set_0 h5 {
        font-size: 18px;
        line-height: 1.5;
        text-align: center;
        margin-bottom: 10px;
    }

}


.if_sp {
    display: none
}

@media screen and (max-width: 600px) {
    .if_sp {
        display: block
    }
}


.if_pc {
    display: block
}

@media screen and (max-width: 600px) {
    .if_pc {
        display: none
    }
}


.set_0_box {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 50px;
    justify-content: space-between;

}

.set_0_box_img {
    width: 30%;
    /* padding:10px; */
    order: 2;
}

.set_0_box_img img {
    width: 100%;
    border-radius: 0.5em;
}

@media screen and (max-width: 600px) {
    .set_0_box {
        flex-wrap: wrap;
        flex-direction: column;
    }

    .set_0_box_img {
        width: 80%;
        margin: 20px 10%;
        order: 1;
    }

    .set_0_box_img img {
        width: 100%;

    }

}




p.mh-school {
    font-size: 15px
}




/* .set_0_box_img img{width:40%} */
.set_0_box_txt {
    width: 68%;
    padding: 20px;
    /* border: 1px solid #ddd; */
    order: 1;
}

@media screen and (max-width: 600px) {

    .set_0_box_img {
        order: 1;
    }


    .set_0_box_txt {
        width: 100%;
        padding: 20px 0;
        order: 2;
    }
}

.set_0_box_txt2 {
    width: 100%;
    padding: 0 10px;
}

.set_0 p {
    /* font-size: 18px; */
}

.u_blue {
    background: linear-gradient(transparent 60%, #ffde00 60%);
}

.u_red {
    /* background: linear-gradient(transparent 50%, #fa3345 50%); */
    color: #fa3345;
    font-weight: 800;
}

.nami {
    text-decoration: underline wavy;
    color: #E91E63;
    background: linear-gradient(transparent 30%, #ffffb5 0%);
}

.u_nami {
    background: linear-gradient(transparent 50%, #4caf503b 50%);
}



.interview_wrap {
    padding: 2%;
}

.faq_set {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.set_1 {
    width: 48%;
    margin-top: 10px;
    background: #b7ddf2;
    border-radius: 0.5em;
    padding: 10px;
}

@media screen and (max-width: 600px) {
    .set_1 {
        width: 100%;
    }
}

.set_1 h5 {
    font-size: 18px;
    width: 90%;
    color: #503e96;
    text-align: left;
    line-height: 1.5;
    margin-left: 1.5em;
    text-indent: -1.5em;
    margin-bottom: 10px;
    letter-spacing: 0;
}

.set_1 h5:before {
    font-size: 22px;
    content: '★';
}




.set_1 p {
    font-size: 17px;
    /* width: calc(100% - 120px); */
    font-weight: 600;
    border-radius: 0.5em;
    background: #fff;
    width: 100%;
    padding: 10px;

}


.set_1 p.answer {
    font-weight: 600;
    border-radius: 0.5em;
    background: #fff;
    width: 100%;
    padding: 8px;
    padding-left: 1.8em;
    text-indent: -1.1em;
}




.set_1 p:before {}


.set_1 p.answer:before {
    content: '';
    font-size: 23px;
}




@media screen and (max-width: 600px) {

    .set_1 h5 {
        font-size: 18px;
    }

    .set_1 p {
        font-size: 16px;
        /* width: calc(100% - 120px); */
        font-weight: 600;
    }

}


.repo {
    display: flex
}

.repo_img {
    width: 25%;
}

.repo_txt {
    padding: 10px;
    width: 75%;
}

.repo_txt p {
    font-size: 16px;
}

.txt_q {
    /* font-size: 18px; */
    /* border-bottom: 1px solid #ddd; */
    /* line-height: 1.8; */
    /* font-weight: 900; */
    /* color: #0e62aa; */
    /* margin-bottom: 10px; */
}

.txt_q span {
    /* 	border:1px solid #ddd; */
    /* padding:5px 10px; */
    /* color:#fff; */
    /* background:#3c763d; */
    /* border-radius:1em; */
}

.txt_q .facebookBtn:before {
    content: "\e741";
    color: #3765a3;
}

.txt_a {
    font-size: 16px;
    line-height: 1.8;
}

.txt_a img {
    /*   height:100%;
height:100px */
}

.txt_a img,
.txt_q img {
    max-width: 100px;
    /* padding: 2%; */
    border-radius: 3%;
    margin: 1%;
    width: 98%;
    padding: 0.5%;
    /*     transform: rotate( -10deg ); */
}

.txt_b {
    font-size: 18px;
    line-height: 1.8;
    font-weight: 600;
    color: #004a89;
    background: #fff;
    padding: 10px;
    border-radius: 0.5em;
}

.txt_a img {
    /*   height:100%;
height:100px */
}

.inview_fx {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.line_b {
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd
}

.fleft {
    float: left;
}

.fright {
    float: right;
}

.babox {
    display: flex;
    width: 90%;
    margin: 10px auto;
}

.ba_img {
    padding: 10px;
}

.ba_img img {
    border-radius: 0.5em
}



/* ===============================================
topCard Styling
=============================================== */
.card_container {
    max-width: 1200px;
    padding: 20px 20px;
    margin: 0px auto;
    width: 100%;
    /* border-top: 1px solid #DDD; */
}

.card_wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* width: 100%; */
    padding: 0 0;
    gap: 20px;
}

.card {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 10px;
    padding: 20px 15px;
    border-radius: 5px;
    color: #323232 !important;
    text-decoration: none !important;
    margin-bottom: 60px;
}

.card:hover {
    transition: all .4s;
    opacity: .7;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

.card_title {
    font-size: clamp(0.75rem, 0.375rem + 0.781vw, 1rem);
    text-align: center;
    padding-bottom: 10px;
    font-size: 1em;
}

.card_img {
    padding-top: calc(363 / 600 * 100%);
    position: relative;
    border-radius: 0.5em;
}

.card_img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 95%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.5em;
}

.card_text {
    font-size: 15px;
    padding: 10px 0;
    flex-grow: 1;
}

.card_link {
    position: relative;
    font-size: 16px;
    font-weight: bold;
    padding: 6px;
}

.card_link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 130px;
    height: 2px;
    background-color: #d8c9c9;
}

@media only screen and (max-width: 738px) {

    .card_container {
        width: 92%;
        margin: 0 4%;
        padding: 0 0 50px;
    }

    .card_wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        /* width: 100%; */
        padding: 0 20px;
        gap: 20px;
    }



    .card_wrapper {
        grid-template-columns: repeat(1, 1fr);
        padding: 0;
        width: 100%;
    }
}



.profile_info dl {
    display: flex;
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: 600;
}

.profile_info dt {
    width: 25%;
    padding: 10px;
    /* background-color: #DADADA; */
    margin: 0 0 0px 0;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: left;
    border-bottom: 1px solid #ddd;
}

.profile_info dd {
    width: 70%;
    padding: 10px;
    /* background-color: #F3F3F3; */
    margin: 0 0 0px 0;
    border-bottom: 1px solid #ddd;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}

@media only screen and (max-width: 600px) {
    .profile_info dt {
        width: 40%;
        padding: 10px;
    }

    .profile_info dd {
        width: 60%;
        padding: 10px;

    }
}


/* --------------- */

.staffWrap .inner {
    box-sizing: border-box;
    margin-right: auto;
    margin-left: auto;
    padding: 0 4%;
    margin: 50px 0;
    padding: 30px 2% 4%;
    background: #e7f6ff;
    border: #f4f4f4 1px solid;
    -webkit-border-radius: 0px 15px 0 0px;
    border-radius: 15px 15px 15px 15px;
    position: relative;
}

@media only screen and (max-width: 499px) {
    .staffWrap .inner {
        padding: 0 4%;
        margin: 0;
        padding: 20px;
    }
}

.staffWrap {
    margin: auto;
    /* padding: 30px 0 70px; */
    max-width: 1100px;
}



.staffWrap .inner::after {
    /* content: ""; */
    display: block;
    clear: both;
}


@media screen and (max-width: 500px) {
    .staffWrap {
        margin: auto;
        padding: 30px 0 30px;
        font-family: 'Noto Sans JP';
    }
}




.page-section {
    margin: 60px auto;
    /* width: 100%; */
    max-width: 1180px;
    padding: 40px 5%;
    background: #fcf8e3;
    border: #f5f5f5 1px solid;
    /* border-left: none; */
    -webkit-border-radius: 0px 15px 0 0px;
    border-radius: 0px 15px 0 0px;
    /* font-family: dnp-shuei-mgothic-std, sans-serif; */
}

.page-section:first-child {
    margin-top: 50px;
}


.page-section p {
    font-size: 18px;
}


.txtCatch {
    font-size: 20px
}



/*
    .page-section-sub:not(:first-child){border-top:1px solid #d9e3e5;padding-top:60px;margin-top:60px;}*/
@media (max-width: 900px) {
    .page-section {
        margin: 50px 2.5%;
        padding: 60px 5%;
    }
}

@media (max-width: 738px) {
    .page-section {
        margin: 40px 10px 0;
        padding: 50px 5%;
        border: #f0f0f0 1px solid;
    }
}

@media (max-width: 414px) {
    .page-section {
        padding: 40px 4%;
        margin: 40px 0;
    }
}


.set_0 {
    margin-bottom: 10px;
    margin-top: 30px;
}

.set_0 {
    margin-bottom: 10px;
    margin-top: 30px;
}

.interview_title {
    font-size: 23px;
    line-height: 3;
    font-size: 1.567rem;
    /* font-size: calc(1.567rem + 6*(100vw - 960px) / 340); */
    line-height: 3;
}




.set_0 h5 {
    color: #333;
    font-size: 26px;
    line-height: 1.3;
    display: block;
}

@media screen and (max-width: 600px) {

    .interview_title {
        font-size: 18px;
        line-height: 1.8;
        text-align: center;
    }


    .set_0 h5 {
        font-size: 18px;
        line-height: 1.5;
        text-align: center;
        margin-bottom: 10px;
    }

}


.if_sp {
    display: none
}

@media screen and (max-width: 600px) {
    .if_sp {
        display: block
    }
}

.set_0_box {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 50px;
    justify-content: space-between;

}

.set_0_box_txt {
    width: 68%;
    padding: 20px;
    /* border: 1px solid #ddd; */
    order: 1;
}

.set_0_box_img {
    width: 30%;
    /* padding:10px; */
    order: 1;
    text-align: center;
}

.set_0_box_img img {
    width: 110px;
    border-radius: 0.5em;
}

img.tilted {
    transform: rotate(-10deg);
    /* 左に10度傾ける */
}


@media screen and (max-width: 600px) {
    .set_0_box {
        flex-wrap: wrap;
        flex-direction: column;
    }

    .set_0_box_img {
        width: 80%;
        margin: 20px 10%;
        order: 1;
    }

    .set_0_box_txt {
        width: 68%;
        padding: 20px;
        order: 2;
    }


    .set_0_box_img img {
        width: 40%;
    }

}


@media screen and (max-width: 600px) {

    .set_0_box_img {
        order: 1;
    }


    .set_0_box_txt {
        width: 100%;
        padding: 20px 0;
        order: 2;
    }
}

.set_0_box_txt2 {
    width: 100%;
    padding: 0 10px;
}

.set_0 p {
    /* font-size: 18px; */
}

.set_0 .set_mesg {
    font-size: 1.5rem;
    background: #fff;
    margin-top: 10px;
    padding: 10px;
    border-radius: 0.5em;
}

.set_0 .set_mesg p.txt_mesg {
    font-size: 1.3rem;
}


.fukidashi {
    position: absolute;
    top: 72%;
    right: 35px;
    text-align: right;
    /* display: none; */
    width: 130px;
}

.fukidashi img {
    width: 150px;
}


@media screen and (max-width: 600px) {
    .fukidashi {
        position: absolute;
        top: 58%;
        right: 35px;
        text-align: right;
        /* display: none; */
        width: 100px;
    }

    .fukidashi img {
        width: 80px;
    }
}




.u_blue {
    background: linear-gradient(transparent 60%, #ffde00 60%);
}

.u_red {
    /* background: linear-gradient(transparent 50%, #fa3345 50%); */
    color: #fa3345;
    font-weight: 800;
}

.nami {
    text-decoration: underline wavy;
    color: #E91E63;
    background: linear-gradient(transparent 30%, #ffffb5 0%);
}

.u_nami {
    background: linear-gradient(transparent 50%, #4caf503b 50%);
}



.interview_wrap {
    padding: 2%;
}



.set_1 {
    display: flex;
    margin-bottom: 20px;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 1px solid #ddd;
    flex-wrap: wrap;
    margin-top: 10px;
}

.set_1 h5 {
    font-size: 20px;
    width: 100%;
    color: #503e96;
    text-align: left;
}

.set_1 p {
    font-size: 17px;
    /* width: calc(100% - 120px); */
    font-weight: 600;
}

@media screen and (max-width: 600px) {

    .set_1 h5 {
        font-size: 18px;
    }

    .set_1 p {
        font-size: 16px;
        /* width: calc(100% - 120px); */
        font-weight: 600;
    }

}


.repo {
    display: flex
}

.repo_img {
    width: 25%;
}

.repo_txt {
    padding: 10px;
    width: 75%;
}

.repo_txt p {
    font-size: 16px;
}

.txt_q {
    /* font-size: 18px; */
    /* border-bottom: 1px solid #ddd; */
    /* line-height: 1.8; */
    /* font-weight: 900; */
    /* color: #0e62aa; */
    /* margin-bottom: 10px; */
}

.txt_q span {
    /* 	border:1px solid #ddd; */
    /* padding:5px 10px; */
    /* color:#fff; */
    /* background:#3c763d; */
    /* border-radius:1em; */
}

.txt_q .facebookBtn:before {
    content: "\e741";
    color: #3765a3;
}

.txt_a {
    font-size: 16px;
    line-height: 1.8;
}

.txt_a img {
    /*   height:100%;
    height:100px */
}

.txt_a img,
.txt_q img {
    max-width: 100px;
    /* padding: 2%; */
    border-radius: 3%;
    margin: 1%;
    width: 98%;
    padding: 0.5%;
    /*     transform: rotate( -10deg ); */
}

.txt_b {
    font-size: 18px;
    line-height: 1.8;
    font-weight: 600;
    color: #004a89;
    background: #fff;
    padding: 10px;
    border-radius: 0.5em;
}

.txt_a img {
    /*   height:100%;
    height:100px */
}

.inview_fx {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.line_b {
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd
}

.fleft {
    float: left;
}

.fright {
    float: right;
}

.babox {
    display: flex;
    width: 90%;
    margin: 10px auto;
}

.ba_img {
    padding: 10px;
}

.ba_img img {
    border-radius: 0.5em
}



.profile_info dl {
    display: flex;
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: 600;
}

.profile_info dt {
    width: 25%;
    padding: 10px;
    /* background-color: #DADADA; */
    margin: 0 0 0px 0;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: left;
    border-bottom: 1px solid #ddd;
}

.profile_info dd {
    width: 70%;
    padding: 10px;
    /* background-color: #F3F3F3; */
    margin: 0 0 0px 0;
    border-bottom: 1px solid #ddd;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}

@media only screen and (max-width: 600px) {
    .profile_info dt {
        width: 40%;
        padding: 10px;
    }

    .profile_info dd {
        width: 60%;
        padding: 10px;

    }
}


.staff_list {
    margin-top: 50px;
}

.staff_list h1 {
    font-size: 22px;
    text-align: center;
    background: #1f286f;
    padding: 5px;
    font-weight: 600;
    color: #fff;
}

.staff-list ul {
    display: flex;
    gap: 3em;
    flex-wrap: wrap;
    flex-direction: row;
    margin-top: 50px;
    justify-content: center;
}



.staff-list ul li {
    width: 10%;
    display: flex;
    align-items: flex-end;
    text-align: center;
    justify-content: space-evenly;
}

.staff-list ul li img {
    /* height: 150px; */
    margin: 0 auto;
    /* width: 100%; */
}

.staff-list ul li img.lbl_click {
    width: 60px !important;
    height: 60px !important;
    position: relative;
    left: 70%;
    top: 10px;
}




.staff-list h2.name_set {
    font-size: 16px;
    text-align: center;
    line-height: 2;
    margin-top: 10px;
    font-weight: 600;
    color: #1f286f;
    background: #fac03d;
    border-radius: 1em;
    border: 2px solid #1f286f;
}

.staff_page {
    display: block !important;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto
}




@media only screen and (max-width: 600px) {

    .staff-list ul {
        display: flex;
        gap: 0.5em;
    }



    .staff-list ul li {
        width: 22%;
        display: flex;
        align-items: flex-end;
        text-align: center;
        justify-content: space-evenly;
    }


    .staff-list h2.name_set {
        font-size: 12px;
    }

}



#contact {
    background: #fff;
    padding: 10px;
    padding: 10px 0;
    max-width: 1000px;
    margin: 0 auto;
}

#contact .tell-contact {
    text-align: center;
}

#contact .tell-contact h3 {
    line-height: 1.5;
}

#contact .tell-contact a {
    font-size: 20px;
}

#contact .tell-contact .item {
    margin-top: 30px;
}

#contact .form {
    padding-bottom: 70px;
}

#contact .form .inner {
    max-width: 1000px;
    font-size: 20px;
    /* border: 1px solid #ddd; */
}

#contact .form-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    border-bottom: 1px solid #ddd;
    padding: 10px;
}


#contact .form-item dt {
    width: 30%;
    padding: 10px;
    font-size: 16px;
}

#contact .form-item dd {
    width: 70%;
}

#contact .form-item dd p {
    display: flex
}

@media only screen and (max-width: 600px) {

    #contact .form-item {
        display: flex;
        flex-direction: column;
    }


    #contact .form-item dd {
        width: 100%;
    }


    #contact .form-item dt {
        width: 100%;
        padding: 10px;
        font-size: 16px;
    }




}





#contact .form-item input,
#contact .form-item textarea {
    /* width: 90%; */
    font-size: 16px;
    padding: 10px;
    border: 1px solid #ddd;
    background: #eee;
}



#contact .form-item input {
    width: 100%;
    font-size: 16px;
    padding: 10px;
    border: 1px solid #ddd;
    background: #eee;
}


#contact .form-item input[type="checkbox"] {
    width: 15px;
    height: 15px;
}




#contact .form-item textarea {
    resize: vertical;
    border: 1px solid #ddd;
}

#contact .btn_cf7 {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
}

#contact .form-item input.short-input {
    width: 60%;
    font-size: 16px;
    padding: 10px;
    border: 1px solid #ddd;
    background: #eee;
}

/* group */



.sec_group {
    /* background: #e1f3fb; */
    /* max-width: 1100px; */
    margin: 0px auto;
    border-radius: 1em;
    padding: 10px 30px;
    width: 95%;
}


@media screen and (max-width: 767px) {
    .sec_group {
        border-radius: 0.5em;
        padding: 10px 10px;
        width: 95%;
    }
}

@media screen and (max-width: 600px) {
    .sec_group {
        border-radius: 0.5em;
        padding: 10px 5px;
        width: 98%;
    }
}


.group-area_g {
    margin-top: 100px;
    margin-bottom: 100px;
    max-width: 1280px;
    margin: 100px auto 100px;
}

.group-area_g .wrap {
    display: flex;
    gap: 2em;
    justify-content: center;
}

.group-area_g .group_box {
    width: 25%;
    text-align: center;
}


@media screen and (max-width: 768px) {

    .group-area_g {
        max-width: 98%;
        margin-top: 50px;
    }



    .group-area_g .wrap {
        display: flex;
        gap: 1em;
        display: flex;
        flex-wrap: wrap;
    }

    .group-area_g .group_box {
        width: 48%;
        text-align: center;
    }
}




.group-area_g .group_box .imgset {}

.group-area_g .group_box .imgset img {
    width: 80%
}

.group-area_g .group_box h2 {
    color: #1f286f;
    line-height: 2;
    font-weight: 600;
}

.group-area_g .group_box h2 {
    margin-bottom: 15px;
    text-align: center;
    line-height: 1;
}

.group-area_g .group_box h2::after {
    content: '';
    display: block;
    width: 80%;
    height: 2px;
    background-color: #1a2c74;
    position: relative;
    bottom: -5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: linear-gradient(90deg, rgba(217, 247, 210, 0.03405112044817926) 0%, rgb(23 67 138) 50%, rgba(2, 118, 187, 1) 50%, rgba(208, 230, 244, 0.07) 100%);
}

.group-area_g .group_box h3 {
    font-size: 0.8em;
    line-height: 1.3;
    height: 30px;
}



.arrow-link_a {
    position: relative;
    display: inline-block;
    color: #0066cc;
    text-decoration: none;
    font-weight: bold;
    padding-bottom: 4px;
    transition: color 0.3s;
    /* border-bottom: 2px solid; */
}

.arrow-link_a::after {
    content: "→";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    width: 0;
    overflow: hidden;
    color: transparent;
    /* 表示上矢印本体は見せない */
    background: linear-gradient(to right, #14357b, #a86ee5);
    transition: width 0.4s ease-out;
}

.arrow-link_a:hover::after {
    width: 100%;
}

.arrow-link_a:hover {
    color: #004499;
}





/* voice */


#office .box_flex {
    margin-bottom: 80px;
}


#office .box_flex h3 {
    color: #3f2e16;
    font-weight: bold;
    font-size: 1.4rem;
    padding: 0 30px 12px 14px;
    border-bottom: 3px solid #1f286f;
    display: inline-block;
    line-height: 1.3;
    margin-top: 20px;
}

#office .box_flex h3:before {
    content: '\f3c9';
    content: '\f02e';
    font-family: 'Font Awesome 6 pro';
    padding-right: 5px;
    color: #1f286f;
    font-size: 1.2em
}



.sec_voice {
    /* background: #e1f3fb; */
    max-width: 1100px;
    margin: 0px auto;
    border-radius: 1em;
    padding: 10px 30px;
    width: 95%;
}


@media screen and (max-width: 767px) {
    .sec_voice {
        border-radius: 0.5em;
        padding: 10px 10px;
        width: 95%;
    }
}




.second .box_flex {
    justify-content: flex-start;
}

.second .box_flex .cnt.text {
    display: block;
    width: 80%;
}

.voice_flex {
    display: flex;
}

.voice_flex a {
    color: #333;
}




.interview_box {
    position: relative;
    margin-bottom: 100px;
}


.title_dan_r {
    background: #1f286f;
    padding: 0.5em 1em;
    font-weight: 600;
    position: absolute;
    right: 50px;
    border-radius: 3em;
    color: #fff;
    top: 5px;
    z-index: 1;
    font-size: 1rem;
}

.title_dan_l {
    background: #1f286f;
    padding: 0.5em 1em;
    font-weight: 600;
    position: absolute;
    left: 50px;
    border-radius: 3em;
    color: #fff;
    top: 5px;
    z-index: 1;
    font-size: 1rem;
}

@media screen and (max-width: 600px) {

    .title_dan_r {
        top: 5px;
        right: 20px;
    }

    .title_dan_l {
        left: 20px;
        top: 5px;
    }
}






.icon_dan_r img {
    padding: 1em;
    position: absolute;
    right: -76px;
    bottom: -60px;
    width: 120px;
    z-index: 1;
}


.icon_dan_l img {
    padding: 1em;
    position: absolute;
    left: -76px;
    bottom: -60px;
    width: 120px;
    z-index: 1;
}

@media screen and (max-width: 600px) {
    .icon_dan_r img {
        padding: 1em;
        position: absolute;
        right: -36px;
        bottom: -60px;
        width: 110px;
        z-index: 1;
    }


    .icon_dan_l img {
        padding: 1em;
        position: absolute;
        left: -26px;
        bottom: -80px;
        width: 110px;
        z-index: 1;
    }
}


.qa_Area {
    display: -webkit-flex;
    display: flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.qa_Box {
    flex-wrap: wrap;
    padding: 1.5em 3em;
    margin: 1em 0.5% 1em;
    border-radius: 1.5em;
    position: relative;


}


.qa_Box_bg01 {
    background: #fac03d;
    position: relative;
    /* background: #f0f0f0; */
    border-radius: 12px;
    padding: 1.5em;
    /* max-width: 300px; */
    margin: 2em;
}

.qa_Box_bg01::after {
    content: "";
    position: absolute;
    right: 80px;
    bottom: -20px;
    width: 50px;
    height: 50px;
    transform: rotate(5deg);
    background-image: url('../../../common/img/voice/arrow_o.png');
    background-size: cover;
    background-repeat: no-repeat;
}


.qa_Box_bg04 {
    background: #dae24a;
    position: relative;
    /* background: #f0f0f0; */
    border-radius: 12px;
    padding: 1.5em;
    /* max-width: 300px; */
    margin: 2em;
}

.qa_Box_bg04::after {
    content: "";
    position: absolute;
    left: 80px;
    bottom: -20px;
    width: 50px;
    height: 50px;
    transform: rotate(5deg);
    background-image: url('../../../common/img/voice/arrow_g.png');
    background-size: cover;
    background-repeat: no-repeat;
}






.qa_Box_bg02 {
    background: #ffebeb;
}

.qa_Box_bg03 {
    background: #d4fbff;
}

/* .qa_Box_bg04 {
    background: #dae24a;
}
 */
.pla_col_1 {
    width: 100%;
}

.pla_col_2 {
    width: 48%;
}

.pla_col_3 {
    width: 32%;
}

.qa_Box .index_timg {
    object-fit: cover;
}


@media screen and (max-width: 600px) {

    .qa_Box {
        flex-wrap: wrap;
        padding: 1.5em 1em;
        margin: 1em 0.5% 1em;
        /* border-radius: 0 4em 1.5em; */
        position: relative;
    }



    .title_dan {
        top: -20px;
        z-index: 1;
        font-size: 1rem;
    }


    .pla_col_2 {
        width: 100%;
    }

    .pla_col_3 {
        width: 100%;
    }
}


.txt_q {
    /* font-size: 1.2rem; */
    /* border-bottom: 1px solid #ddd; */
    /* line-height: 1.8; */
    /* padding-bottom: 10px; */
    /* font-weight: 600; */
}

@media screen and (max-width: 600px) {
    .txt_q {
        font-size: 1.1rem;
    }
}



.txt_q span {
    /* content:'Ã¤Âºâ€¹Ã¥â€¹â„¢Ã¥Â±â‚¬'; */
    /* 	border:1px solid #ddd; */
    /* padding:5px 10px; */
    /* color:#fff; */
    /* background:#3c763d; */
    /* border-radius:1em; */
}



.txt_q .facebookBtn:before {
    content: "\e741";
    color: #3765a3;
}


.txt_a {
    line-height: 2;
    padding-top: 0.5em;
}

@media screen and (max-width: 600px) {
    .txt_a {
        line-height: 1.8;
        padding-bottom: 3em;
    }
}

.txt_a img {}

.txt_a img,
.txt_q img {
    position: absolute;
    /* max-height: 130px; */
    width: auto;
    /* bottom: 0;
    right: 0; */
    transition: transform 1s ease-in-out;
}

.img_setA {
    bottom: 0;
    right: 0;
    max-height: 130px;
}

.img_setB {
    top: 10px;
    right: 15px;
    max-width: 200px;
}

.img_setC {
    top: 0;
    right: 1em;
    max-width: 60px;
}

.img_setD {
    bottom: 0;
    right: 0;
}

@media screen and (max-width: 600px) {
    .img_setA {
        bottom: 0;
        right: 0;
        max-height: 80px;
    }

    .img_setB {
        bottom: 0 !important;
        right: 15px;
        max-width: 200px;
        top: auto;
    }

    .img_setC {
        bottom: 0;
        right: 0;
    }

    .img_setD {
        bottom: 0;
        right: 0;
    }
}


.inview_fx {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.line_b {
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd
}



/* staff */

.staff_area {
    margin-bottom: 50px
}

.staff_area h2 {
    font-size: 1.4em;
    line-height: 2;
    margin-bottom: 0px;
    color: #1d2088;
    font-weight: 600;
    text-align: center;
}

.staff_area h2:after {
    display: none
}



.staff_area h3 {
    font-size: 1em;
    background: #1f286f;
    background: linear-gradient(to right, #1f286f 0%, #1f286f 85%, #ffffff 100%);
    background: linear-gradient(to right, #1f286f 0%, #0a1678 83%, #ffffff 100%);
    color: #fff;
    line-height: 2.5;
    width: 50%;
    margin: 0 auto;
    text-align: center;
}


@media screen and (max-width: 600px) {
    .staff_area h3 {
        width: 80%;
    }
}




.staff_box {}

.staff_box .wrap {
    display: flex;
    max-width: 1000px;
    gap: 2em;
    justify-content: center;
    margin-bottom: 50px;
}

.staff_box .wrap .s_box_a,
.staff_box .wrap .s_box_b,
.staff_box .wrap .s_box_c {
    width: 120px;
    text-align: center;
}

.staff_box .wrap .s_box_a img,
.staff_box .wrap .s_box_b img,
.staff_box .wrap .s_box_c img {
    /* height: 200px; */
    margin: 0 auto;
    width: 110px;
}



.staff_box .wrap .s_box_a h3,
.staff_box .wrap .s_box_b h3,
.staff_box .wrap .s_box_c h3 {
    background: #fac03d;
    border-bottom: 3px solid #1f286f;
    font-weight: 600;
    color: #1f286f;
    width: 100%;
}




@media screen and (max-width: 600px) {
    .staff_box .wrap {
        display: flex;
        /* max-width: 800px; */
        gap: 0.5em;
        justify-content: center;
        margin-bottom: 50px;
        /* flex-direction: row; */
        /* flex-wrap: nowrap; */
        flex-wrap: wrap;
        border-bottom: 1px solid #eee;
        padding-bottom: 30px;
    }


    .staff_box .wrap .s_box_a {
        width: 30%;
        text-align: center;
    }


    .staff_box .wrap .s_box_b {
        width: 25%;
        text-align: center;
    }

    .staff_box .wrap .s_box_c {
        width: 22%;
        text-align: center;
    }

    .staff_box .wrap .s_box_a img,
    .staff_box .wrap .s_box_b img,
    .staff_box .wrap .s_box_c img {
        /* height: 200px; */
        margin: 0 auto;
        width: 70px;
    }


    .staff_box .wrap .s_box_a h3,
    .staff_box .wrap .s_box_b h3,
    .staff_box .wrap .s_box_c h3 {
        font-size: 0.8em;
        line-height: 2;
        width: 6em;
        margin: 0 auto;
    }

}





/* -----------------------------------------------------------

staff-popup
   ----------------------------------------------------------- */
#inline_1,
#inline_2,
#inline_3,
#inline_4,
#inline_5,
#inline_6,
#inline_7,
#inline_8,
#inline_9,
#inline_10,
#inline_11,
#inline_12,
#inline_13,
#inline_14,
#inline_15,
#inline_16,
#inline_17,
#inline_139 {
    overflow: auto;
    background: #fefefe;
    padding: 20px 5.5%;
    width: 970px;
    max-width: 100%;
    background: #f9e5bd;
    border-radius: 2em;
}

.Area_set {
    position: relative;
    height: 450px;
}

.setImg {
    position: absolute;
    width: 40%;
    top: 5px;
    left: 10px;
}

.setTxt {
    position: absolute;
    background: #fff;
    width: 80%;
    bottom: 20px;
    left: 22%;
    padding: 18px;
    border-radius: 1em;
}

.setCaption {
    position: absolute;
    width: 50%;
    top: 30px;
    left: 50%;
    font-weight: 600;
    font-size: 1.1em;
    padding: 10px;
}



@media screen and (max-width: 600px) {
    .Area_set {
        position: relative;
        height: 80vh;
        position: static;
    }

    .setImg {
        width: 100%;
        position: static;
    }

    .setImg img {
        width: 90%;
        margin: 0 5% 10px;
    }


    .setTxt {
        position: static;
        background: #fff;
        width: 100%;
        bottom: 20px;
        left: 0;
        padding: 18px;
        border-radius: 1em;
    }

    .setCaption {
        position: static;
        width: 100%;
        font-weight: 600;
        /* font-size: 1.1em; */
        /* padding: 10px; */
    }
}



.definition-list {
    /* max-width: 600px; */
    /* margin: 2em auto; */
    /* padding: 1em; */
    /* border-left: 4px solid #0d6efd; */
    background-color: #fff;
    font-family: "Helvetica Neue", sans-serif;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    /* gap: 0.5em; */
    row-gap: 0.5em;
}

.definition-list dt {
    font-weight: bold;
    color: #fff;
    /* margin-top: 1.2em; */
    font-size: 0.9em;
    width: 20%;
    padding: 5px 8px;
    background: #8f82bc;
    /* border-bottom: 2px solid #928178; */
    /* background-color: teal; */
    border: 2px solid #928178;
    /* clip-path: polygon(10% 10%, 100% 100%, 56% 100%); */
    border-radius: 0.5em 2.2em 0.1em 0.3em;
}

.definition-list dd {
    /* margin-left: 1em; */
    /* margin-bottom: 0.8em; */
    color: #333;
    font-size: 0.9em;
    line-height: 1.2;
    width: 80%;
    border-bottom: 2px solid #928178;
    padding-left: 10px;
}

@media screen and (max-width: 600px) {


    .definition-list {
        /* background-color: #f9f9f9; */
        font-family: "Helvetica Neue", sans-serif;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        row-gap: 0.5em;
    }

    .definition-list dt {
        font-weight: bold;
        color: #fff;
        font-size: 0.9em;
        width: 9em;
        padding: 5px 8px;
        background: #8f82bc;
        border: 2px solid #928178;
        border-radius: 0.5em 2.2em 0.1em 0.3em;
    }

    .definition-list dd {
        color: #333;
        font-size: 0.9em;
        line-height: 1.3;
        width: calc(100% - 10em);
        border-bottom: 2px solid #928178;
        padding-left: 10px;
    }



}

/* ======== table.tableOther ======== */
table.company {
    border-collapse: collapse;
    text-align: left;
    letter-spacing: 1px;
    line-height: 2;
    width: 100%;
    color: #000;
}

table.company tr {
    font-size: 1.5rem;
    border-bottom: 2px solid #928178;
}

table.company th {
    width: 20%;
    padding: 5px;
    vertical-align: 0;
    /* border: #ddd 1px solid; */
    /* border-right: #ddd 1px dashed; */
    /* border-right: #ddd 1px solid; */
    background: #8f82bc;
    color: #fff;
    line-height: 1.2;
}

table.company td {
    padding: 5px;
    vertical-align: 0;
    /* border: #ddd 1px solid; */
    border-left: none;
    width: 50%;
    line-height: 1;
}

table.company td .linkArea {
    margin-top: 10px;
    text-align: left;
}

table.company td .linkArea a.btn {
    margin: 0;
}

@media only screen and (max-width: 950px) {
    table.company th {
        width: 50%;
        /* padding: 20px; */
    }

    table.company td {
        padding: 10px;
    }
}

@media only screen and (max-width: 800px) {
    table.company {
        font-size: 13px;
    }
}

@media only screen and (max-width: 738px) {
    table.company {
        /* font-size:12px; */
    }

    /*	#map_canvas { display:none; }*/
}

@media only screen and (max-width: 600px) {
    table.company th {
        width: 50%;
        padding: 10px;
    }

    table.company td {
        padding: 10px;
    }
}


.custom-shape {
    /* width: 300px; */
    /* height: 200px; */
    /* background-color: #59c; */

    clip-path: polygon(0% 0%,
            /* 左上（90°） */
            85% 15%,
            /* 右上（鋭角 110°） → 横に伸ばしつつ、少し下へ */
            100% 100%,
            /* 右下（90°） */
            0% 100%
            /* 左下（90°） */
        );
}






/* --- .profileArea --- */
.profileArea {}

/* .profileLeft */
.profileLeft {
    float: left;
    width: 30%;
}

.profileLeft h4 {
    font-size: 15px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 600;
    letter-spacing: 1.5px;
    line-height: 1.7;
    text-align: left;
    border-bottom: 1px solid #ddd;
}


.profileLeft img {
    width: 100%;
    margin: 0 auto;
    /* -webkit-border-radius: 100%; */
    -moz-border-radius: 100%;
    /* border-radius: 100%; */
}

.profileLeft ul {
    font-size: 15px;
    line-height: 1.5
}

.profileLeft p {
    font-size: 14px;
    line-height: 1.5;
}

/* .profileRight */
.profileRight {
    float: right;
    width: 62.5%;
}

.profileRight h4 {
    font-size: 13px;
    font-family: 'Catamaran', sans-serif;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 1.7;
}

.profileRight h3 {
    display: inline-block;
    position: relative;
    z-index: 1;
}

.profileRight h3.en {
    margin-top: 10px;
    font-size: 17px;
    /* font-family: 'Catamaran', sans-serif; */
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1;
    vertical-align: 0;
}

.profileRight h3.jp {
    margin-top: 5px;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 3px;
    vertical-align: 0;
}

.profileRight h3.jp:before {
    content: "/";
    margin: 0 8px 0 10px;
}

/* .txtArea */
.profileRight .txtArea {
    margin-top: 10px;
    font-size: 15px;
    line-height: 2;
}

/* .commentArea */
.profileRight .commentArea {
    margin-top: 15px;
    padding: 10px 15px 10px 20px;
    position: relative;
    z-index: 1;
}

.profileRight .commentArea:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    content: "";
    border-top: #d00e00 1px solid;
    border-left: #d00e00 1px solid;
    z-index: -1;
}

.profileRight .commentArea:after {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 15px;
    height: 15px;
    content: "";
    border-bottom: #d00e00 1px solid;
    border-right: #d00e00 1px solid;
    z-index: -1;
}

.profileRight .commentArea p:before {
    content: "\f140";
    font-family: 'FontAwesome';
    padding-right: 10px;
}


/* .snsArea */
.profileRight .snsArea {
    display: block;
    vertical-align: 0;
    margin-top: 5px;
}

.profileRight .snsArea ul {
    list-style: none;
    font-size: 0;
}

.profileRight .snsArea ul li {
    display: inline-block;
    margin: 0 5px 0 0;
}

.profileRight .snsArea ul li a {
    display: block;
    width: auto;
    padding: 0 15px 0 33px;
    height: 40px;
    line-height: 40px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    position: relative;
    z-index: 1;
    text-align: center;
    /* -webkit-border-radius: 25px; */
    -moz-border-radius: 25px;
    border-radius: 25px;
    border: 1px solid #FFC107;
    background: #FFC107;
    text-decoration: none;
}

.profileRight .snsArea ul li a:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;
    font-size: 15px;
    font-family: 'themify';
    font-weight: normal;
    color: #fff;
}

.profileRight .snsArea ul li a:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    /* border: #ddd 1px solid; */
    z-index: -1;
    /* -webkit-border-radius: 25px; */
    -moz-border-radius: 25px;
    /* border-radius: 25px; */
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.profileRight .snsArea ul li a.instagramBtn:before {
    content: "\e60d";
}

/* .profileRight .snsArea ul li a:hover { color:#000000; background:#f1f1f1;} */
/* .profileRight .snsArea ul li a:hover:after { border:#cecfcf 1px solid;} */
.profileRight .snsArea ul li a: {}

@media only screen and (max-width: 800px) {

    #inline_1,
    #inline_2,
    #inline_3,
    #inline_4,
    #inline_5,
    #inline_6,
    #inline_7,
    #inline_8,
    #inline_9,
    #inline_10,
    #inline_11,
    #inline_12,
    #inline_13,
    #inline_14,
    #inline_15,
    #inline_16,
    #inline_17,
    #inline_21 {
        overflow: scroll;
        -webkit-overflow-scrolling: touch
    }
}







.privacy_wrap {
    /* position: relative; */
    /* margin: 20px 0 0; */
    padding: 10px;
    /* background: #f2f2f2; */
    /* border-radius: 20px; */
}

@media only screen and (max-width: 600px) {
    .privacy_wrap {
        padding: 10px;
    }
}



h1+.privacy_wrap {
    margin-top: 80px
}

.privacy_wrap:after {
    content: "";
    display: block;
    position: absolute;
    top: -50px;
    left: 25px;
    width: 70px;
    height: 50px;
    background: url("../imgs/pic_04.svg") no-repeat 50% 100%/70px auto
}

.privacy_text h1 {
    margin: 20px 0 20px 0;
    font-size: 20px;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}

.privacy_text h2 {
    margin: 30px 0 20px 0;
    padding: 3px 0 3px 0;
    font-size: 18px;
    /* border-left: 3px solid #aaa; */
    counter-increment: x;
    counter-reset: y;



    &:before {
        content: "" counter(x)" . ";
    }
}



.privacy_text .g-laySecTyp01 h2 {
    margin: 0 0 30px 0;
    padding: 0;
    border-left: none
}

.privacy_text p {
    padding-left: 1em;

}



.privacy_text p.tR {
    margin: 60px 0 0 0;
    text-align: right
}

.privacy_text ol {
    margin: 20px 0 20px 20px;
}

@media only screen and (max-width: 600px) {
    .privacy_text ol {
        margin: 20px 0 0 10px;
    }

    .privacy_text p {
        padding-right: 1em;

    }

}

.privacy_text ul {
    margin: 20px 0 0 30px
}

.privacy_text td ul {
    margin: 0
}

.privacy_text ol li {
    Q position: relative;
    list-style: outside decimal;
    /* padding: 0 0 0 5px; */
    /* list-style: disc; */
    margin-left: 2.4em;
    /* list-style-type: lower-latin; */
}

.privacy_text ol li::marker {
    font-size: 130%;
    font-weight: 700;
    color: #4d4d4d;
}

.privacy_text ol li ol {
    padding: 20px 0 0 20px
}

.privacy_text ol.kakkoNum {
    counter-reset: listNum
}

.privacy_text ol.kakkoNum li {
    list-style: none;
    margin-left: 1.5rem
}

.privacy_text ol.kakkoNum li+li {
    margin-top: 2rem
}

.privacy_text li ol.kakkoNum li+li {
    margin-top: 1rem
}

.privacy_text ol.kakkoNum>li:before {
    display: block;
    position: absolute;
    top: -0.2rem;
    left: -3.5rem;
    width: 3.5rem;
    counter-increment: listNum;
    content: "（" counter(listNum) "）";
    font-size: 130%;
    font-weight: 700;
    color: #5db5bd
}

.privacy_text ol.kakkoNum li dt {
    margin-bottom: 0.3rem;
    font-size: 1.2rem
}

.privacy_text ol.kakkoNum li dl+p {
    margin-top: 1.5rem
}

.privacy_text ol.reStart2 {
    counter-reset: listNum 1
}

.privacy_text ol.reStart3 {
    counter-reset: listNum 2
}

.privacy_text ol.reStart4 {
    counter-reset: listNum 3
}

.privacy_text ol.reStart5 {
    counter-reset: listNum 4
}

.privacy_text ol.layLiTypIroha>li {
    list-style: outside katakana-iroha
}

.privacy_text li ol.layLiTypIroha li+li {
    margin-top: 1rem
}



ol {
    list-style-type: decimal;
}

ol.listA li {
    list-style-type: upper-latin;
}

ol.listB li {
    list-style-type: decimal;
}


ol.listB li {
    list-style-type: decimal;
}