@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap");
@import url("https://use.typekit.net/hkp7ogm.css");

@font-face {
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/FontAwesome5/fa-regular-400.eot");
    src: url("../fonts/FontAwesome5/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/FontAwesome5/fa-regular-400.woff2") format("woff2"), url("../fonts/FontAwesome5/fa-regular-400.woff") format("woff"), url("../fonts/FontAwesome5/fa-regular-400.ttf") format("truetype"), url("../fonts/FontAwesome5/fa-regular-400.svg#fontawesome") format("svg");
}

@font-face {
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 900;
    src: url("../fonts/FontAwesome5/fa-solid-900.eot");
    src: url("../fonts/FontAwesome5/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/FontAwesome5/fa-solid-900.woff2") format("woff2"), url("../fonts/FontAwesome5/fa-solid-900.woff") format("woff"), url("../fonts/FontAwesome5/fa-solid-900.ttf") format("truetype"), url("../fonts/FontAwesome5/fa-solid-900.svg#fontawesome") format("svg");
}

/*  基本
-------------------------------------------------------*/
html {
    font-size: 62.5%;
}

body {
    width: 100%;
    height: 100%;
    color: #333333;
    background-color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(26 / 750 * 100vw);
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: .05em;
    word-wrap: break-word;
    overflow-wrap: break-word;
    /* overflow-x: hidden; */
}

@media screen and (min-width: 751px) {
    body {
        font-size: calc(16 / 1440 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    body {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

/*  リンク
-------------------------------------------------------*/
a {
    -webkit-transition: all .3s;
    transition: all .3s;
}

a:hover {
    cursor: pointer;
}

a.opacity:hover {
    opacity: 0.5;
}

/*  ヘッダー
-------------------------------------------------------*/
.header {
    position: fixed;
    top: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
    height: 21.3vw;
    background-color: #fff;
    box-shadow: 0px 4px 6px 0px rgba(51, 51, 51, 0.2);
    z-index: 888;
    transition: .3s;
}

@media screen and (min-width: 751px) {
    .header {
        padding: 0;
        height: auto;
    }
}

.header__top__inner {
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 21.3vw;
}

@media screen and (min-width: 751px) {
    .header__top__inner {
        width: 100%;
        height: 6.2vw;
    }
}

@media screen and (min-width: 1250px) {
    .header__top__inner {
        padding: 0;
        max-width: 1440px;
        height: 100%;
    }
}

/* ----------------- ロゴ - */
.header__logo {
    margin-left: 3vw;
    width: 45vw;
    text-align: center;
}

.header__logo img {
    width: 45vw;
    height: auto;
}

@media screen and (min-width: 751px) {
    .header__logo {
        margin-left: 0;
        margin-right: 1.3vw;
        width: 24vw;
    }

    .header__logo img {
        width: 23vw;
    }
}

@media screen and (min-width: 1250px) {
    .header__logo {
        margin-right: 20px;
        width: 315px;
    }

    .header__logo img {
        width: 180px;
    }
}

@media screen and (min-width: 751px) {
    .header__top__inner__right {
        width: calc(100% - 24vw - 1.3vw);
    }
}

@media screen and (min-width: 1250px) {
    .header__top__inner__right {
        width: calc(100% - 315px - 20px);
    }
}

/*  メニュー
-------------------------------------------------------*/
.navigation {
    position: relative;
}

@media screen and (max-width: 750px) {
    .navigation {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: fixed;
        top: 7vw;
        right: 0;
        width: 0%;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity 0.7s, visibility 0.7s;
        transition: opacity 0.7s, visibility 0.7s;
        overflow: hidden;
        z-index: 222;
    }

    .navigation.is-close {
        position: fixed;
        top: 0;
        left: 0;
        width: 0%;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity 0.35s, visibility 0.35s;
        transition: opacity 0.35s, visibility 0.35s;
        overflow: hidden;
    }

    .navigation.is-open {
        opacity: 1;
        visibility: visible;
        width: 100%;
    }
}

.navi__wrap__top {
    display: none;
}

/* ----------------- ナビコンテナ - */

/* ----------------- SP版 - */
@media screen and (max-width: 750px) {
    #navigation_sp {
        display: inline;
    }

    #navigation_sp .navi a {
        text-align: center;
        border-bottom: 0;
    }

    #navigation_sp .navigation_inner {
        position: relative;
        margin: 15vw auto 0 auto;
        width: 100%;
        height: 100vh;
        overflow-x: scroll;
        z-index: 999;
    }

    #navigation_sp .navigation_inner .navigation_content {
        position: relative;
        padding-bottom: 8.9vw;
        width: 100%;
        background-color: rgba(255, 255, 255, 1);
    }
}
/* ----------------- PC版 - */
@media screen and (min-width: 751px) {
    #navigation_sp {
        display: none;
    }

    .navigation_content {
        padding: 0;
        width: 100%;
    }
}

/* ----------------- グローバルナビ (SP) - */
@media screen and (max-width: 750px) {
    .navi {
        margin: 0 auto;
        width: 85.3vw;
        text-align: center;
    }

    .navi a {
        position: relative;
        display: block;
        padding: 1em 0;
        border-bottom: 2px solid #000;
        color: #000;
        font-size: calc(36 / 750 * 100vw);
        font-weight: 700;
    }

    .navi a:last-child {
        border-bottom: none;
    }

    .navi span {
        margin-left: 1em;
        font-family: bebas-kai, sans-serif;
        font-size: calc(30 / 750 * 100vw);
    }

    /* ----------------- ヘッダー お申込みボタン - */
    .apply_sp {
        position: absolute;
        top: 0;
        right: 20vw;
        width: 21.3vw;
        background-color: #FE1462;
        height: 100%;
        text-align: center;
    }

    .apply_sp a {
        border: none;
        color: #fff;
        display: block;
        height: 100%;
        padding: 1.4em .5em 0;
        width: 100%;
    }

    .apply_sp a img {
        width: 40%;
    }

    .apply_sp div {
        font-size: calc(23 / 750 * 100vw);
        font-weight: 700;
        margin-top: 5px;
    }

    /* ----------------- ナビの下部ボタン - */
    .apply_sp_wrap {
        border-top: 2px solid #262626;
        font-weight: bold;
        padding-top: 5vw;
    }

    #application_btn {
        background-color: #FF1462;
        color: #fff;
    }

    #inquiry_btn {
        color: #000;
    }

    .apply_sp_btn {
        border: 4px solid #000;
        box-shadow: 0 8px #000;
        border-radius: 15px;
        font-size: calc(30 / 750 * 100vw);
        line-height: 40px;
        margin: 10px 0 30px;
        padding: 2vw 0;
        position: relative;
    }

    .apply_sp_btn_cart {
        display: inline-block;
        position: absolute;
        left: 18vw;
        top: 4vw
    }
    
    .apply_sp_btn_arrow {
        display: inline-block;
        position: absolute;
        right: 4vw;
        top: 4.5vw
    }

}

/* ----------------- グローバルナビ (PC) - */
@media screen and (min-width: 751px) {
    .navi {
        position: relative;
        display: flex;
        justify-content: right;
        align-items: center;
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: 6.17vw;
    }

    .navi a {
        position: relative;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        padding: 0.83vw 1em;
        width: auto;
        height: auto;
        color: #000;
        border-left: 1px solid #000;
        font-size: calc(13 / 1440 * 100vw);
        font-weight: 700;
        text-align: center;
        line-height: 1em;
    }

    .navi a:nth-last-child(2) {
        border-right: 1px solid #000;
    }

    .navi a::after {
        position: absolute;
        bottom: 0;
        left: 50%;
        content: '';
        width: 0;
        height: 0.25vw;
        background-color: #FE1462;
        transition: .3s;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .navi a:hover::after {
        width: 90%;
    }

    /* ----------------- ヘッダー お申込みボタン - */
    .navi .apply {
        background-color: #FE1462;
        height: 100%;
        margin-left: 2em;
        text-align: center;
    }

    .navi .apply a {
        border: none;
        color: #fff;
        display: block;
        height: 100%;
        padding: 1.5em;
        width: 100%;
    }

    .navi .apply div {
        margin-top: 5px;
    }

    .apply_sp {
        display: none;
    }

}

@media screen and (min-width: 1250px) {
    .navi {
        height: 85px;
    }

    .navi a {
        padding: 5px 1em;
        font-size: 14px;
        font-size: 1.4rem;
    }

    .navi a::after {
        height: 3px;
    }
    .navi .apply div {
        margin-top: 10px;
    }
}

.navigation__sp {
    margin: 0 auto;
    width: 83vw;
}

@media screen and (min-width: 751px) {
    .navigation__sp {
        display: none;
    }
}

/* ----------------- トグルボタン - */
.toggle {
    display: none;
}

@media screen and (max-width: 750px) {
    .toggle {
        display: block;
        position: absolute;
        top: 4vw;
        right: 3.6vw;
        width: 14.6vw;
        height: 14.6vw;
        cursor: pointer;
        z-index: 9999 !important;
        -webkit-transition: opacity 0.25s ease;
        transition: opacity 0.25s ease;
    }
    .toggle span {
        position: absolute;
        top: 1.6vw;
        left: 2vw;
        width: 10.9vw;
        height: 0.8vw;
        background-color: #000;
        -webkit-transition: all 0.35s ease;
        transition: all 0.35s ease;
        cursor: pointer;
    }
    
    .toggle span:nth-of-type(2) {
        top: 4.2vw;
    }
    
    .toggle span:nth-of-type(3) {
        top: 7vw;
    }
    
    .toggle.is-active span:nth-of-type(1) {
        top: 1.2vw;
    }
    
    .toggle.is-active span:nth-of-type(3) {
        top: 8.2vw;
    }
    
    .toggle.is-active span:nth-of-type(1) {
        -webkit-transform: translateY(3.6vw) translateX(0) rotate(45deg);
        transform: translateY(3.6vw) translateX(0) rotate(45deg);
    }
    
    .toggle.is-active span:nth-of-type(2) {
        opacity: 0;
    }
    
    .toggle.is-active span:nth-of-type(3) {
        display: block;
        -webkit-transform: translateY(-3.6vw) translateX(0) rotate(-45deg);
        transform: translateY(-3.6vw) translateX(0) rotate(-45deg);
    }
    
    .toggle__text {
        position: absolute;
        bottom: 1vw;
        left: 50%;
        margin-top: 5px;
        color: #000;
        font-size: calc(23 / 750 * 100vw);
        font-weight: 700;
        line-height: 1em;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        text-align: center;
        width: 100%;
    }
    
    .toggle.is-active {
        position: absolute;
        top: 4vw;
        right: 3.6vw;
    }
}

/*  フッター
-------------------------------------------------------*/
.footer {
    position: relative;
    background: -moz-linear-gradient(left, #333333, #333333);
    background: -webkit-linear-gradient(left, #333333, #333333);
    background: linear-gradient(to right, #333333, #333333);
}

.footer__inner {
    padding: 6vw 4vw 5vw;
    margin: 0 auto;
    max-width: 1100px;
}

@media screen and (min-width: 751px) {
    .footer__inner {
        padding: 2vw 0 1.6vw 0;
    }
}

@media screen and (min-width: 1250px) {
    .footer__inner {
        padding: 25px 0 20px 0;
    }
}

@media screen and (min-width: 1250px) {
    .footer__btn {
        margin-bottom: 10px;
    }

    .footer__btn a {
        width: 290px;
        border: 2px solid #fff;
        font-size: 14px;
        font-size: 1.4rem;
    }
}

/* ----------------- ナビゲーション - */
.footer__navi_wrap {
    display: flex;
    flex-flow: column-reverse;
}

.footer__navi {
    display: flex;
    align-items: center;
    margin: 4vw 0;
}

.footer__navi li a {
    padding: 0 2em;
    color: #fff;
    font-size: calc(18 / 750 * 100vw);
    text-align: center;
}

.footer__navi li:first-child a {
    padding-left: 0;
}

.footer__navi li {
    border-right: 1px solid #fff;
    line-height: 1em;
}

.footer__navi li:last-child {
    border-right: none;
}

.footer__navi a:hover {
    color: #150f45;
}

@media screen and (min-width: 751px) {
    .footer__navi_wrap {
        display: flex;
        flex-flow: row;
        justify-content: space-between;
        align-items: center;
        margin-top: 1vw;
    }
    .footer__navi {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 1.6vw;
        margin-bottom: 0;
    }

    .footer__navi li a {
        display: inline-block;
        width: auto;
        font-size: calc(12 / 1440 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .footer__navi {
        margin-top: 20px;
    }

    .footer__navi li a {
        font-size: 14px;
        font-size: 1.4rem;
    }
}

/* ----------------- コピーライト - */
.copyright {
    color: #fff;
    font-family: bebas-kai, sans-serif;
    font-size: calc(22 / 750 * 100vw);
}

@media screen and (min-width: 751px) {
    .copyright {
        font-size: calc(12 / 1440 * 100vw);
        line-height: 1em;
        margin-top: 1.6vw;
    }
}

@media screen and (min-width: 1250px) {
    .copyright {
        font-size: 16px;
        font-size: 1.6rem;
        margin-top: 20px;
    }
}

/*  セクション
-------------------------------------------------------*/
.section {
    position: relative;
    padding: 5vw 0;
}

.section__inner {
    position: relative;
    margin: 0 auto;
    padding: 0 2.6vw;
    width: 100%;
}

@media screen and (min-width: 751px) {
    .section__inner {
        padding: 0 1vw;
        max-width: calc(1100 / 1100 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .section__inner {
        padding: 0;
        max-width: 1100px;
    }
}

.section__heading__wrap {
    margin-bottom: 5vw;
    text-align: center;
}

@media screen and (min-width: 751px) {
    .section__heading__wrap {
        margin-bottom: calc(45 / 1440 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .section__heading__wrap {
        margin-bottom: 40px;
    }
}

.section__heading {
    color: #000;
    font-size: calc(54 / 750 * 100vw);
    font-weight: 700;
    margin-top: 200px;
}
@media screen and (max-width: 750px){
    .section__heading {
        margin-top: 30vw;
    }
}
@media screen and (min-width: 751px) {
    .section__heading {
        font-size: calc(48 / 1440 * 100vw);
    }

    .section__heading span {
        font-size: calc(36 / 1440 * 100vw);
    }

    .form__heading {
        font-size: calc(36 / 1440 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .section__heading {
        font-size: 48px;
        font-size: 4.8rem;
    }

    .section__heading span {
        font-size: 36px;
        font-size: 3.6rem;
    }

    .form__heading {
        font-size: 36px;
        font-size: 3.6rem;
    }
}

/*  タイトル
-------------------------------------------------------*/
.block-title{
    display: inline-block;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    background-color: #262626;
    padding: 10px 15px;
    line-height: 1em;
}
@media screen and (max-width: 750px){
    .block-title{
      font-size: 1.6rem;
    }
}


/*  フォーム全体タイトル
-------------------------------------------------------*/
#choice_option .section__heading__wrap {
    border-top: 3px solid #48A0E9;
    border-bottom: 10px double #48A0E9;
    padding: 40px 0 20px 0;
}

.form__step {
    font-weight: 700;
    text-align: left;
}

.form__heading {
    color: #000;
    font-weight: 700;
    text-align: left;
}

/*  フォーム共通
-------------------------------------------------------*/
.table-spec {
    margin: 0 auto;
    width: 100%;
    border: 1px solid #150f45;
}

.table-spec tr {
    border-bottom: 1px solid #150f45;
}

.table-spec tr:last-of-type {
    border-bottom: none;
}

.table-spec th {
    padding: .5em 1em;
    width: 40%;
    border-right: 1px solid #150f45;
    background-color: #f2f8fc;
    font-weight: 700;
    text-align: left;
    line-height: 1.7em;
}

.table-spec td {
    padding: .5em 1em;
    width: calc(100% - 40%);
    line-height: 1.7em;
    font-size: 1.6rem;
}

@media screen and (max-width: 750px) {
    .table-spec th,
    .table-spec td {
        display: block;
        border-right: none;
        padding: 0.5em 1em;
        width: 100%;
    }

    .table-spec th {
        width: 100%;
    }

    .table-spec td {
        width: calc(100% - 100px);
        font-size: 1.6rem;
    }
}

@media screen and (min-width: 751px) {
    .table-spec th {
        padding: 1em 1em;
        width: calc(300 / 1200 * 100%);
        font-size: 1.6rem;
    }

    .table-spec td {
        padding: 1em 1em;
        width: calc(100% - 18.75vw);
    }
}

@media screen and (min-width: 1250px) {
    .table-spec th {
        width: 250px;
    }

    .table-spec td {
        width: calc(100% - 225px);
    }
}

.side_comment {
    font-weight: 700;
    display: inline-block;
}

@media screen and (max-width: 750px) {
    .side_comment {
        font-size: calc(26 / 750 * 100vw);
    }
}

/* ----------------- テキストボックス - */
[type="text"],
[type="tel"],
[type="code"],
[type="email"],
[type="date"],
[type="number"],
[type="submit"],
[type="button"],
button,
textarea,
select {
    border: 1px solid #DFDFDF;
    border-radius: 5px;
    background: #f6f6f6;
    padding: 1em;
    font-size: 1.6rem;
    margin-right: 1em;
}

::placeholder {
    color: #ccc;
}

textarea {
    width: 100%;
    height: 300px;
}

/* ----------------- ラジオボタン - */
.radio__wrap {
    display: inline-block;
    margin-right: 120px;
}
.radio__wrap label {
    margin-left: 10px;
}

/* ----------------- エラー文 - */

.error_text {
    color: #FF1462;
    font-weight: 700;
    font-size: 1.3rem;
}

/* ----------------- フォーム必須項目 - */
.hissu__wrap {
    display: inline-block;
    width: 20%;
}

.hissu{
	color:#FFF;
	background:#fd1378;
	font-size:11px;
	display:inline;
	padding:5px;
}

/* ----------------- next or prev ボタン - */
.submitarea {
    text-align: center;
}

.agree_btn {
    position: absolute;
    top: 1.1vw;
    display: inline-block;
}

.submitarea label, .submitarea a , .submitarea button {
    transition: all .3s;
    background-color: #ccc;
    padding: 8px 5.5em;
    color: #000;
    font-size: calc(24 / 1200 * 100vw);
    font-weight: 700;
    line-height: 7.5vw;
    border: 0.33vw solid #ccc;
    border-radius: 100px;
    display: inline-block;
    position: relative;
    margin-bottom: 0;
}

.submitarea label:hover {
    cursor: pointer;
}

.submitarea .prev_btn {
    margin-right: 15px;
    position: relative;
    display: inline-block;
    z-index: 1;
	overflow: hidden;
}

.payment_next_btn {
    transform: translateY(-24px);
}

@media screen and (max-width: 1250px) {
    .payment_next_btn {
        transform: translateY(-48px);
    }    
}

@media screen and (max-width: 750px) {
    .payment_next_btn {
        transform: translateY(0);
    }    
}

.submitarea .prev_btn::before {
    color: #000;
	border-radius: 100px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: '';
    z-index: -1;
	background-color:grey;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s;
}
.submitarea .prev_btn:hover::before {
	transform-origin: left top;
	transform: scale(1, 1);
}
.submitarea .next_btn {
    color: #000;
    background-color: #FEE201;
    margin-left: 15px;
    position: relative;
    display: inline-block;
    z-index: 1;
	overflow: hidden;
}
.submitarea .next_btn::before {
	border-radius: 100px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: '';
    z-index: -1;
	background-color:#FFF176;
	transform-origin: right bottom ;
	transform: scale(0,1);
	transition: transform .3s; 
}
.submitarea .next_btn:hover::before {
	transform-origin: left top;
	transform: scale(1,1);
}
.prev_btn .agree_btn {
    left: 1vw;
}

.next_btn .agree_btn {
    right: 1vw;
}

.submitarea input {
    display: none;
}

@media screen and (max-width: 750px) {
    .submitarea label, .submitarea a , .submitarea button{
        border: 4px solid #000;
        box-shadow: 6px 6px #000;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 40px;
        width: 80%;
        padding: 8px 0;
    }

    .submitarea .prev_btn {
        margin-right: 0;
        text-align: center;
    }

    .submitarea .next_btn {
        margin-left: 0;
        margin-top: 20px;
        text-align: center;
    background-image: url("../img/header/Icon awesome-arrow-right-b.png"),
    }

    .agree_btn {
        position: absolute;
        top: 40%;
        display: inline-block;
    }
    
    .prev_btn .agree_btn {
        left: 2vw;
    }
    
    .next_btn .agree_btn {
        right: 2vw;
    }
}

@media screen and (min-width: 1250px) {
    .submitarea label, .submitarea a , .submitarea button{
        border: 4px solid #000;
        box-shadow: 6px 6px  #000;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 40px;
    }
}

/* ----------------- スクロールウィンドウ - */
::-webkit-scrollbar{
  width: 8px;
  height: 100%;
}
::-webkit-scrollbar-track {
  background: #D9D9D9;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb {
  background: #2E93E6;
  border-radius: 4px;
}

/* ----------------- 個人情報の保護・重要事項について - */
.privacy-policy{
  margin-top: 65px;
}
.privacy-policy h3{
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
.privacy-policy dl{
  margin-top: 20px;
  border: solid 1px #707070;
  padding: 35px;
  max-height: 300px;
  overflow-y: scroll;
}
.privacy-policy dl dt{
  margin-bottom: 25px;
}
.privacy-policy dl dd{
  position: relative;
  padding-left: 1.8rem;
}
.privacy-policy dl dd::before{
  content: "\030fb";
  position: absolute;
  top: 0;
  left: 0;
}
.privacy-policy dl dd p{
  font-weight: bold;
}
.accept_btn{
  margin-top: 50px;
  text-align: center;
}
.accept_btn input[type=checkbox]{
  display: none;
}
.accept_btn .radio__wrap{
  display: inline-block;
  border: solid 5px #F0F5F9;
  border-radius: 15px;
  padding: 25px 30px;
  font-weight: 700;
  margin: auto;
  position: relative;
}
.accept_btn.checked .radio__wrap{
  border-color: #FF1462;
}
@media screen and (max-width: 750px){
  .privacy-policy dl{
    padding: 5%;
  }
  .accept_btn .radio__wrap{
    padding: 5%;
  }
  .accept_btn .radio__wrap label{
    
  }
}

/* ----------------- よくある質問 - */
.accordion section + section{
  margin-top: 50px;
}
.accordion section > dl{
  margin-top: 20px;
}
.accordion section > dl + dl{
  margin-top: 2px;
}
.accordion section > dl > dt{
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  background-color: #2E93E6;
  padding: 20px 60px;
  position: relative;
  cursor: pointer;
}
.accordion section > dl > dt::before{
  content: "Q";
  font-size: 3.0rem;
  font-weight: bold;
  line-height: 1em;
  color: #FFE200;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
}
.accordion section > dl > dt::after{
  content: "＋";
  font-size: 3.0rem;
  color: #2E93E6;
  text-align: center;
  line-height: 55px;
  width: 55px;
  height: 55px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}
.accordion section > dl.open > dt::after{
  content: "－";
  position: absolute;
}
.accordion section > dl > dd{
  line-height: 0;
  opacity: 0;
  visibility: hidden;
  transition: padding .3s ease-out, line-height .3s ease-out, opacity .1s linear, visibility .1s linear;
  position: relative;
  background-color: #F0F5F9;
  padding: 0 20px 0 60px;
}
.accordion section > dl.open > dd{
  line-height: 1.8;
  opacity: 1;
  visibility: visible;
  padding: 20px 20px 20px 60px;
}
.accordion section > dl > dd::before{
  line-height: 0;
  opacity: 0;
  visibility: hidden;
  transition: line-height .3s linear, top .2s linear, opacity .1s linear, visibility .1s linear;
  content: "A";
  font-size: 3.0rem;
  font-weight: bold;
  position: absolute;
  top: 0;
  transform: translateY(-25%);
  left: 20px;
}
.accordion section > dl.open > dd::before{
  line-height: 1.8;
  opacity: 1;
  visibility: visible;
  top: 1.8rem;
}
@media screen and (max-width: 750px){
  .accordion section + section{
    margin-top: 8%;
  }
  .accordion section > dl{
    margin-top: 5%;
  }
  .accordion section > dl > dt{
    font-size: 1.4rem;
    padding: 4% 10%;
  }
  .accordion section > dl > dd{
    font-size: 1.4rem;
    padding: 0 4% 0 10%;
  }
  .accordion section > dl.open > dd{
    padding: 4% 4% 4% 10%;
  }
  .accordion section > dl > dt::before, .accordion section > dl > dd::before{
    font-size: 2.0rem;
    left: 4%;
  }
  .accordion section > dl > dt::after{
    font-size: 1.4rem;
    line-height: 20px;
    width: 20px;
    height: 20px;
    right: 4%;
  }
}

/* Googleプライバシーポリシー&利用規約リンク
-------------------------------------------------------*/
.googlelink {
    color: #fff;
    font-size: calc(22 / 750 * 100vw);
    font-weight: 700;
}

.googlelink a {
    text-decoration: underline;
}

@media screen and (min-width: 751px) {
    .googlelink {
        font-size: calc(12 / 1440 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .googlelink {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

/* マージン
-------------------------------------------------------*/
.mt05 {
    margin-top: calc(8 / 750 * 100vw);
}

.mt10 {
    margin-top: calc(13 / 750 * 100vw);
}

.mt12 {
    margin-top: calc(15 / 750 * 100vw);
}

.mt15 {
    margin-top: calc(18 / 750 * 100vw);
}

.mt20 {
    margin-top: calc(23 / 750 * 100vw);
}

.mt25 {
    margin-top: calc(28 / 750 * 100vw);
}

.mt30 {
    margin-top: calc(33 / 750 * 100vw);
}

.mt35 {
    margin-top: calc(38 / 750 * 100vw);
}

.mt40 {
    margin-top: calc(43 / 750 * 100vw);
}

.mt45 {
    margin-top: calc(48 / 750 * 100vw);
}

.mt50 {
    margin-top: calc(53 / 750 * 100vw);
}

.mt55 {
    margin-top: calc(58 / 750 * 100vw);
}

.mt60 {
    margin-top: calc(63 / 750 * 100vw);
}

.mt65 {
    margin-top: calc(68 / 750 * 100vw);
}

.mt70 {
    margin-top: calc(73 / 750 * 100vw);
}

.mt80 {
    margin-top: calc(83 / 750 * 100vw);
}

.mt90 {
    margin-top: calc(93 / 750 * 100vw);
}

.mt100 {
    margin-top: calc(103 / 750 * 100vw);
}

.mb05 {
    margin-bottom: calc(8 / 750 * 100vw);
}

.mb10 {
    margin-bottom: calc(13 / 750 * 100vw);
}

.mb12 {
    margin-bottom: calc(15 / 750 * 100vw);
}

.mb15 {
    margin-bottom: calc(18 / 750 * 100vw);
}

.mb20 {
    margin-bottom: calc(23 / 750 * 100vw);
}

.mb25 {
    margin-bottom: calc(28 / 750 * 100vw);
}

.mb30 {
    margin-bottom: calc(33 / 750 * 100vw);
}

.mb35 {
    margin-bottom: calc(38 / 750 * 100vw);
}

.mb40 {
    margin-bottom: calc(43 / 750 * 100vw);
}

.mb45 {
    margin-bottom: calc(48 / 750 * 100vw);
}

.mb50 {
    margin-bottom: calc(53 / 750 * 100vw);
}

.mb55 {
    margin-bottom: calc(58 / 750 * 100vw);
}

.mb60 {
    margin-bottom: calc(63 / 750 * 100vw);
}

.mb65 {
    margin-bottom: calc(68 / 750 * 100vw);
}

.mb70 {
    margin-bottom: calc(73 / 750 * 100vw);
}

.mb80 {
    margin-bottom: calc(83 / 750 * 100vw);
}

.mb90 {
    margin-bottom: calc(93 / 750 * 100vw);
}

.mb100 {
    margin-bottom: calc(103 / 750 * 100vw);
}

@media screen and (min-width: 751px) {
    .mt05 {
        margin-top: calc(5 / 1440 * 100vw);
    }

    .mt10 {
        margin-top: calc(10 / 1440 * 100vw);
    }

    .mt15 {
        margin-top: calc(15 / 1440 * 100vw);
    }

    .mt20 {
        margin-top: calc(20 / 1440 * 100vw);
    }

    .mt25 {
        margin-top: calc(25 / 1440 * 100vw);
    }

    .mt30 {
        margin-top: calc(30 / 1440 * 100vw);
    }

    .mt35 {
        margin-top: calc(35 / 1440 * 100vw);
    }

    .mt40 {
        margin-top: calc(40 / 1440 * 100vw);
    }

    .mt45 {
        margin-top: calc(45 / 1440 * 100vw);
    }

    .mt50 {
        margin-top: calc(50 / 1440 * 100vw);
    }

    .mt60 {
        margin-top: calc(60 / 1440 * 100vw);
    }

    .mt70 {
        margin-top: calc(70 / 1440 * 100vw);
    }

    .mt80 {
        margin-top: calc(80 / 1440 * 100vw);
    }

    .mt90 {
        margin-top: calc(90 / 1440 * 100vw);
    }

    .mt100 {
        margin-top: calc(100 / 1440 * 100vw);
    }

    .mb05 {
        margin-bottom: calc(5 / 1440 * 100vw);
    }

    .mb10 {
        margin-bottom: calc(10 / 1440 * 100vw);
    }

    .mb15 {
        margin-bottom: calc(15 / 1440 * 100vw);
    }

    .mb20 {
        margin-bottom: calc(20 / 1440 * 100vw);
    }

    .mb25 {
        margin-bottom: calc(25 / 1440 * 100vw);
    }

    .mb30 {
        margin-bottom: calc(30 / 1440 * 100vw);
    }

    .mb35 {
        margin-bottom: calc(35 / 1440 * 100vw);
    }

    .mb40 {
        margin-bottom: calc(40 / 1440 * 100vw);
    }

    .mb45 {
        margin-bottom: calc(45 / 1440 * 100vw);
    }

    .mb50 {
        margin-bottom: calc(50 / 1440 * 100vw);
    }

    .mb60 {
        margin-bottom: calc(60 / 1440 * 100vw);
    }

    .mb70 {
        margin-bottom: calc(70 / 1440 * 100vw);
    }

    .mb80 {
        margin-bottom: calc(80 / 1440 * 100vw);
    }

    .mb90 {
        margin-bottom: calc(90 / 1440 * 100vw);
    }

    .mb100 {
        margin-bottom: calc(100 / 1440 * 100vw);
    }
}

@media screen and (min-width: 1250px) {
    .mt05 {
        margin-top: 5px;
    }

    .mt10 {
        margin-top: 10px;
    }

    .mt15 {
        margin-top: 15px;
    }

    .mt20 {
        margin-top: 20px;
    }

    .mt25 {
        margin-top: 25px;
    }

    .mt30 {
        margin-top: 30px;
    }

    .mt35 {
        margin-top: 35px;
    }

    .mt40 {
        margin-top: 40px;
    }

    .mt45 {
        margin-top: 45px;
    }

    .mt50 {
        margin-top: 50px;
    }

    .mt60 {
        margin-top: 60px;
    }

    .mt70 {
        margin-top: 70px;
    }

    .mt80 {
        margin-top: 80px;
    }

    .mt90 {
        margin-top: 90px;
    }

    .mt100 {
        margin-top: 100px;
    }

    .mb05 {
        margin-bottom: 5px;
    }

    .mb10 {
        margin-bottom: 10px;
    }

    .mb15 {
        margin-bottom: 15px;
    }

    .mb20 {
        margin-bottom: 20px;
    }

    .mb25 {
        margin-bottom: 25px;
    }

    .mb30 {
        margin-bottom: 30px;
    }

    .mb35 {
        margin-bottom: 35px;
    }

    .mb40 {
        margin-bottom: 40px;
    }

    .mb45 {
        margin-bottom: 45px;
    }

    .mb50 {
        margin-bottom: 50px;
    }

    .mb60 {
        margin-bottom: 60px;
    }

    .mb70 {
        margin-bottom: 70px;
    }

    .mb80 {
        margin-bottom: 80px;
    }

    .mb90 {
        margin-bottom: 90px;
    }

    .mb100 {
        margin-bottom: 100px;
    }
}

.small-kome {
    font-size: 14px;
}


/* 項目表示・非表示 */

.jsdisplay {
display: none;
}
.jsdisplay01 {
display: block;
}



/* レスポンス改行 */
@media screen and (min-width: 768px){
  .sp-br {
   display: none;
  }
}

.no-checked {
    pointer-events: none;
    background-color: #ccc !important;
}

/* safariのtableタグの縦並びの指定 */
@media screen and (max-width: 750px) {
    table,
    thead,
    tbody,
    tr,
    th,
    td {
        display: block;
    }
}


/* 画像設置用 */
.toyoimg{
	max-width:300px;
}

/* 法人/個人の切り替え */
.inquiry-change {
    display: block;
    width: fit-content;
    text-decoration: underline !important;
    margin: 0 auto 40px;
    color: #ff1462;
    transition: .3s ease-out;
    padding: 0 4px;
}

.inquiry-change:hover {
    text-decoration: none !important;
    background-color: #FF1462;
    color: #fff;
}

/* 20220530追加修正
-------------------------------------------------------*/
.input-legal-name-area {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.input-legal-name-area input {
    width: 45%;
    margin: 0;
}

@media screen and (max-width: 768px) {
    .input-legal-name-area {
        gap: 16px;
    }
    
    .input-legal-name-area input {
        width: 100%;
    }    
}

.birthday-select-box {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100% !important;
}

.birthday-select-box select {
    margin: 0;
}

.birthday-select-box .txt {
    display: inline-block;
    margin: 0 12px;
}

@media screen and (max-width: 768px) {
    /*--.birthday-select-box select {
        width: 33%;
    }--*/

    .birthday-select-box .txt {
        margin: 0;
        text-align: center;        
    }
}

/*  動画
-------------------------------------------------------*/
.movie{
       position:relative;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}

.movie::before{
       content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}

.movie iframe {
	position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
}

/* ----------------- コラボエリア背景https://www.svgbackgrounds.com/#bullseye-gradient - */

.flexbox {
	padding: .2em 0;
	background-color: #86C8FF;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 1200 800'%3E%3Cdefs%3E%3CradialGradient id='a' cx='0' cy='800' r='800' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23b0f3ff'/%3E%3Cstop offset='1' stop-color='%23b0f3ff' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='b' cx='1200' cy='800' r='800' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23a6bdff'/%3E%3Cstop offset='1' stop-color='%23a6bdff' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='c' cx='600' cy='0' r='600' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23d0eaff'/%3E%3Cstop offset='1' stop-color='%23d0eaff' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='d' cx='600' cy='800' r='600' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%2386C8FF'/%3E%3Cstop offset='1' stop-color='%2386C8FF' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='e' cx='0' cy='0' r='800' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23DAFFF9'/%3E%3Cstop offset='1' stop-color='%23DAFFF9' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='f' cx='1200' cy='0' r='800' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23C8C6FF'/%3E%3Cstop offset='1' stop-color='%23C8C6FF' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect fill='url(%23a)' width='1200' height='800'/%3E%3Crect fill='url(%23b)' width='1200' height='800'/%3E%3Crect fill='url(%23c)' width='1200' height='800'/%3E%3Crect fill='url(%23d)' width='1200' height='800'/%3E%3Crect fill='url(%23e)' width='1200' height='800'/%3E%3Crect fill='url(%23f)' width='1200' height='800'/%3E%3C/svg%3E");
background-attachment: fixed;
background-size: cover;
}

.flexbox-in {
    position: relative;
    margin: 0 auto;
    padding: 0 2.6vw;
    width: 100%;
}

.flexbox-ininner {
    position: relative;
    margin: 0 auto;
    padding: 2vw;
    width: 100%;
}

.itembox {
  width: 100%;
  padding: 10px;
  margin: 1px 0;
  background-color:#fff;
  border: 1px #0075c2 solid;
  box-shadow: 0 2px 10px #9FF;
}

.itembox2 {
  width: 100%;
  margin: 15px 0;
}

.item-img {
  padding: 0;
  text-align:center;
}

.item-img img{
	width:90%;
}

.item-img2 {
  padding: 50% 0;
  text-align:center;
}

.item-body {
  padding: 0;
}
.item-title {
  margin: 0 0 8px;
  text-align:center;
  font-size: 20px;
  font-weight: 700;
  color: #fd1378;
}
.item-body p {
  font-size: 16px;
  font-weight: 400;
  color: #333;
}

.items {
  display: flex;
  justify-content: space-between;
}
.items .itembox {
  width: 45%;
}

.items .itembox2 {
  width: 15%;
}

@media screen and (max-width: 751px) {
  .flexbox-in {
        padding: 0 1vw;
        max-width: calc(1200 / 1200 * 100vw);
  }
  
  .flexbox {
        font-size: calc(12 / 1200 * 100vw);
  }
	
  .items {
    flex-direction: column;
  }
  
  .items .itembox {
    width: 100%;
  }
  .items .itembox2 {
    width: 100%;
  }
  .items .item-img2 {
	padding: 0;
  }
}


@media screen and (min-width: 1250px) {
    .flexbox {
        font-size: 15px;
    }
	.flexbox-in {
        padding: 0;
        max-width: 1200px;
    }
}


/* ----------------- アニメーション - */
/* --参考サイト　https://rico-notes.com/programming/css/css-fade-in/-- */

.slide-bottomY {
   opacity: 0;
   transform: translate(0,30px);/*--アニメーション距離X,Y--*/
   transition: all 0.5s 0.2s ease-out;/*--変化対象all　変化時間　待機時間　進行スピード--*/
 }
 
 /*  SEO対策用　追加ヘッダーメニュー
-------------------------------------------------------*/
.header01 {
	width:100%
}
