@charset "UTF-8";

/*-------------------------
__requiremqmts_style
-------------------------*/

#wrap.contents #page_title .basic_title span span{ font-size: .6em; display: inline-block; margin-left: 10px;}

.requirements{ width: 100%; max-width: 1000px; margin:80px auto 0; display: block; border-top: 1px solid var(--base_navy);}
.requirements .list_eigyo{ padding: 70px 20px;}
.requirements a.back{ padding: 70px 20px; color: rgb(51, 51, 51); background: transparent; position: relative; z-index: 1; transition: .5s; display: block;}
.requirements a.back::before{ content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; background: #e0ecf8; transform-origin: 100% 50%; transform: scaleX(0); transition: transform ease .5s;}
.requirements a.back:hover{}
.requirements a.back:hover::before { transform-origin: 0% 50%; transform: scaleX(1);}
.requirements ul.list { display:flex;flex-wrap:wrap;}
.requirements ul.list li { line-height: 1.6; font-weight: 700; width: 100%; position: relative; padding:0; border-bottom: 1px solid var(--base_navy);}
.requirements ul.list li h2.requirements_title{ font-size: 2.7em; line-height: 38px; font-weight: 700; vertical-align: top; display: flex; margin: 0 0 40px;}
.requirements ul.list li h2.requirements_title span{ font-size: .6em; line-height: 1em; font-weight: 100; line-height: 26px;height: 26px; padding: 2px 30px; border: 1px solid #23374b; margin: 3px 0 0 20px;display: flex; background-color: #fff;}
.requirements ul.list li p.requirements_text{ font-size: 1.6em;margin-right: 40px;}
.requirements ul.list li .arrow{ position: absolute; top: 50%; right: 20px; transform: translateY(-50%); -webkit-transform: translateY(-50%); display: inline-block; width: 25px; height: 4px; margin:0; border-radius: 0 9999PX 9999PX 0;background-color: rgb(51, 51, 51);}
.requirements ul.list li .arrow::before,
.requirements ul.list li .arrow::after { content: ""; position: absolute; top: calc(50% - 2px); right: 0; width: 16px; height: 4px; border-radius: 0 9999PX 9999PX 0; background-color: rgb(51, 51, 51)!important; transform-origin: calc(100% - 2px) 50%;}
.requirements ul.list li .arrow::before{ transform: rotate(45deg);}
.requirements ul.list li .arrow::after{ transform: rotate(-45deg);}
.requirements ul.list li {}
.requirements ul.list li .list_title span.text{ font-size: 2em;line-height: 1; font-weight: 700; color: var(--main_blue); display: inline-block; padding-left: 25px; position: relative;}
.requirements ul.list li .list_title span.text:before{ content: ''; display: block; width: 17px; height: 17px; border-radius: 50vh; background-color: var(--main_blue); position: absolute; top: 2px; left: 0;}
.requirements ul.list li .list_title span.text:after{ content: ''; display: block; width: 5px; height: 5px; border-radius: 50vh; background-color: #fff; position: absolute; top: 8px; left: 6px;}

.requirements ul.list li .requirements_top{ display: flex; flex-wrap: wrap; justify-content: flex-start; margin-bottom: 40px; padding-right: 25px; box-sizing: border-box;}
.requirements ul.list li .requirements_top h2.requirements_title{ margin: 0 20px 0 0;}
.requirements ul.list li .requirements_top .icon{ display: flex; flex-wrap: wrap; justify-content: flex-start;}
.requirements ul.list li .requirements_top .icon p{ font-size: 1.6em!important; white-space: nowrap; display: inline-block; font-size: .6em; font-weight: 100; line-height: 26px; height: 26px; padding: 2px 30px; margin: 5px 10px 5px 0;}
.requirements ul.list li .requirements_top .icon p.occupation{ border: 1px solid #23374b; background-color: #fff;}
.requirements ul.list li .requirements_top .icon p.store{ color: #fff; border: 1px solid var(--main_blue); background-color: var(--main_blue);}

@media screen and (max-width:999px){
.requirements { width: 100%; margin:6.25vw auto 0;}
.requirements .list_eigyo {padding:  5.46vw 1.56vw;}
.requirements a.back { padding: 5.46vw 0;}
.requirements a.back::before { background: initial;}
.requirements a.back:hover{}
.requirements a.back:hover::before { transform-origin: initial; transform: initial;}
.requirements ul.list li h2.requirements_title {font-size: 2.2em;margin: 0 0 3.12vw;}
.requirements ul.list li h2.requirements_title span {font-size: .6em;padding: 0.15vw 2.34vw;}
.requirements ul.list li p.requirements_text {font-size: 1.4em;margin-right: 10vw;}
.requirements ul.list li .list_title{ width: 78.12vw;margin-bottom: 2.34vw;}
.requirements ul.list li .list_title span.text { font-size: 1.6em;}
.requirements ul.list li .list_title span.text:before{ width: 16px; height: 16px;top: 0; left: 0;}
.requirements ul.list li .list_title span.text:after{width: 4px; height: 4px;top: 6px; left: 6px;}
.requirements ul.list li .arrow{ position: absolute; top: 50%; right: 0; transform: translateY(-50%); -webkit-transform: translateY(-50%); display: inline-block; width: 17px; height: 2px; margin:0; border-radius: 9999px; background-color: rgb(51, 51, 51);}
.requirements ul.list li .arrow::before,
.requirements ul.list li .arrow::after { content: ""; position: absolute; top: calc(50% - 1px); right: 0; width: 10px; height: 2px; border-radius: 9999px; background-color: rgb(51, 51, 51)!important; transform-origin: calc(100% - 1px) 50%;}
.requirements ul.list li .arrow::before{transform: rotate(45deg);}
.requirements ul.list li .arrow::after{transform: rotate(-45deg);}

.requirements ul.list li .requirements_top{ margin-bottom: 30px;}
.requirements ul.list li .requirements_top h2.requirements_title{ margin: 0 20px 10px 0;}
.requirements ul.list li .requirements_top .icon p{ font-size: 1.4em!important; padding: 0.15vw 2.34vw;}
}

@media screen and (max-width: 767px) {
.requirements ul.list li h2.requirements_title {font-size: 1.8em; line-height: 1.4; margin: 0 0 3.12vw;display: inline-block;}
.requirements ul.list li h2.requirements_title span {display: inline-block;margin: 0 0 0 5vw;}
.requirements ul.list li p.requirements_text {font-size: 1.3em;margin-right: 10vw;}
.requirements ul.list li .arrow{ right: 1.56vw;}
.requirements ul.list li .list_title{width: 100%; margin-bottom: 5vw;}
.requirements ul.list li .list_title span.text { font-size: 1.4em;}
.m-zero {margin: 0 auto 5vw!important;}
.requirements ul.list li .list_title span.text{ font-size: 1.4em; padding-left: 15px;}
.requirements ul.list li .list_title span.text:before{ width: 13px; height: 13px; top: 2px; left: 0;}
.requirements ul.list li .list_title span.text:after{ width: 3px; height: 3px; top: 7px; left: 5px;}

.requirements ul.list li .requirements_top{ display: block; margin-bottom: 20px;}
.requirements ul.list li .requirements_top h2.requirements_title{ margin: 0 10px 10px 0;}
.requirements ul.list li .requirements_top .icon p{ font-size: 1.2em!important; padding: 0.15vw 2.34vw; margin: 3px 6px 3px 0;}

}



.requirements .list_title{ width: 100%; max-width: 1000px;margin:50px auto 0; margin-bottom: 20px;}
.m-zero {margin: 0 auto 20px!important;}
.m-zero {margin: 0 auto 2.34vw!important;}

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

@media screen and (max-width: 767px) {
.requirements .list_title{margin:5vw auto 0;}
}



ul.shop {border: none!important;display:flex;flex-wrap:wrap;}
ul.shop li {width: 25%!important; border: none!important;margin:0 0 14px;}
ul.shop li:nth-child(4n+1):nth-last-child(-n+4),
ul.shop li:nth-child(4n+1):nth-last-child(-n+4) ~ li { margin-bottom: 0; }
ul.shop li .shop_btn {font-size: 1.6em;}
ul.shop li .shop_btn a { color: #000; position: relative; justify-content: space-around; transition: 0.3s ease-in-out; transition: .2s; padding-left: 1em; display: block;}
ul.shop li .shop_btn a:after { content: ""; position: absolute; top: 50%; bottom: 0; left: 0; font-size: 90%; display: flex; justify-content: center; align-items: center;width: 6px; height: 6px; border-top: solid 2px currentColor; border-right: solid 2px currentColor; transform: translateY(-50%) rotate(45deg);}
ul.shop li .shop_btn a:hover{}
ul.shop li .shop_btn a:hover{ transform: translateX(10px);}

@media screen and (max-width:999px){
ul.shop li .shop_btn {font-size: 1.4em;}
}

@media screen and (max-width: 767px) {
ul.shop li .shop_btn {font-size: 1.3em;}
}



.requirements_detail { width: 100%; max-width: 1000px;margin:0 auto 110px;}
.requirements_detail .icon {display:flex;flex-wrap:wrap;margin: 0 0 32px;}
.requirements_detail .icon p {font-size: 1.7em;font-weight: 700; line-height: 26px;height: 26px; padding: 4px 30px;display: inline-block;margin:0 20px 0 0;}
.requirements_detail .icon p.occupation { border: 1px solid #23374b;display: flex;}
.requirements_detail .icon p.store { border: 1px solid var(--main_blue);background: var(--main_blue); color: #fff;display: flex;}
.requirements_detail h1.detail_title {font-size: 5.5em;font-weight: 700; line-height: 1.6;margin: 0 0 100px;}
.requirements_detail table{ width: 100%; border-top: 1px solid var(--base_navy);border-collapse:collapse;}
.requirements_detail table th { font-weight: 700; font-size: 1.6em; line-height: 2; width: 210px; padding: 50px 0; border-bottom: 1px solid var(--base_navy);vertical-align: top;}
.requirements_detail table td { font-weight: 700; font-size: 1.6em; line-height: 2; padding: 50px 0;border-bottom: 1px solid var(--base_navy);}
/*.requirements_detail table td > p,
.requirements_detail table td > div:not(:last-child){margin: 0 0 2em!important;}*/
.requirements_detail table td > p a{color:var(--base_navy);text-decoration:underline;}
@media screen and (min-width: 768px) {
  .requirements_detail table td > p a:hover{text-decoration:none;}
}

@media screen and (max-width:999px){
.requirements_detail { margin:0 auto 9.16vw;}
.requirements_detail .icon {display:flex;flex-wrap:wrap;margin: 0 0 2.6vw;}
.requirements_detail .icon p {font-size: 1.4em;}
.requirements_detail h1.detail_title {font-size: 3em;margin: 0 0 8.33vw;}
.requirements_detail table{}
.requirements_detail table th{ font-size: 1.6em; line-height: 1.7; width: 8em; padding: 4.16vw 0;}
.requirements_detail table td{ font-size: 1.4em; line-height: 1.7; padding: 4.16vw 0;}
/*.requirements_detail table td p { margin: 0 0 4.16vw;}*/
}

@media screen and (max-width: 767px) {
.requirements_detail h1.detail_title {font-size: 2.8em;margin: 0 0 8vw;}
.requirements_detail .icon p {font-size: 1.2em; font-weight: 700; line-height: 22px;height: 22px; padding: 4px 20px;display: inline-block;margin:0 10px 5px 0;}
.requirements_detail table{}
.requirements_detail table th{ font-size: 1.5em; width: 100%; display: block; padding: 4.16vw 0 0; border: none;}
.requirements_detail table td{ font-size: 1.3em; width: 100%; display: block; padding: 5px 0 4.16vw;}
.requirements_detail table td > p,
.requirements_detail table td > div:not(:last-child){margin: 0!important;}
}




.list_title{margin: 0 0 55px;}
.list_title span.text { font-size: 3em;line-height: 1; font-weight: 700; color: var(--main_blue); display: inline-block; padding-left: 45px; position: relative;}
.list_title span.text:before{ content: ''; display: block; width: 28px; height: 28px; border-radius: 50vh; background-color: var(--main_blue); position: absolute; top: 0; left: 0;}
.list_title span.text:after{ content: ''; display: block; width: 8px; height: 8px; border-radius: 50vh; background-color: #fff; position: absolute; top: 10px; left: 10px;}
@media screen and (max-width:999px){
.list_title{ width: 78.12vw;margin-bottom: 2.34vw;}
.list_title span.text{ font-size: 2.2em;padding-left: 30px;}
.list_title span.text:before{ width: 20px; height: 20px;top: 1px; left: 1px;}
.list_title span.text:after{ width: 6px; height: 6px;top: 8px; left: 8px; }
}
@media screen and (max-width: 767px) {
.list_title{width: 100%; margin-bottom: 5vw;}
.list_title span.text{ font-size: 1.8em; padding-left: 28px;}
.list_title span.text:before{ width: 18px; height: 18px; top: 1px; left: 0;}
.list_title span.text:after{ width: 6px; height: 6px; top: 7px; left: 6px;}
}



.flow { width: 100%; max-width: 1000px;margin:0 auto 110px;}
.flow .flow_back { width:100%; background: #f3f8fc; padding:25px 75px 5px; box-sizing: border-box; margin: 0 0 20px;}
.flow ul.flow_list {}
.flow ul.flow_list li {text-align: left;display:flex;flex-wrap:wrap; align-items: center;justify-content: center;}
.flow ul.flow_list li { position: relative; margin: 1.5em 0; padding: 50px 40px 70px; min-width: 120px; max-width: 100%; color: var(--main_blue); font-size: 1.6em; border-bottom: solid 2px var(--main_blue); box-sizing: border-box;}
.flow ul.flow_list li:before { content: ""; position: absolute; bottom: -35.6px; left: 50%; margin-left: -20px; border: 18px solid transparent;border-top: 18px solid #f3f8fc; z-index: 2;}
.flow ul.flow_list li:after { content: ""; position: absolute; bottom: -40px; left: 50%; margin-left: -22px; border: 20px solid transparent;border-top: 20px solid var(--main_blue); z-index: 1;}
.flow ul.flow_list li:last-child {border: none;}
.flow ul.flow_list li:last-child:before,
.flow ul.flow_list li:last-child:after {display: none;}
.flow ul.flow_list li p {text-align: left!important;vertical-align: middle;}
.flow ul.flow_list li p.title { font-size: 1.4em; font-weight: 700; width: 30%;}
.flow ul.flow_list li p.title span {font-size: .8em;vertical-align: inherit;margin-right: 40px;}
.flow ul.flow_list li p.text {font-size: 1.2em; line-height: 1.7; font-weight: 700;width: 70%;margin: 0;}
.flow p {font-size: 1.6em;width: 100%;font-weight: 700; text-align: right;}

@media screen and (max-width:999px){
.flow {margin:0 auto 9.16vw;}
.flow .flow_back {width:calc(100% - 12.5vw); background: #f3f8fc;padding:2.08vw 6.25vw 0.41vw;margin: 0 0 1.66vw;}
.flow ul.flow_list li { position: relative; font-size: 1.4em; margin: 1.5em 0; padding: 4.16vw 3.33vw 5.83vw; min-width: 10vw; max-width: 100%;}
.flow ul.flow_list li p.title {width: 30%;}
.flow ul.flow_list li p.title span {margin-right: 3.33vw;}
.flow ul.flow_list li p.title span {margin-right: 3.33;}
low ul.flow_list li p.text {width: 70%;margin: 0;}
}

@media screen and (max-width: 767px) {
.flow ul.flow_list li {font-size: 1.3em;}
.flow ul.flow_list li p.title {width: 100%;display: block;margin: 0 0 5%;}
.flow ul.flow_list li p.text {font-size: .8em;width: 100%;display: block;}
.flow p {font-size: 1.2em;}
}



.requirements_entry{ width: 100%; max-width: 1100px;margin: auto; padding: 110px 0 0;}
.requirements_entry .footer_entry_inner{ padding: 0 50px; box-sizing: border-box;}
.requirements_entry .footer_entry_inner a{ width: 100%; max-width: 1200px; height: 270px; margin: 0 auto; padding: 0 100px; box-sizing: border-box; background-image: linear-gradient(90deg, #46a3ee, #0062b1); color: #fff; display: flex; justify-content: space-between; align-items: center;}
.requirements_entry .footer_entry_inner a .title{}
.requirements_entry .footer_entry_inner a .title span{ display: inline-block;}
.requirements_entry .footer_entry_inner a .title span.en_text{ font-size: 6em; margin-right: 30px;}
.requirements_entry .footer_entry_inner a .title span.jp{ font-size: 2em; font-weight: 700;}
.requirements_entry .footer_entry_inner a .more_btn{ width: 157px; height: 60px; border: 1px solid #fff; box-sizing: border-box; font-size: 1.8em; position: relative;}
.requirements_entry .footer_entry_inner a .more_btn p{ display: inline-block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: flex; align-items: center;}
.requirements_entry .footer_entry_inner a .more_btn p .arrow{ position: relative; display: inline-block; width: 17px; height: 2px; margin:0; border-radius: 9999px; background-color: #fff; margin-right: 15px;}
.requirements_entry .footer_entry_inner a .more_btn p .arrow::before,
.requirements_entry .footer_entry_inner a .more_btn p .arrow::after { content: ""; position: absolute; top: calc(50% - 1px); right: 0; width: 10px; height: 2px; border-radius: 9999px; background-color: #fff; transform-origin: calc(100% - 1px) 50%;}
.requirements_entry .footer_entry_inner a .more_btn p .arrow::before{transform: rotate(45deg);}
.requirements_entry .footer_entry_inner a .more_btn p .arrow::after{transform: rotate(-45deg);}

@media screen and (max-width:999px){
.requirements_entry {width: 100%;margin: auto; padding: 9.16vw 0 0;}
}

@media screen and (max-width:999px){
.requirements_entry .footer_entry_inner a{ height: 200px;}
.requirements_entry .footer_entry_inner a{ padding: 0 50px;}
.requirements_entry .footer_entry_inner a .title span.en_text{ font-size: 4.5em; margin-right: 20px;}
.requirements_entry .footer_entry_inner a .title span.jp{ font-size: 1.5em;}
}

@media screen and (max-width:767px){
.requirements_entry .footer_entry_inner{ padding: 0 30px;}
.requirements_entry .footer_entry_inner a{ height: 160px; display: block; text-align: center; padding: 20px 0 0;}
.requirements_entry .footer_entry_inner a .title{ margin-bottom: 20px;}
.requirements_entry .footer_entry_inner a .title span{ display: block;}
.requirements_entry .footer_entry_inner a .title span.en_text{ font-size: 3em; margin-right: 0; margin-bottom: 10px;}
.requirements_entry .footer_entry_inner a .title span.jp{ font-size: 1.3em;}
.requirements_entry .footer_entry_inner a .more_btn{ width: 140px; height: 40px; font-size: 1.5em; margin: 0 auto;}
}


