@charset "UTF-8";

/*---------------------------------------------------------
Reset
---------------------------------------------------------*/

html {
    /*overflow-x: hidden;*/
    scroll-behavior: smooth;
}

body {
    /*overflow-x: hidden;*/
}

html,
body,
div,
article,
section,
main,
h1,
h2,
h3,
h4,
h5,
h6,
dl,
dt,
dd,
ul,
ol,
li,
pre,
form,
input,
textarea,
address,
nav,
table,
th,
td,
a,
p,
img,
figure,
span,
em,
small {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

small {
    font-size: 12px;
    line-height: 1.2;
}

main {
    display: block;
}

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

table {
    border-collapse: collapse;
}

img {
    border: none;
}

a {
    text-decoration: none;
}

a,
button {
    outline: none;
}

a:focus,
button:focus {
    outline: none;
}

.mt4 {
    margin-top: 4px !important;
}

.mt8 {
    margin-top: 8px !important;
}

.mt16 {
    margin-top: 16px !important;
}

.mt24 {
    margin-top: 24px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mb40 {
    margin-bottom: 40px;
}

.bold {
    font-weight: bold;
}

.res-pc {
    display: block !important;
}

.res-sp {
    display: none !important;
}

.widthSp {
    width: calc(100% - 48px);
    margin: 40px auto;
}

.center {
    text-align: center !important;
}

.center_margin {
    margin: 0 auto;
}

.bold {
    font-weight: bold;
}

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

    .res-sp {
        display: block !important;
    }

    .widthSp {
        margin: 16px auto;
    }
}


/*---------------------------------------------------------
font
---------------------------------------------------------*/


/*---------------------------------------------------------
common
---------------------------------------------------------*/

html {
    font-size: 62.5%;
}

@media only screen and (min-width: 320px) and (max-width: 414px) {
    html {
        font-size: 2.41546vw;
    }
}

@media screen and (min-width: 768px) and (max-width: 1240px) {
    html {
        font-size: 0.80645vw;
    }
}

body {
    margin: inherit;
    font-size: 14px;
    font-family: "Noto Sans JP", serif;
    color: #151B28;
    line-height: 24px;
    letter-spacing: 0.04em;
    min-width: 320px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    word-break: break-word;
    font-weight: 500;
    position: relative;
    /*overflow: hidden;*/
}

@media only screen and (max-width: 959px) {
    body {
        margin: inherit;
        font-size: 1.3rem;
        color: #3B3B3B;
        line-height: 1.7;
        letter-spacing: 0.04em;
    }
}

img {
    width: 100%;
    vertical-align: bottom;
}

a {
    color: #fff;
    text-decoration: none;
    -webkit-transition-duration: 0.4s;
    -o-transition-duration: 0.4s;
    transition-duration: 0.4s;
}

a:hover {}

.underline {
    text-decoration: underline;
}

.underline:hover {
    text-decoration: none;
}

.bgwhite {
    background: #fff;
    border-radius: 16px;
    padding: 40px;
}

@media only screen and (max-width: 959px) {
    .bgwhite {
        padding: 24px;
    }
}


/*---------------------------------------------------------
header
---------------------------------------------------------*/

.hd {
    width: 100%;
    background: linear-gradient(#000 0%, rgba(0, 0, 0, 0) 100%);
    text-align: center;
    position: fixed;
    padding: 24px 0;
    z-index: 50;
}

.hd img {
    width: 168px;
}

.button {
    text-align: center;
}

.button a {
    position: relative;
    display: inline-block;
    padding: 16px;
    color: #063a88;
    font-size: 18px;
    line-height: 1.3em;
    text-decoration: none;
    transition: 0.4s;
    font-weight: bold;
    z-index: 1;
    width: 340px;
}

.buttonpage a {
    padding: 24px;
    font-size: 20px;
    background-color: #FFFF00;
    text-align: center;
}

.button a:hover {
    background: #111;
    opacity: 1 !important;
    transition: 0.4s;
    background-color: #EAB52C;
}

.link-box {
    margin-top: 70px;
}

*,
*:before,
*:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 62.5%;
    /*rem算出をしやすくするために*/
}

.btn,
a.btn,
button.btn {
    font-family: "Cormorant Garamond", serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    color: #fff;
    border-radius: 0.5rem;
    color: #fff;
}

a.btn-border {
    border-radius: 0;
}

a.btn-border:after {
    position: absolute;
    width: 100%;
    height: 1px;
    content: '';
    -webkit-transition: all .3s;
    transition: all .3s;
    background: #fff;
}

a.btn-border:after {
    right: 0;
    bottom: 0;
}

a.btn-border:hover:before,
a.btn-border:hover:after {
    width: 0;
}

@media screen and (max-width: 959px) {
    .hd {
        padding: 16px 0;
    }

    .hd img {
        width: 120px;
    }

    .mv {
        position: relative;
    }

    .mv .txbox {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 1;
        color: #fff;
        text-align: center;
        width: 100%;
    }

    .mv .txbox h1 {
        width: 88%;
        text-align: center;
        margin: 0 auto;
    }

    .mv .btnbox {
        position: fixed;
        bottom: 0;
        right: 0;
    }

    .mv .btnbox a img {
        width: 150px;
    }

    .buttonpage a {
        padding: 16px;
        font-size: 18px;
    }

    .button a {
        width: 280px;
    }

    .link-box {
        margin-top: 50px;
        margin-bottom: 50px;
    }

    .link-box-secoundary {
        margin: 60px auto 0px;
    }
}

@media screen and (max-width: 490px) {
    .link-box {
        margin: 15px auto;
    }

    .link-box-secoundary {
        margin: 60px auto 0px;
    }
}


/*---------------------------------------------------------
nav
---------------------------------------------------------*/

.nav {
    background-color: #fff;
    /* padding: 3% 0px; */
    border-top: #0A2464 30px solid;
    border-bottom: #0A2464 30px solid;
    margin-top: 0px;
}

.nav-wrapper {
    /* max-width: 1900px; */
    margin: 0 auto;
}

.nav-list {
    max-width: 1900px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin: 0 auto;
    padding: 1.1% 0px;
    background-color: #fff;
}

.nav-item {
    /* display: inline-block; */
    width: 12%;
}

.nav-link {
    display: block;
    display: flex;
    justify-content: center;
    background-color: #fff;
    color: #0A2464;
    text-align: center;
    align-items: center;
    padding: 5% 1.5%;
    font-size: min(1.9vw, 18px);
    font-weight: bold;
    height: 60px;
}

.nav-link:hover {
    background-color: #0A2464;
    color: #fff;
    border: #0A2464 2px solid;
    transition: .25s;
}

.floating-banner {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #ffffff85;
    border: #074097 solid 1.5px;
    border-radius: 30px;
    width: 25%;
    z-index: 1000;
}

.floating-link {
    display: block;
    color: #074097;
    font-size: min(2vw, 18px);
    font-weight: bold;
    padding: 2.8% 1.2%;
    text-align: center;
}

.floating-banner:hover {
    opacity: 0.7;
}

@media screen and (max-width: 600px) {
    .nav {
        border-top: #0A2464 18px solid;
        border-bottom: #0A2464 18px solid;
    }

    .nav-wrapper {
        width: 91%;
    }

    .nav-list {
        flex-wrap: wrap;
        padding: 1.3% 0px 2%;
    }

    .nav-item {
        /* display: inline-block; */
        width: 23.3%;
    }

    .nav-link {
        padding: 3% 0.5%;
        font-size: min(2.7vw, 18px);
        height: 35px;
        border-bottom: #0A2464 2px solid;
    }

    .floating-banner {
        width: 28%;
    }

    .floating-link {
        font-size: min(2.6vw, 18px);
        padding: 2.8% 1.2%;
    }
}




/*---------------------------------------------------------
title
---------------------------------------------------------*/

h2.entitle {
    font-family: "Teko", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 120px;
    line-height: 140px;
    text-align: center;
    color: #fff;
}

h2.entitle span {
    display: block;
    font-family: "Noto Sans JP", serif;
    font-weight: bold;
    font-size: 20px;
    line-height: 24px;
    text-align: center;
    color: #fff;
}

h2.title span {
    background: #fff;
    padding: 4px;
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 0.04em;
    line-height: 56px;
    text-align: left;
    color: #0a2564;
    display: inline-block;
    margin-bottom: 8px;
}

h2.title2 {
    font-weight: bold;
    font-size: 48px;
    letter-spacing: 0.04em;
    line-height: 67px;
    text-align: left;
    color: #00030b;
}

h2.title2 small {
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0.04em;
    line-height: 56px;
    text-align: center;
}

h2.title2 .yellow {
    color: #2B68EF;
}

h2.title_under {
    font-weight: bold;
    font-size: 28px;
    letter-spacing: 0.04em;
    line-height: 37px;
    text-align: left !important;
    color: #0a2464;
    padding-bottom: 16px;
    border-bottom: 2px solid #0A2464;
}

h2.title_under span {
    font-family: "Teko", serif;
    font-weight: normal;
    font-size: 18px;
    line-height: 18px;
    text-align: left;
    color: #0a2464;
    padding-left: 8px;
}

h3.title {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.04em;
    line-height: 24px;
    text-align: left;
    color: #00030b;
}

h3.title_bar span {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.04em;
    line-height: 28px;
    text-align: left;
    color: #0a2464;
    display: inline-block;
    border-bottom: 4px solid #0A2464;
}

@media screen and (max-width: 959px) {
    h2.entitle {
        font-size: 80px;
        line-height: 80px;
    }

    h2.entitle span {
        font-size: 16px;
        line-height: 20px;
    }

    h2.title span {
        padding: 2px;
        font-size: 18px;
        line-height: 28px;
        margin-bottom: 4px;
    }

    h2.title2 {
        font-size: 24px;
        line-height: 32px;
    }

    h2.title2 small {
        font-size: 18px;
        line-height: 24px;
    }

    h2.title_under {
        font-size: 20px;
        line-height: 32px;
        padding-bottom: 8px;
    }

    h2.title_under span {
        font-size: 14px;
        line-height: 14px;
    }

    h3.title {
        font-size: 18px;
        line-height: 24px;
    }

    h3.title_bar span {
        font-size: 18px;
        line-height: 32px;
        border-bottom: 2px solid #0A2464;
    }
}


/*---------------------------------------------------------
nayami
---------------------------------------------------------*/

.nayami {
    padding: 120px 0;
    background: url("../img/bg_nayami@2x.png") no-repeat center center;
    background-size: cover;
    position: relative;
    z-index: 1;
}

.nayami p {
    text-align: center;
}

.img_nayami {
    width: 960px;
    margin: 0 auto;
    text-align: center;
}

@media only screen and (max-width: 959px) {
    .nayami {
        padding: 80px 0;
        background-size: cover;
    }

    .nayami p {
        text-align: center;
    }

    .img_nayami {
        width: 70%;
    }
}


/*---------------------------------------------------------
kaiketsu
---------------------------------------------------------*/

.kaiketsu {
    background-color: #fff;
    background-size: cover;
    background-repeat: no-repeat;
}

.kaiketsu h2 {
    text-align: center;
    margin-top: 40px;
}

.whitebox {
    width: 960px;
    margin: 40px auto 70px;
    background: #fff;
}

.whiteboxin {
    padding: 0;
    width: 960px;
    margin: 0 auto;
}

.logo_a {
    text-align: center;
}

.logo_a img {
    width: 280px;
}

.machinebox100 {
    width: 100%;
    background: #EEEEEE;
    padding: 80px 0;
}

.machinebox {
    padding: 0;
    width: 960px;
    margin: 0 auto;
}

.machinebox_2 {
    padding-top: 80px;
}

.machinebox .infoboxw {
    background: none;
}

.machineimg {
    margin-top: 16px;
    text-align: center;
    margin-bottom: 16px;
}

.machineimg img {
    width: 374px;
}

.methodbox {
    display: flex;
    align-items: center;
    margin-top: 40px;
    justify-content: flex-start;
}

.methodbox img {
    width: 244px;
    margin-right: 32px;
}

.methodbox h2 {
    text-align: left;
}

.methodbox h2 span {
    background: #0A2564;
    color: #fff;
}

.twobox {
    display: flex;
    justify-content: space-between;
    margin-top: 24px;
}

.twobox li {
    width: 48%;
}

.twobox li h3 {
    margin: 16px 0;
}

.fourboximg {
    display: flex;
    justify-content: space-between;
    margin-top: 24px;
}

.fourboximg li {
    text-align: center;
}

.fourboximg img {
    width: 224px;
}

.infobox {
    display: flex;
    background: #E3E9F1;
    align-items: center;
    margin-top: 24px;
}

.infoboxw {
    background: #fff;
}

.infobox img {
    width: 252px;
}

.infobox .txbox {
    padding: 0 24px;
}

.infobox .txbox h3 {
    margin-bottom: 8px;
    margin-top: 0;
}

.bluebgbox {
    padding: 24px 40px;
    background: #0A2564;
    margin-top: 24px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
}

.bluebgbox .bluebgbox_bt {
    font-weight: bold;
    font-size: 26px;
    letter-spacing: 0.04em;
    line-height: 36px;
    text-align: center;
    color: #fff;
    margin-top: 16px;
}

.bluebgbox .bluebgbox_bt .yellow {
    font-size: 34px;
    color: #FFFF3B;
}

.pointbox {
    width: 960px;
    margin: 40px auto 120px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.pointboxin {
    display: flex;
    background: #fff;
    width: 460px;
    align-items: center;
    margin-bottom: 16px;
}

.pointboxin img {
    width: 158px;
}

.pointboxin .txbox {
    padding: 24px;
    font-size: 16px;
}

.txbox .en {
    font-family: "Teko", serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 16px;
    text-align: left;
    color: #1b3f92;
}

.txbox .en span {
    font-size: 24px;
}

.arrowbtm {
    text-align: center;
    margin-bottom: 16px;
}

.arrowbtm img {
    width: 40px;
}

.aoobi {
    background: #0A2464;
    padding: 8px 0;
    text-align: center;
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0.04em;
    line-height: 32px;
    text-align: center;
    color: #fff;
}

.arrowbtm_small {
    text-align: center;
    line-height: 1;
}

.arrowbtm_small img {
    width: 20px;
}

.obibox {
    margin-top: 40px;
}

.obibox h3 {
    margin-top: 24px;
}

@media only screen and (max-width: 959px) {
    .kaiketsu {
        padding: 120px 0 0;
        margin-top: -100px;
    }

    .whitebox {
        width: 88%;
        margin: 24px auto 0;
    }

    .whiteboxin {
        padding: 0;
        width: 100%;
    }

    .logo_a img {
        width: 200px;
    }

    .machinebox100 {
        width: 100%;
        padding: 40px 0;
        margin-top: 40px;
    }

    .machinebox {
        padding: 0;
        width: 88%;
    }

    .machineimg {
        margin-top: 35px;
        text-align: center;
        margin-bottom: 16px;
    }

    .machineimg img {
        width: 160px;
    }

    .methodbox {
        display: block;
        align-items: center;
        margin-top: 40px;
        justify-content: space-between;
    }

    .methodbox img {
        width: 120px;
        margin: 0 auto 16px;
        display: block;
    }

    .methodbox h2 {
        text-align: left;
    }

    .methodbox h2 span {
        background: #0A2564;
        color: #fff;
    }

    .twobox {
        display: block;
        margin-top: 24px;
    }

    .twobox li {
        width: 100%;
        margin-bottom: 24px;
    }

    .twobox li h3 {
        margin: 16px 0 8px;
    }

    .fourboximg {
        display: flex;
        margin-top: 16px;
        width: 100%;
        flex-wrap: wrap;
    }

    .fourboximg li {
        width: 48%;
        margin-bottom: 16px;
        line-height: 1.4;
    }

    .fourboximg img {
        width: 100%;
    }

    .infobox {
        display: block;
        margin-top: 16px;
    }

    .infobox img {
        width: 100%;
    }

    .infobox .txbox {
        padding: 0;
        margin-top: 16px;
    }

    .infoboxblue {
        padding: 0 16px 16px !important;
        margin: 0;
    }

    .infobox .txbox h3 {
        margin-bottom: 8px;
        margin-top: 0;
    }

    .bluebgbox {
        padding: 16px;
        margin-top: 24px;
        font-size: 14px;
    }

    .bluebgbox .bluebgbox_bt {
        font-size: 16px;
        line-height: 24px;
        margin-top: 16px;
    }

    .bluebgbox .bluebgbox_bt .yellow {
        font-size: 28px;
    }

    .pointbox {
        width: 88%;
        margin: 24px auto 0;
        display: block;
    }

    .pointboxin {
        display: flex;
        width: 100%;
    }

    .pointboxin img {
        width: 110px;
    }

    .pointboxin .txbox {
        padding: 8px 12px;
        font-size: 14px;
        line-height: 1.4;
    }

    .pointboxin .txbox .en {
        font-size: 16px;
        line-height: 16px;
    }

    .pointboxin .txbox .en span {
        font-size: 16px;
    }

    .arrowbtm {
        text-align: center;
        margin-bottom: 8px;
        line-height: 1;
    }

    .arrowbtm img {
        width: 20px;
    }

    .aoobi {
        padding: 8px;
        font-size: 18px;
        line-height: 24px;
    }

    .arrowbtm_small img {
        width: 18px;
    }

    .obibox {
        margin-top: 24px;
    }

    .obibox h3 {
        margin-top: 24px;
    }
}

/*---------------------------------------------------------
HowToUse
---------------------------------------------------------*/

.HowToUse {
    width: 100%;
    height: auto;
    margin: 90px auto 90px;
    text-align: center;
}

.HowToUse>div {
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0px 3%;
    text-align: center;
    border: #063a88 3px solid;
}

.HowToUse-headline {
    color: #063a88;
    font-size: min(3.4vw, 30px);
    /* margin-top: 15px; */
    margin-bottom: 40px;
}

.HowToUse-list {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    gap: 20px;
}

.HowToUse-list.second {
    margin-top: 40px;
}

.HowToUse-list:last-child {
    margin-bottom: 40px;
}

.HowToUse-item {
    width: 46%;
}

.HowToUse-link {
    display: block;
    padding: 24px;
    font-size: min(2.1vw, 18px);
    color: #063a88;
    font-weight: bold;
    background-color: #FFFF00;
    text-align: center;
}

.HowToUse-link:hover {
    background: #111;
    opacity: 1 !important;
    transition: 0.4s;
    background-color: #EAB52C;
}

@media only screen and (max-width: 959px) {
    .HowToUse {
        margin: 60px auto 60px;
    }

    .HowToUse-headline {
        margin-top: 30px !important;
        margin-bottom: 30px;
    }
}

@media only screen and (max-width: 490px) {
    .HowToUse {
        margin: 40px auto 40px;
    }

    .HowToUse>div {
        padding: 0px 2%;
    }

    .HowToUse-headline {
        font-size: min(3.8vw, 25px);
        margin-top: 20px !important;
        margin-bottom: 20px;
    }

    .HowToUse-list {
        margin-bottom: 11px;
        gap: 11px;
    }

    .HowToUse-list.second {
        margin-top: 25px;
    }

    .HowToUse-list:last-child {
        margin-bottom: 25px;
    }

    .HowToUse-item {
        width: 47%;
    }

    .HowToUse-link {
        padding: 15px 6px;
        font-size: min(2.7vw, 18px);
    }
}




/*---------------------------------------------------------
cta
---------------------------------------------------------*/

.video {
    width: 100%;
    display: inherit;
}


/*---------------------------------------------------------
cta
---------------------------------------------------------*/

.cta {
    background-image: url('../img/bg_cta@2x.jpg');
    background-position: center;
    background-size: cover;
    padding: 80px 0;
}

.ctain {
    display: flex;
    width: 960px;
    margin: 0 auto;
    justify-content: space-between;
}

.ctain .txbox {
    text-align: center;
}

.ctain .txbox p.tx {
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    color: #151B28;
    line-height: 1.6;
}

.ctain .txbox p.tx span {
    font-size: 36px;
}

.ctain .txbox .button {
    margin-top: 24px;
}

.ctain .buttonpage a {
    background: #2B68EF;
    color: #fff;
}

.ctain .buttonpage a:hover {
    background: #0A2464;
}

.imgbox {
    display: flex;
    justify-content: space-between;
    width: 550px;
}

.imgbox img {
    width: 164px;
    height: 164px;
}

@media only screen and (max-width: 959px) {
    .cta {
        padding: 40px 0;
    }

    .ctain {
        display: block;
        width: 92%;
    }

    .ctain .txbox p.tx {
        font-size: 16px;
    }

    .ctain .txbox p.tx span {
        font-size: 28px;
    }

    .ctain .txbox .button {
        margin-top: 16px;
    }

    .ctain .button {
        text-align: center;
        margin-top: 24px;
    }

    .imgbox {
        display: flex;
        justify-content: space-between;
        width: 100%;
        margin-top: 16px;
    }

    .imgbox img {
        width: 32%;
        height: auto;
    }
}


/*---------------------------------------------------------
readbox
---------------------------------------------------------*/

.readbox {
    padding: 120px 0;
    background: #0A2564;
    background-size: cover;
    position: relative;
}

.img_standard_left {
    position: absolute;
    left: 0;
    top: 0;
    width: 320px;
    mix-blend-mode: multiply;
    z-index: 0;
}

.img_standard_right {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 432px;
    mix-blend-mode: multiply;
    z-index: 0;
}

.readbox .readboxin {
    display: flex;
    width: 88%;
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
    position: relative;
    flex-direction: row-reverse;
    z-index: 1;
    max-width: 1200px;
}

.readboxin .txbox {
    width: 48%;
}

.readboxin .txbox p {
    color: #fff;
    margin-top: 24px;
    font-size: 20px;
    line-height: 40px;
}

.readbox .readboxin .img {
    width: 48%;
}

@media screen and (max-width: 959px) {
    .readbox {
        padding: 40px 0;
    }

    .img_standard_left {
        width: 160px;
    }

    .img_standard_right {
        width: 160px;
    }

    .readbox .readboxin {
        display: block;
        width: 88%;
        margin: 0 auto;
        max-width: inherit;
    }

    .readboxin .txbox {
        width: 100%;
        margin-top: 24px;
    }

    .readboxin .txbox p {
        margin-top: 24px;
        font-size: 14px;
        line-height: 28px;
    }

    .readbox .readboxin .img {
        width: 100%;
    }
}


/*---------------------------------------------------------
lesson
---------------------------------------------------------*/

.facility {
    background: #E3E9F1;
    position: relative;
    padding: 120px 0;
}

.facility .entitle {
    color: #00030B;
}

.facility .entitle span {
    color: #00030B;
}

.facilityin {
    position: relative;
    z-index: 2;
}

.facility ul {
    width: 960px;
    margin: 40px auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.facility ul li {
    width: 48%;
    color: #fff;
    margin-bottom: 56px;
    background: #0A2564;
}

.facility ul li .txbox {
    padding: 20px;
    background: #0A2564;
}

.facilityin .en {
    color: #fff;
}

.facility ul li h3 {
    color: #fff;
    margin-top: 8px;
}

.facility ul li p {
    margin-top: 8px;
}

.check::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url('../img/img_check.svg');
    background-position: center;
    background-size: contain;
    top: 4px;
    margin-right: 8px;
    position: relative;
}

.access {
    padding: 120px 0 0;
}

.accessbox {
    width: 400px;
    margin: 0 auto 40px;
}

.accessbox th {
    text-align: left;
    padding-right: 8px;
    padding-bottom: 4px;
    padding-top: 4px;
}

@media screen and (max-width: 959px) {
    .facility {
        padding: 80px 0;
    }

    .facility ul {
        width: 88%;
        margin: 24px auto 0;
        display: block;
    }

    .facility ul li {
        width: 100%;
        margin-bottom: 8px;
    }

    .facility ul li img {}

    .facility ul li .txbox {
        padding: 16px;
    }

    .facility ul li p {
        margin-top: 8px;
    }

    .accessbox {
        width: 88%;
        margin: 0 auto;
    }

    .accessbox th {
        width: 70px;
        text-align: left;
        vertical-align: top;
    }

    .accessbox .tx {
        margin-bottom: 12px;
    }

    .access {
        padding: 80px 0 0;
    }

    .map {
        margin-top: 16px;
    }
}


/*---------------------------------------------------------
flow
---------------------------------------------------------*/

.flow {
    padding: 120px 0;
    background: url("../img/bg_flow@2x.jpg") no-repeat center center;
    background-size: cover;
}

.flowboxin {
    width: 960px;
    margin: 0 auto;
}

.flowboxin .pointboxin {
    width: 100%;
}

.flowboxin .pointboxin img {
    width: 240px;
}

@media screen and (max-width: 959px) {
    .flow {
        padding: 80px 0;
    }

    .flowboxin {
        width: 88%;
        margin: 16px auto 0;
    }

    .flowboxin .pointboxin {
        width: 100%;
    }

    .flowboxin .pointboxin img {
        width: 110px;
        height: 100px;
        object-fit: cover;
    }

    .flow .pointboxin {
        margin-bottom: 8px;
    }
}


/*---------------------------------------------------------
price
---------------------------------------------------------*/

.price {
    padding: 120px 0;
    background: linear-gradient(#2850ad 0%, #0a2564 100%);
    position: relative;
}

.pricelist {
    display: flex;
    justify-content: space-between;
    width: 960px;
    margin: 0 auto;
}

.pricelist li {
    width: 293px;
}

.otoku_tokuten {
    padding: 40px 0;
    background: url("../img/bg_otoku_tokuten@2x.jpg") no-repeat center center;
    background-size: cover;
    width: 960px;
    margin: 80px auto 0;
}

.otoku_tokuten .sub {
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    color: #fff;
}

.otoku_tokuten .tokutentitle {
    color: #fff;
    font-size: 24px;
    text-align: center;
    margin-top: 16px;
}

.otoku_tokuten .tokutentitle span {
    font-weight: bold;
    font-size: 40px;
    text-align: center;
    color: #ffff3b;
}

.otoku_tokuten p {
    text-align: center;
}

.circlebox {
    width: 546px;
    margin: 24px auto;
    display: flex;
    justify-content: space-between;
}

.circlebox img {
    width: 164px;
}

.tsuikabox {
    width: 960px;
    margin: 24px auto 0;
}

div.scrollbar {
    overflow: auto;
    /*画面外になったときの扱いをautoに*/
    white-space: nowrap;
    /*セル内の文字の折り返しを禁止*/
    margin-top: 40px;
}

div.scroll::-webkit-scrollbar {
    height: 7px;
    /*スクロールバーの高さを指定*/
}

div.scroll::-webkit-scrollbar-track {
    background: #e5e5e5;
    /*スクロールバーじゃない部分のカラー*/
}

div.scroll::-webkit-scrollbar-thumb {
    background: #b3b3b3;
    /*スクロールバーの部分のカラー*/
}

.tableimg {
    width: 960px;
    margin: 0 auto;
}

.price .tx {
    width: 960px;
    margin: 16px auto 0;
    text-align: left;
    color: #fff;
}

.btnboxpage {
    width: fit-content;
    margin: 40px auto 0;
    text-align: center;
    display: flex;
}

.btnboxpage .buttonpage {
    margin: 0 4px;
}

.gold {
    margin: 24px auto 0;
    width: 960px;
}

.gold span {
    display: inline-block;
    color: #fff;
    background: #806E52;
    font-size: 20px;
    font-weight: bold;
    padding: 4px 8px;
}

.price h3 {
    text-align: left;
    width: 960px;
    margin: 24px auto 0;
}

@media screen and (max-width: 959px) {
    .price {
        padding: 80px 0 0;
    }

    div.scrollbar {
        overflow: auto;
        /*画面外になったときの扱いをautoに*/
        white-space: nowrap;
        /*セル内の文字の折り返しを禁止*/
        margin-top: 40px;
    }

    div.scroll::-webkit-scrollbar {
        height: 7px;
        /*スクロールバーの高さを指定*/
    }

    div.scroll::-webkit-scrollbar-track {
        background: #e5e5e5;
        /*スクロールバーじゃない部分のカラー*/
    }

    div.scroll::-webkit-scrollbar-thumb {
        background: #b3b3b3;
        /*スクロールバーの部分のカラー*/
    }

    .tableimg {
        width: 640px;
        margin: 0 auto;
        padding: 0 10%;
    }

    .price .tx {
        width: 80%;
        margin: 24px auto 0;
    }

    .btnboxpage {
        width: 80%;
        margin: 24px auto 0;
    }

    .gold {
        margin: 16px auto 0;
        width: 80%;
    }

    .gold span {
        font-size: 16px;
        font-weight: bold;
        padding: 4px 8px;
    }

    .price h3 {
        width: 80%;
    }

    .pricelist {
        display: block;
        width: 240px;
        margin: 0 auto;
    }

    .pricelist li {
        width: 100%;
        margin: 0 auto 16px;
    }

    .otoku_tokuten {
        padding: 40px 0;
        width: 100%;
        margin: 40px auto 0;
    }

    .otoku_tokuten .sub {
        font-size: 16px;
    }

    .otoku_tokuten .tokutentitle {
        font-size: 20px;
        line-height: 1.2;
    }

    .otoku_tokuten .tokutentitle span {
        font-size: 28px;
    }

    .otoku_tokuten p {
        text-align: center;
    }

    .circlebox {
        width: 92%;
        margin: 24px auto;
        display: flex;
        justify-content: space-between;
    }

    .circlebox img {
        width: 32%;
    }

    .tableimg {
        width: 640px;
        margin: 0 auto;
    }

    .btnboxpage {
        margin: 24px auto 0;
        text-align: center;
        display: block;
    }

    .btnboxpage .buttonpage {
        margin: 0 4px 12px;
    }

    .tsuikabox {
        width: 240px;
        margin: 16px auto 0;
    }
}


/*---------------------------------------------------------
faq
---------------------------------------------------------*/

.faq {
    padding: 120px 0;
    position: relative;
    background: linear-gradient(#2850ad 0%, #0a2564 100%);
}

.faqin {
    margin-top: 40px;
}

.faqbox {
    margin: 0 auto;
    width: 960px;
    border-bottom: 1px solid #44655B;
    padding: 24px 0;
}

.faqbox .faqq {
    color: #fff;
    position: relative;
    padding: 8px 0 8px 32px;
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.04em;
    line-height: 28px;
    text-align: left;
}

.faqbox .faqq:before {
    position: absolute;
    content: 'Q.';
    font-family: "abolition", sans-serif;
    font-size: 40px;
    line-height: 40px;
    left: 0;
    top: 0;
}

.faqbox .faqa {
    color: #fff;
    position: relative;
    padding: 8px 0 8px 32px;
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.04em;
    line-height: 28px;
    text-align: left;
    margin-top: 16px;
}

.faqbox .faqa:before {
    position: absolute;
    content: 'A.';
    font-family: "abolition", sans-serif;
    font-size: 40px;
    line-height: 40px;
    left: 0;
    top: 0;
}

.tab-simple {
    display: flex;
    flex-wrap: wrap;
    gap: 0 10px;
    max-width: 960px;
    margin: 0 auto;
}

.tab-simple>label {
    order: -1;
    opacity: 1;
    width: 313px;
    padding: 16px 0;
    border: 1px solid #fff;
    color: #fff;
    font-size: 1em;
    text-align: center;
    cursor: pointer;
    margin-bottom: 8px;
}

.tab-simple>label:hover {
    opacity: 0.8;
}

.tab-simple input {
    display: none;
}

.tab-simple>div {
    display: none;
    width: 100%;
}

.tab-simple label:has(:checked) {
    opacity: 1;
    background-color: #2B68EF;
    border: 1px solid #2B68EF;
    font-weight: bold;
}

.tab-simple label:has(:checked)+div {
    display: block;
}

@media screen and (max-width: 959px) {
    .faq {
        padding: 80px 0;
    }

    .faqin {
        margin-top: 24px;
    }

    .faqbox {
        width: 100%;
        padding: 8px 0;
    }

    .faqbox .faqq {
        padding: 8px 0 8px 32px;
        font-size: 16px;
        line-height: 24px;
    }

    .faqbox .faqq:before {
        font-size: 32px;
        line-height: 32px;
    }

    .faqbox .faqa {
        padding: 8px 0 8px 32px;
        font-weight: normal;
        font-size: 16px;
        line-height: 24px;
    }

    .faqbox .faqa:before {
        font-size: 32px;
        line-height: 32px;
    }

    .tab-simple {
        display: flex;
        flex-wrap: wrap;
        gap: 0 10px;
        max-width: 88%;
    }

    .tab-simple>label {
        width: 48%;
        padding: 8px 0;
        font-size: 14px;
        text-align: center;
        cursor: pointer;
        margin-bottom: 8px;
    }

    .tab-simple>label:hover {
        opacity: 0.8;
    }

    .tab-simple input {
        display: none;
    }

    .tab-simple>div {
        display: none;
        width: 100%;
    }

    .tab-simple label:has(:checked) {
        opacity: 1;
        background-color: #2B68EF;
        border: 1px solid #2B68EF;
        font-weight: bold;
    }

    .tab-simple label:has(:checked)+div {
        display: block;
    }
}

.youtube {
    width: 100%;
    padding: 120px 0px 0px;
    margin: 0 auto;
}

.youtube-link {
    display: block;
    width: 100%;
    margin: 0 auto;
    max-width: 960px;
}

.youtube-link:hover {
    opacity: 0.7;
}

.youtube-image {
    width: 100%;
}

@media screen and (max-width: 959px) {
    .youtube {
        padding: 80px 0px 0px;
    }

    .youtube-link {
        max-width: 88%;
    }
}


/*---------------------------------------------------------
schedule
---------------------------------------------------------*/

.schedule {
    background: #E3E9F1;
    padding: 120px 0;
}

.schedule h2 {
    color: #00030B;
}

.schedule h2 span {
    color: #00030B;
}

.schedule .txright {
    width: 960px;
    margin: 16px auto 0;
    text-align: right;
}

@media screen and (max-width: 959px) {
    .schedule {
        padding: 80px 0;
    }

    .schedule .txright {
        width: 88%;
        margin: 16px auto 0;
    }
}


/*---------------------------------------------------------
yoyaku
---------------------------------------------------------*/

.yoyaku {
    padding: 120px 0;
    background: url("../img/bg_yoyaku@2x.jpg") no-repeat center center;
    background-size: cover;
}

.yoyaku .yoyakutitle {
    font-weight: bold;
    font-size: 56px;
    line-height: 67px;
    text-align: center;
    color: #fff;
}

.yoyaku .tx {
    padding: 24px 0 0;
    text-align: center;
    color: #fff;
}

@media screen and (max-width: 959px) {
    .yoyaku {
        padding: 80px 0;
    }

    .yoyaku .yoyakutitle {
        font-size: 24px;
        line-height: 32px;
    }

    .yoyaku .tx {
        padding: 16px 0 0;
        text-align: center;
        color: #fff;
    }
}


/*---------------------------------------------------------
footer
---------------------------------------------------------*/

footer {
    padding: 120px 0;
    background: #1B3F92;
    text-align: center;
}

footer img {
    width: 280px;
}

footer .button {
    margin-top: 40px;
}

footer .button a {
    border: 1px solid #fff;
    color: #fff;
    background: none;
}

footer .button a:hover {
    border: 1px solid #0A2464;
    background: #0A2464;
}

@media screen and (max-width: 959px) {
    footer {
        padding: 80px 0;
    }

    footer img {
        width: 160px;
    }

    footer ul {
        display: block;
        width: 80%;
        margin: 40px auto 0;
        text-align: center;
    }

    footer ul li {
        padding: 4px 0;
    }

    footer p.ad {
        font-family: "abolition", sans-serif;
        padding-top: 40px;
        text-align: center;
        color: #fff;
        font-size: 12px;
    }
}


/*---------------------------------------------------------
base
---------------------------------------------------------*/

p.mt {
    margin-top: 80px;
}

p.line {
    position: relative;
    padding: 1rem 2rem;
    border-bottom: 1px solid #E0DFDF;
    max-width: 1120px;
    margin: 120px auto;
    width: 100%;
}

p.line:before {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 16px;
    height: 1px;
    content: '';
    background: #10A5CC;
}

.inner1360 {
    max-width: 1360px;
    margin: 0 auto;
}

.inner1120 {
    max-width: 1120px;
    margin: 0 auto;
}

.inner960 {
    max-width: 960px;
    margin: 0 auto;
}

.pankuzu {
    padding: 16px 0;
    position: absolute;
    width: 100%;
    top: 88px;
}

.pankuzu ul {
    display: flex;
}

.pankuzu ul li {
    margin-right: 8px;
    font-weight: normal;
    color: #fff;
}

.pankuzu ul li a {
    color: #fff;
    font-weight: normal;
}

.anc {
    width: 960px;
    margin: 80px auto;
}

.anc ul {
    display: flex;
    justify-content: center;
}

.anc ul li {
    width: 293px;
    padding: 2%;
}

.anc ul li a {
    width: 100%;
    max-width: 293px;
}

.anc ul li .button_solid019 a:after {
    display: none;
}

span.circle {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.04em;
    line-height: inherit;
    text-align: center;
    color: #fff;
    background-color: #0A3464;
    border-radius: 40px;
    padding: 1px 9px;
    margin-right: 16px;
}

.blue {
    color: #1E6CC3;
}

span.number {
    background: #00508E;
    color: #fff;
    font-family: 'Urbanist', sans-serif;
    font-weight: bold;
    font-size: 32px;
    line-height: 36px;
    text-align: center;
    width: 56px;
    height: 56px;
    padding-top: 12px;
    border-radius: 40px;
    vertical-align: middle;
    display: inline-block;
    margin-right: 16px;
}

@media only screen and (max-width: 959px) {
    p.mt {
        margin-top: 64px;
    }

    p.line {
        max-width: inherit;
        margin: 80px auto;
        width: calc(100% - 48px);
    }

    .inner1360 {
        max-width: inherit;
        width: 100%;
        margin: 0 auto;
    }

    .inner1120 {
        max-width: inherit;
        width: calc(100% - 48px);
        margin: 0 auto;
    }

    .inner960 {
        max-width: inherit;
        width: 100%;
        margin: 0 auto;
    }

    .anc {
        width: calc(100% - 48px);
        margin: 40px auto;
    }

    .anc ul {
        display: flex;
    }

    .anc ul li {
        width: 161px;
    }

    .anc ul li a {
        max-width: inherit;
    }

    .anc ul li .button_solid019 a:after {
        display: none;
    }

    span.circle {
        font-size: 16px;
        margin-right: 8px;
        padding: 7px;
    }

    .pankuzu {
        top: 72px;
    }
}


/*---------------------------------------------------------
fadein
---------------------------------------------------------*/


/* 画面外にいる状態 */

.fadein {
    opacity: 0.1;
    transform: translate(0, 24px);
    transition: all 500ms;
}


/* 画面内に入った状態 */

.fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

@media only screen and (max-width: 959px) {}


/*---------------------------------------------------------
Pagination
---------------------------------------------------------*/

.Pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
}

.Pagination-Item-Link {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    overflow: hidden;
    background: #fff;
    font-size: 14px;
    color: #111;
    font-weight: bold;
    transition: all 0.15s linear;
}

.Pagination-Item-Link img {
    width: 24px;
}

.Pagination-Item-Link.isActive {
    background: #0072C6;
    color: #fff;
    pointer-events: none;
}

.Pagination-Item-Link:not(.isActive):hover {
    background: #0072C6;
    color: #fff;
}

.Pagination>*+* {
    margin-left: 8px;
}


.ori-carefull {
    text-align: right;
}