@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');



/*--------------------------------------
common
--------------------------------------*/

html {
overflow-x: hidden;
}
#wrapper {
position: relative;
overflow: hidden;
}
#str_container {
width: auto;
padding-top: 0;
margin-top: 0;
padding-bottom: 56px;}
#container{
overflow-x: hidden;
font-family: YakuHanJP, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "游ゴシック", sans-serif;
color:#1a1a1a;
line-height: 1.5;
}
footer{
font-family: YakuHanJP, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "游ゴシック", sans-serif;
color:#1a1a1a;
}
body.is-windows #container{
font-family: YakuHanJP, 'メイリオ', 'Meiryo' ;
}
body.is-windows footer{
font-family:YakuHanJP, 'メイリオ', 'Meiryo' ;
}
body.is-ios #container,
body.is-ipad #container{
font-family: YakuHanJP, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro" ;
}
body.is-ios footer,
body.is-ipad footer{
font-family:YakuHanJP, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro" ;
}
body.is-android #container,
body.is-macos #container{
font-family: YakuHanJP, 'Noto Sans JP';
}
body.is-android footer,
body.is-macos footer{
font-family:YakuHanJP, 'Noto Sans JP' ;
}
p {
margin: 0;
}
.clearfix:after{
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.clearfix{
min-height:1%;
display:block;
}
.pt0 {
padding-top: 0 !important;
}
.pt24 {
padding-top: 24px !important;
}
.mb10 {
margin-bottom: 10px !important;
}
.mb16 {
margin-bottom: 16px !important;
}
.is-sp{
display: none;
}
.is-pc{
display: block;
}
@media screen and (max-width: 767.9px) {
.is-sp{
display: block;
}
.is-pc{
display: none;
}
}
a {
color: #1a1a1a;
text-decoration: none;
-webkit-transition: color .3s ease;
transition: color .3s ease
}
a:hover {
color: #0071BE;
text-decoration: underline
}



/*--------------------------------------
.main
--------------------------------------*/

.main {
position: relative;
}
.main div {
padding: 0 0 60px 0;
}
@media (max-width: 768px) {
.main div {
padding: 0 0 40px 0;
}
}
.main div h1 {
margin-bottom: 16px;
}
.main div h1 img {
margin: auto;
}
.main div h1 + p {
font-family: 'Noto Sans JP';
font-size: 20px;
line-height: 30px;
font-weight: 900;
margin: -20px 0 0 0;
padding: 0 30px;
text-align: center;
color: #004e97;
text-shadow: 2px 2px 1px #fff,
-2px -2px 1px #fff,
-2px 2px 1px #fff,
2px -2px 1px #fff,
2px 0 1px #fff,
-2px  0 1px #fff,
0 2px 1px #fff,
0 -2px 1px #fff;
}
@media (max-width: 768px) {
.main div h1 + p{
font-size: 17px;
line-height: 28px;
}
}
.main div h1 + p + p{
font-family: 'Noto Sans JP';
font-size: 15px;
line-height: 28px;
font-weight: 900;
color: #004e97;
padding: 15px 30px 0 30px;
text-align: justify;
text-shadow: 2px 2px 1px #fff,
-2px -2px 1px #fff,
-2px 2px 1px #fff,
2px -2px 1px #fff,
2px 0 1px #fff,
-2px  0 1px #fff,
0 2px 1px #fff,
0 -2px 1px #fff;
max-width: 600px;
margin: auto;
}
@media (max-width: 768px) {
.main div h1 + p + p{
font-size: 12px;
line-height: 18px;
}
}
.main div figure {
position: absolute;
top:0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
margin: 0;
padding: 0;
}
.main div figure img{
object-fit: cover;
object-position: top;
width: 100%;
height: 100%;
}
.main div .button {
padding: 20px 30px 0 30px;
max-width: 400px;
margin: auto;
}
.main div .button a {
font-family: 'Noto Sans JP';
font-size: 24px;
line-height: 24px;
letter-spacing: 1px;
font-weight: 700;
color: #fff;
display: block;
height: 70px;
border-radius: 35px;
background: #d60c18;
text-align: center;
box-sizing: border-box;
padding: 20px 0 0 0;
filter: drop-shadow(0 2px 2px rgba(0,0,0,0.4));
}



/*--------------------------------------
.section
--------------------------------------*/

.section {
position: relative;
padding: 56px 0 56px 0;
}
.section.first{
padding: 24px 0 0 0;
}
@media (max-width: 767.9px) {
.section {
padding: 56px 0 56px 0;
}
}
.section__wrap {
max-width: 992px;
margin: 0 auto;
padding: 0 16px;
box-sizing: border-box;
}
.section__title {
margin-bottom: 10px;
font-weight: bold;
font-size: 24px;
}
#summary p {
font-size: 16px;
margin-top: 7px;
}
#summary p.indent {
text-indent: -0.5em;
padding-left: 0.5em;
}



/*--------------------------------------
.summary
--------------------------------------*/

.summary {
position: relative;
margin-top: 40px;
}
.summary__lists {
border: 1px solid #DEDEDF;
border-radius: 4px;
}
@media (max-width: 767.9px) {
.summary__lists {
border: none;
border-radius: inherit;
}
}
.summary__lists > li {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.summary__lists > li:not(:first-child) {
border-top: 1px solid #DEDEDF;
}
@media (max-width: 767.9px) {
.summary__lists > li {
display: block;
padding-bottom: 24px;
}
.summary__lists > li:not(:first-child) {
padding-top: 24px;
}
.summary__lists > li:last-child {
padding-bottom: 0;
}
}
@media (max-width: 767.9px) {
.summary__lists-noLine > li {
padding-top: 0 !important;
border: none !important;
}
}
.summary__label {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
width: 210px;
padding: 10px 16px;
font-weight: bold;
font-size: 16px;
background-color: #F4F4F4;
}
@media (max-width: 767.9px) {
.summary__label {
display: block;
width: 100%;
padding: 0 0 10px 0;
background-color: transparent;
}
}
.summary__detail {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
padding: 16px;
font-size: 16px;
}
.summary__detail p.indent {
text-indent: -1em;
padding-left: 1em;
margin-top: 0;
}
.summary__detail a {
text-decoration: underline;
}
.summary__detail strong {
font-weight: bold;
}
.summary__detail ul li {
list-style: disc;
list-style-position: outside;
margin-left: 1em;
margin-bottom: 0.3em;
}
.summary__detail ul li.is-pc {
display: list-item;
}
.summary__detail ul li.is-sp {
display: none;
}
@media (max-width: 767.9px) {
.summary__detail ul li.is-pc {
display: none;
}
.summary__detail ul li.is-sp{
display: list-item;
}
}
@media (max-width: 767.9px) {
.summary__detail {
display: block;
padding: 0;
}
}



/*--------------------------------------
#banner
--------------------------------------*/
#banner {
padding: 0 16px 60px 16px;
}
#banner ul {
max-width: 960px;
margin: auto;
}
#banner li img {
width: 100%;
}



/*--------------------------------------
#scoreapp
--------------------------------------*/
#scoreapp {
background: #232d31;
text-align: center;
padding: 32px 0 32px 0;
}
#scoreapp ul {
text-align: center;
margin: 28px 0 0 0;
}
#scoreapp li {
display: inline-block;
margin: 0 4px;
}
#scoreapp li img {
width: auto;
height: 44px;
}



/*--------------------------------------
footer
--------------------------------------*/

footer{
background: #e9f0f4;
margin: -85px 0 0 0;
}
@media (max-width: 768px) {
footer{
margin: -60px 0 0 0;
}
}
footer ul{
text-align: center;
padding: 40px 0 40px 0;
}
@media (max-width: 768px) {
footer ul{
padding: 25px 0 40px 0;
}
}
footer ul li{
display: inline-block;
font-size: 16px;
}
@media (max-width: 768px) {
footer ul li{
display: block;
padding: 15px 0 0 0;
}
}
footer ul li::after{
content: "";
width: 1px;
height: 18px;
background: #ccc;
display: inline-block;
vertical-align: middle;
margin: -4px 16px 0 20px;
}
@media (max-width: 768px) {
footer ul li::after{
display: none;
}
}
footer ul li:last-child::after{
display: none;
}
footer ul li a{
}
footer p{
background: #1175be;
color: #fff;
text-align: center;
padding: 12px 0 12px 0;
}


