@charset "utf-8";


/*----------------------------------------
        modal
----------------------------------------*/
.modalBoxBg {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background-color: rgba(52, 52, 52, 0.95);
}
.modalBoxBg.is-show {
    display: block;
}
.modalBoxWrap {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 1010;
    top: 0;
    left: 0;
}
.modalBoxWrap.is-show {
    display: block;
}
.modalBox {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    width: 100%;
    height: 100%;
}
.modalBoxInner {
    width: 860px;
    position: relative;
    max-height: 90%;
    border-radius: 10px;
    overflow-y: scroll;
    background-color: #fff;
}
.modalBoxInner::-webkit-scrollbar {
    display: none;
}
.modalBoxHeader {
    padding: 15px 35px;
    background-color: #3360ba;

    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.modalBoxTitle {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.05em;
    color: #FFF;
}
.modalBoxClose {
    width: 18px;
    height: 18px;
    background-image: url("../images/btn_close_white.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    cursor: pointer;
}

.modalBoxBody {
    padding: 35px 35px 0;
}
.modalBoxFiled {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
    -webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.modalBoxFiledTitle {

}
.modalBoxFiledList {
    height: 100%;
    max-height: 50vh;
}
.modalBoxFiledInner {
    height: 100%;
    border-radius: 8px;
    background-color: #F2F2F2;
    padding-right: 5px;
    overflow-y: scroll;
}

.tabListBlock {
    width: 100%;
}
.tabPanelBlock {

}
.tabListBlockLeft {
    width: 260px;
}
.tabListBlockRight {
    width: 495px;
}
.tabList {
    padding: 25px 0 25px 25px;
}
.tabList__flex {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
    -webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-weight: 500;
}

.tabListItem {
    position: relative;
    padding-right: 40px;
    font-size: 14px;
    line-height: 1.2em;
}
.tabListItem__full {
    width: 100%;
}
.tabListItem__3column {
    width: 33.3%;
}
.tabListItem:nth-child(n+2) {
    margin-top: 15px;
}
.tabPanelItem {
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.2em;
}
.tabListTabBtn {
}
.tabListTabBtn + label {
    display: block;
    cursor: pointer;
}
.tabListTabBtn + label.is-current {
    font-weight: 700;
    color: #3360ba;
}

.tabListItemSelect {
    position: absolute;
    top: 0;
    right: 0;
    border: 1px solid #3360ba;
    border-radius: 3px;
    padding: 2px 5px;
    font-size: 11px;
    line-height: 1;
    color: #FFF;
    text-align: center;
    background-color: #3360ba;
}

.tabPanelInputCheckbox {
    font-family: "Noto Sans Japanese","ヒラギノ角ゴ Pro W3","HiraKakuPro-W3","メイリオ",Meiryo,Arial,sans-serif;
}
.tabPanelInputCheckbox + label {
    position: relative;
    display: inline-block;
	padding: 0 0 0 30px;
	cursor: pointer;
}
.tabPanelInputCheckbox + label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.5px;
    display: block;
    height: 14px;
    width: 14px;
    background-color: #fff;
    border-radius: 3px;
    border: 1px solid #888888;
    box-sizing: border-box;
}
.tabPanelInputCheckbox:checked + label {
    font-weight: 700;
    color: #3360ba;
}
.tabPanelInputCheckbox:checked + label::before {
    background-color: #3360ba;
    border: 1px solid #3360ba;
}
.tabPanelInputCheckbox:checked + label:after {
    content: "";
    position: absolute;
    height: 3px;
    width: 6px;
    left: 3px;
    top: 4.5px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.tabPanelInputCheckbox + label.no-label {
    opacity: 0;
    margin: 0;
    padding: 0;
    font-size: 0;
}

.modalBoxFooter {
    padding: 35px;
}
.modalBoxBtnWrap {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.modalBoxBtn {
	display: block;
    width: 280px;
    border: 2px solid #96B6D6;
	padding: 15px 50px;
	border-radius: 30px;
	background-color: #3360ba;
    text-align: center;
    cursor: pointer;
}
.modalBoxBtn:nth-child(n+2) {
    margin-left: 30px;
}
.modalBoxBtn__clear {
    border-color: #CCCCCC;
    background-color: #AFAFAF;
    color: #333;
}
.modalBoxBtnText {
    font-weight: 700;
    color: #fff;
}
.modalBoxFiled--sp{
    display: none;
}
/*----------------------------------------
  画面の横幅が560pxまで
----------------------------------------*/
@media (max-width: 560px) {


    /*----------------------------------------
            modal
    ----------------------------------------*/
    .modalBoxInner {
        width: 92.85vw;
        border-radius: 2.85vw;
    }
    .modalBoxHeader {
        padding: 2.67vw 5.35vw;
    }
    .modalBoxTitle {
        font-size: 5.71vw;
    }
    .modalBoxClose {
        width: 3.57vw;
        height: 3.57vw;
    }
    .modalBoxText01 {
        font-size: 5vw;
    }
    .modalBoxBody {
        padding: 5.35vw;
    }
    .modalBoxFiled {
        display: block;
        height: 100%;
    }
    .modalBoxFiledTitle {

    }
    .modalBoxFiledList {
        height: 100%;
        max-height: 50vh;
        overflow-y: auto;
    }
    .modalBoxFiledInner {
        height: 100%;
        border-radius: 0;
        padding-right: 0;
        overflow: hidden;
        background-color: #FFF;
    }
    .tabListBlock {
        width: 100%;
        height: 100%;
    }
    .tabListBlockLeft {
        width: 100%
    }
    .tabListBlockRight {
        width: 100%
    }
    .tabList {
        padding: 0;
        display: inline-block;
        align-items: unset;
    }
    .tabListItem {
        padding-right: 0;
        font-size: 3.5vw;
    }
    .tabListTabBtn + label {
        position: relative;
        display: block;
        padding: 3.57vw 23vw 3.57vw 0;
        font-size: 3.92vw;
        line-height: 1.42;
        letter-spacing: 0.01em;
        font-weight: 700;
        background-image: url("../images/circle_down_transparent_blue.svg");
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 8.03vw;
        cursor: pointer;
    }
    .tabListTabBtn + label._contentToggleOpen {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    .tabListItem, .tabPanelItem {
        margin-top: 3.33vw;
        min-width: 50%;
        margin-right: 0;
        padding-right: 3.33vw;
        display: inline-block;
        font-size: 3.5vw;
        line-height: 1.4em;
        width: auto;
        float: left;
    }
    .tabListItem:first-child {
        display: block;
        width: 100%;
        margin-top: 0;
    }
    .tabListItem .tabPanelInputCheckbox + label, .tabPanelItem .tabPanelInputCheckbox + label {
        position: relative;
        display: inline-block;
        padding: 0 0 0 7.14vw;
        font-size: 3.92vw;
        color: #000;
        line-height: 1.3;
        letter-spacing: -0.05em;
        cursor: pointer;
        vertical-align: top;
    }
    .tabPanelInputCheckbox + label::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        display: block;
        height: 4.82vw;
        width: 4.82vw;
        background-color: #FFFFFF;
        border: 0.17vw solid #888888;
        border-radius: 0.53vw;
        box-sizing: border-box;
    }
    .tabPanelInputCheckbox:checked + label{
        font-weight: 700;
        color: #3360ba;
    }
    .tabPanelInputCheckbox:checked + label:after{
        content: "";
        position: absolute;
        width: 2.2vw;
        height: 1.2vw;
        left: 1vw;
        top: 1.2vw;
        border-bottom: 0.71vw solid #FFFFFF;
        border-left: 0.71vw solid #FFFFFF;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    .modalBoxFooter{
        padding: 5.35vw;
        background-color: #F2F2F2;
    }
    .modalBoxBtnWrap{
        flex-direction: column-reverse;
    }
    .modalBoxBtn{
        width: 51.78vw;
        border-radius: 7.16vw;
        padding: 2.67vw;
        text-align: center;
        background-color: #144B82;
    }
    .modalBoxBtn:nth-child(n+2){
        margin-left: 0;
    }
    .modalBoxBtnText{
        font-size: 4.64vw;
        font-weight: 700;
        line-height: 1.42;
        color: #fff;
    }
    .modalBoxBtn__clear{
        margin-top: 3.57vw;
        display: inline-block;
        text-align: center;
        cursor: pointer;
        background-color: transparent;
        padding: 0;
        border-radius: unset;
        border: unset;
    }
    .modalBoxBtn__clear .modalBoxBtnText{
        font-size: 4.82vw;
        font-weight: 700;
        color: #C4C4C4;
        text-decoration: underline;
    }
    .modalBoxFiled--pc{
        display: none;
    }
    .modalBoxFiled--sp{
        display: block;
    }
    .spEntryOptionList{
        border-top: 0.17vw solid rgba(0, 118, 170, 0.21);
    }
    .spEntryOptionListDd{
        padding: 0 0 3.57vw;
    }
    .tabPanelItem:first-child{
        display: block;
        width: 100%;
        margin-top: 0;
    }
    .spEntryOptionList:last-child{
        border-bottom: 0.17vw solid rgba(0, 118, 170, 0.21);
    }
    /*.modalBoxBg {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 30;
        background-color: rgba(52, 52, 52, 0.95);
    }
    .modalBoxBg.is-show {
        display: block;
    }
    .modalBoxWrap {
        display: none;
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 35;
        top: 0;
        left: 0;
    }
    .modalBoxWrap.is-show {
        display: block;
    }
    .modalBox {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;

        width: 100%;
        height: 100%;
    }
    
    .modalBoxInner::-webkit-scrollbar {
        display: none;
    }
    .modalBoxHeader {
        padding: 2.67vw 5.35vw;
    }
    .modalBoxTitle {
        font-size: 5.71vw;
    }
    .modalBoxClose {
        width: 3.57vw;
        height: 3.57vw;
    }

    .modalBoxText01 {
        font-size: 5vw;
    }

    .modalBoxBody {
        padding: 5.35vw;
    }
    .modalBoxFiled {
        display: block;
        height: 100%;
    }
    .modalBoxFiledTitle {

    }
    .modalBoxFiledList {
        height: 100%;
        max-height: 50vh;
        overflow-y: auto;
    }
    .modalBoxFiledInner {
        height: 100%;
        border-radius: 0;
        padding-right: 0;
        overflow: hidden;

        background-color: #FFF;
    }
    .tabListBlock {
        width: 100%;
        height: 100%;
    }
    .tabPanelBlock {

    }
    .tabListBlockLeft {
        width: 100%
    }
    .tabListBlockRight {
        width: 100%
    }
    .spEntryOptionList {
        border-top: 0.17vw solid rgba(0, 118, 170, 0.21);
    }
    .spEntryOptionList:last-child {
        border-bottom: 0.17vw solid rgba(0, 118, 170, 0.21);
    }
    .spEntryOptionList2 {

    }
    .spEntryOptionListDt {

    }
    .spEntryOptionListDd {
        padding: 0 0 3.57vw;
    }
    .tabList {
        padding: 0;
    }
    .tabListItem {
        padding-right: 0;
        font-size: 3.5vw;
    }
    .tabPanelItem {
        margin-top: 0;
        font-size: 3.5vw;
    }
    .tabListTabBtn {

    }
    .tabListTabBtn + label {
        position: relative;
        display: block;
        padding: 3.57vw 23vw 3.57vw 0;
        font-size: 3.92vw;
        line-height: 1.42;
        letter-spacing: 0.01em;
        font-weight: 700;
        background-image: url("../images/circle_down_transparent_blue.svg");
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 8.03vw;
        cursor: pointer;
    }
    .tabListTabBtn + label._contentToggleOpen {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    .tabListTabBtn + label.is-current {

    }
    .tabListItemSelect {
        position: absolute;
        top: 50%;
        right: 9.82vw;
        margin-top: -2.23vw;
        width: 12.5vw;
        border: 0.35vw solid #144B82;
        padding: 0.89vw;
        font-size: 2.85vw;
        color: #fff;
        line-height: 1;
        background-color: #144B82;
    }
     .tabPanelInputCheckbox + label {
        padding: 5vw 0 5vw 6vw;
        line-height: 1.3em;
        width: 100%;
    }

    .tabPanelItem .tabPanelInputCheckbox + label {
        border: 0.16vw solid #144B82;
        border-radius: 0.83vw;
        padding: 1.16vw 1.66vw 1.16vw 5.83vw;
        width: auto;
        color: #144B82;
        font-size: 3.5vw;
        font-weight: 700;
    }
    .tabPanelInputCheckbox + label::before {
        content: none;
    }
    .tabPanelInputCheckbox:checked + label {
        color: #FFF;
        background-color: #144B82;
    }
    .tabPanelInputCheckbox:checked + label::before {

    }
    .tabPanelInputCheckbox + label:after {
        content: "";
        position: absolute;
        width: 2.2vw;
        height: 1.2vw;
        left: 1vw;
        top: 1.2vw;
        border-bottom: 0.71vw solid #FFFFFF;
        border-left: 0.71vw solid #FFFFFF;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    .tabPanelInputCheckbox:checked + label:after {
        width: 2.2vw;
        height: 1.2vw;
        left: 1vw;
        top: 1.2vw;
        border-bottom: 0.71vw solid #FFFFFF;
        border-left: 0.71vw solid #FFFFFF;
    }

    .tabPanelItem2 {
        margin-top: 3.33vw;
        min-width: 50%;
        margin-right: 0;
        padding-right: 3.33vw;
        display: inline-block;
        font-size: 3.5vw;
        line-height: 1.4em;
    }
    .tabPanelItem2:first-child {
        display: block;
        width: 100%;
        margin-top: 0;
    }
    .tabPanelInputCheckbox2 {
        font-family: "Noto Sans Japanese","ヒラギノ角ゴ Pro W3","HiraKakuPro-W3","メイリオ",Meiryo,Arial,sans-serif;
    }
    .tabPanelItem2 .tabPanelInputCheckbox2 + label {
        position: relative;
        display: inline-block;
        padding: 0 0 0 7.14vw;
        font-size: 3.92vw;
        color: #000;
        line-height: 1.3;
        letter-spacing: -0.05em;
        cursor: pointer;
    
        vertical-align: top;
    }
    .tabPanelInputCheckbox2 + label::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        display: block;
        height: 4.82vw;
        width: 4.82vw;
        background-color: #FFFFFF;
        border: 0.17vw solid #888888;
        border-radius: 0.53vw;
        box-sizing: border-box;
    }
    .tabPanelInputCheckbox2:checked + label {
        font-weight: 700;
        color: #144B82;
    }
    .tabPanelInputCheckbox2:checked + label::before {
        border: 1px solid #144B82;
        background-color: #144B82;
    }
    .tabPanelInputCheckbox2:checked + label:after {
        content: "";
        position: absolute;
        width: 2.2vw;
        height: 1.2vw;
        left: 1vw;
        top: 1.2vw;
        border-bottom: 0.71vw solid #FFFFFF;
        border-left: 0.71vw solid #FFFFFF;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .tabPanelInputCheckbox2 + label.no-label {
        opacity: 0;
        margin: 0;
        padding: 0;
        font-size: 0;
    }

    .modalBoxFooter {
        padding: 5.35vw;
        background-color: #F2F2F2;
    }
    .modalBoxBtnWrap {

    }
    .modalBoxBtn {
        width: 51.78vw;
        border-radius: 7.16vw;
        padding: 2.67vw;
        text-align: center;
        background-color: #144B82;
    }
    .modalBoxBtnText {
        font-size: 4.64vw;
        font-weight: 700;
        line-height: 1.42;
        color: #fff;
    }
    .modalBoxLink {
        margin-top: 3.57vw;
        display: inline-block;
        text-align: center;
        cursor: pointer;
    }
    .modalBoxLinkText {
        font-size: 4.82vw;
        font-weight: 700;
        color: #C4C4C4;
        text-decoration: underline;
    }*/
}