
/* CSS Document */

@import url(https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;800;900&display=swap);
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}

html{
    scroll-behavior: smooth;
}


body{
    font-family: 'Hiragino Kaku Gothic Pro', Meiryo, san-serif;
    margin: 0;
    padding: 0;
}

ul{
    list-style: none;
    padding: 0;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
}


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

/*共通ヘッダ*/

header {
    background: #003396;
}

.pc_header{
    position: fixed;
    width: 100%;
    z-index: 999999;
}

.head_inner {
    display: flex;
    align-items: center;
    width: 1220px;
    margin: 0 auto;
}

.head_link ul {
    display: flex;
    margin-right: 20px;
    list-style: none;
}

.head_link ul > li {
    position: relative;
}

.head_link li a {
    color: #fff;
    padding: 5px 20px;
    text-decoration: none;
    display: block;
}

.head_link ul > li::before {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 0px;
    height: 0px;
    border: 0.3em solid transparent;
    border-left: 0.4em solid #fff;
    content: "";
}

#sp_header{
    display:none;
}

.wrapper{
    padding-top: 87px;
}

.head_area{
    background: url("images/header_pc.jpg")no-repeat;
    background-position: top center;
    height: 570px;
}

    .logo{
        display: block;
    }

h2{
    margin: 0;
    background: #003396;
    text-align: center;
    color: #fff;
    padding: 30px 0;
    font-size: 45px;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
}

#pioneer h2{
    font-size: 30px;
}

.head_box{
    background: #dee7f8;
    width:1000px;
    margin: 0 auto;
    border-radius: 20px;
    border: 2px solid #003396;
}

.head_box .title{
    border-radius: 17px 17px 0 0;
}

.head_box_inner{
    padding: 10px;
}

.head_box .flex{
    display: flex;
    justify-content: space-between;
}

.head_box .item{
    margin:5px;
    
}

.h2{
    background: #003396;
    color: #fff;
    text-align: center;
    padding:20px;
    font-size: 45px;
}

.bg_yellow{
    background: #FFE30B;
}

#pioneer{
    align-items:center;
    background: #fff;
}


#pioneer .inner_contents{
    position: relative;
    display: flex;
    max-width: 996px;
    margin: 30px auto;
    align-items: center;
    font-weight: bold;
}

#pioneer .inner_contents p{
    font-size:1.2em;
}

#pioneer .inner_contents .item{
    flex-shrink: 0;
    margin: 20px;    
}
    

#reason{
    width: 996px;
    margin: 0 auto;
}

#reason .inner_content{
    border-right:2px solid #003396;
    border-left:2px solid #003396;
    border-bottom:2px solid #003396;
    background: #dee7f8;
    padding: 50px;
    margin-top: -50px;
    
}

.point{
    position: absolute;
    top:0;
    left:0;
}

.point_box{
    border:1px solid #FFBC2E;
    background: #FFFFEA;
    padding: 50px 50px 20px;
    position: relative;
}

.point_box ul{
    margin: 20px 0;
}

.point_box li{
    font-weight: bold;
    background: url(images/list_check.png)no-repeat;
    list-style-position: inside;
    padding-left: 50px;
    margin: 20px 0;
    background-size: 30px;
    background-position: left center;
}

.point_box .kome{
    color:#333;
    font-size: 0.9em;
}

.point_box .red{
    font-size: 1.2em;
}

.point_box .kome{
    margin-left: 50px;
}

.regular_comment{
    background: #fff;
    padding: 50px 50px 20px;
    font-size: 18px;
    margin-top:20px;
}

.content_box{
    width: 1100px;
    margin: 0 auto;
}

.attention{
    padding: 20px;
    background: #ffffe5;
    line-height: 155%;
    margin-top: 30px;
}

.attention .title{
    font-size: 1.6em;
    font-weight: bold;
    margin-bottom: 20px;
    border-bottom: 2px solid #003396;
    padding-bottom: 20px;
    color: #003396;
}

.attention .sub_title{
    font-size: 0.6em;
}

.regular_link a{
    color:#003396;
    text-decoration: none;
    font-weight: bold;
    margin-top: 20px;
    display: block;
}

#media{
  background: -moz-linear-gradient(top, #FFF, #BFEDFF );
  background: -webkit-linear-gradient(top, #FFF, #BFEDFF);
  background: linear-gradient(to bottom, #FFF,#BFEDFF );
}

#media .inner_contents{
    width: 996px;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
}

#media .inner_contents .copy{
      color:#003396;
    font-size: 26px;
    font-weight: bold;
}

#media .inner_contents .flex{
    justify-content: center;
    align-items: center;
}

.media_list{
    margin-left: 40px;
}

.media_list .title{
    background: #51C5F1;
    color: #fff;
    padding: 5px;
    margin: 15px 0;
}

#flow{
    background: #FFFFEA;
}

#flow .inner_contents{
    display: flex;
    max-width:1300px;
    flex-wrap: wrap;
    margin: 0 auto;
    justify-content: center;
    padding:20px 0;
}

#flow .inner_contents .item{
    margin:20px 10px;
    
}

.bg_scenes{
    background: url("images/bg_scenes.png")no-repeat;
    background-position: center;
    text-align: center;
}

.scenes_box{
    text-align: center;
    margin-top: -30px;
}

.scenes_box .inner_contents{
    border:3px solid #003396;
    background: #DEE7F8;
    max-width: 990px;
   margin: -10px auto 0;
}

.scenes_box .inner_contents .item{
    margin:20px 0;
}

#price{
    background: #C3EBFA;
}

#price .inner_contents{
    max-width: 996px;
    background: #fff;
    margin: 0 auto;
    padding: 20px 50px 50px;
    
}

#price .inner_contents .title{
    border-bottom: solid 3px #003396;
    padding-bottom: 15px;
    font-size: 30px;
    color:#003396;
    font-weight: bold;
}

.priceBox__pic img{
    width: 400px;
}

.priceBox{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
      align-items: center;
    margin-bottom: 50px;
}

.priceBox__item {
    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;
    font-size: 20px;
    margin-bottom: 10px;
}

.priceBox__item::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: #3458a9;
    border-radius: 50%;
    margin-right: 12px;
}

.priceBox__notes{
    margin: 20px 50px;
}

.priceBox__inner{
    margin: 20px;
}

.priceBox__table table{
    width: 100%;
    border:4px solid #72cae5;
    border-collapse: collapse;
}

.priceBox__table td,.priceBox__table th{
    padding: 15px;
    border-right:2px solid #72cae5;
    border-bottom:2px solid #72cae5;
    text-align: center;
}

.priceBox__table th{
    background: #edf6ff;
}



#voice{
    background: #FEFFEA;
    padding: 0　0　30px　0;
}

.voice_box{
    border:2px solid #FAA92F;
    padding: 20px;
    border-radius: 10px;
    margin: 20px auto;
    max-width: 996px;
    background: #fff;
    display: flex;
    align-items: center;
}

.voice_box .item{
    flex-shrink: 0;
}

.voice_box h3{
    color: #FF9800;
    font-size: 1.2em;
    margin-bottom: 10px;
    font-weight: bold;
}

.voice_box img{
    margin-right:30px;
}

.more_voice .title{
    text-align: center;
    color: #003396;
    font-weight: bold;
    display: flex;
	justify-content: center;
	align-items: center;
	font-size: 26px;
	text-align: center;
}

.more_voice .title::before,
.more_voice .title::after {
	content: '';
	width: 3px;
	height: 60px;
	background-color: #003396;
}

.more_voice .title::before {
	margin-right: 50px;
	transform: rotate(-35deg)
}
.more_voice .title::after {
	margin-left: 50px;
	transform: rotate(35deg)
}

.voice_list{
    display: flex;
    flex-wrap: wrap;
    max-width: 1020px;
    margin: 0 auto;
    justify-content: space-around;
}

.voice_list .item{
    margin: 10px;
}



.more_voice .title{
    font-size: 24px;
    margin: 50px 0;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}

.backtop{
    max-width: 1000px;
    text-align: right;
    margin: 30px auto 0;
}

.contact_area{
    text-align: center;
    margin: 50px auto;
    max-width: 830px;
}

.contact_area .copy{
    font-weight: bold;
    color:#003396;
    font-size: 24px;
    line-height: 140%;
    margin-top: 20px;
}

.contact_area .item{
    margin: 20px;
}

/*フッターエリア*/
.footer {
    background: #3458a9;
    padding: 72px 0 38px;
    position: relative;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}

.footer__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.footer__headline {
    font-size: 36px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 14px;
}

.footer__description {
    font-size: 20px;
    line-height: 30px;
    color: #fff;
    margin-bottom: 20px;
}

.footerContact {
    background: #fff;
    border-radius: 10px;
    padding: 24px 0 18px;
    margin-bottom: 34px;
}

.footerContact__headline {
    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;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 24px;
    letter-spacing: .06em;
    text-indent: 0.06em;
    font-weight: 800;
    color: #3458a9;
    text-align: center;
    position: relative;
    margin-bottom: 26px;
}

.footerContact__tel {
    width: 390px;
    margin: 0 auto 16px;
}

.footerContact .buttonList__item {
    margin-bottom: 16px;
}

.button--blue a {
    background: #3458a9;
    border: 3px solid #3458a9;
}

.button a {
    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;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 77px;
    font-size: 26px;
    font-weight: 800;
    color: #fff;
    border-radius: 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

.footer__headline small {
    display: block;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 13px;
}

.footerContact .buttonList {
    margin: 0 37px;
}

.button--red a {
    background: #ff5858;
    border: 3px solid #ff5858;
}

.button--yellow a {
    background: #feaf2a;
    border: 3px solid #feaf2a;
}

.footerCard {
    background: #fff;
    border-radius: 10px;
    padding: 21px 15px 14px;
}

.footerCard__headline {
    display: block;
    font-size: 18px;
    font-weight: 800;
    color: #3458a9;
    text-align: center;
    position: relative;
    margin-bottom: 13px;
}

.footer .snsList{
    display: flex;
    align-items: center;
}

.footer .permitList {
    margin-top: 145px;
}

.footer__left {
    width: 500px;
}

.footer__right {
    width: 500px;
}

.footer__copyright {
    width: 100%;
    font-size: 18px;
    color: #fff;
    text-align: center;
    margin-top: 75px;
}

.footer .snsList__item--facebook {
    width: 24px;
    margin-right: 21px;
}

.footer .snsList__item--twitter {
    width: 46px;
    margin-right: 19px;
}

.footer .snsList__item--line {
    width: 43px;
}

.footerContact__headline::before {
    content: "";
    width: 3px;
    height: 35px;
    background: #3458a9;
}

.footerContact__headline::before {
    -webkit-transform: rotate(
-20deg);
    -ms-transform: rotate(-20deg);
    transform: rotate(
-20deg);
    margin-right: 15px;
}

.footerContact__headline::after, .footerContact__headline::before {
    content: "";
    width: 3px;
    height: 35px;
    background: #3458a9;
}

.footerContact__headline::after {
    -webkit-transform: rotate(
20deg);
    -ms-transform: rotate(20deg);
    transform: rotate(
20deg);
    margin-left: 15px;
}

.footer .permitList__item {
    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;
    line-height: 30px;
    color: #fff;
}

.footer .permitList__item::before {
    content: "";
    width: 12px;
    height: 12px;
    background: #fff;
    border-radius: 50%;
    margin-right: 11px;
}


.flex{
    display: flex;
    
}

.center{
    text-align: center;
}

.right{
    text-align: right;
}

.red{
    color:red
}

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

    .is--sp {
    display: inline !important;
}
    
    body{
        font-size: 80%;
    }
    
    /*ヘッダ共通エリアここから*/
    
    .pc_header{
        display: none;
        
    }
    
    .sp_head_inner {
    display: flex;
    justify-content: space-between;
}
    
    .sp_head_inner img {
    height: 50px;
    width: auto;
}
    
    .sp_head_inner img {
    height: 50px;
    width: auto;
}
    .wrapper{
        padding-top: 0;
    }
       
    .head_link {
    background: #003396;
}

    .head_link ul {
    margin: 0;
    padding: 10px;
    align-items: center;
    flex-wrap: wrap;
    font-size: 1.2em;
}

#sp_header{
    background: #003396;
    position: fixed;
    z-index: 10000;
    width: 100%;
    top: 0;
}
    
    /*共通ここまで*/
    
    h2{
        font-size: 20px;
    }
    
    .head_area{
        background: #edf6ff;
        height: auto;
    }
    
    .head_box{
        width: 96%;
        box-sizing: border-box;
    }
    
    .head_box .item{
        width: 47%;
    }
    
    .head_box .flex{
        flex-wrap: wrap;
    }
    
    #pioneer .inner_contents{
        flex-direction: column;
        padding: 10px;
        margin-bottom: -40px;
    }
    
    #pioneer h2{
        font-size: 20px;
    }
    
    #pioneer .wanko{
    width: 100px;
    position: absolute;
    top: -50px;
    right: 0;
    left: 0;
    margin: auto;
}
    
    #reason{
        width: 100%;
        padding: 10px;
    box-sizing: border-box;
    }
    
    #media .inner_contents .flex{
        flex-wrap: wrap;

    }
    
    #reason .inner_content{
        padding: 50px 10px 10px;
    }
    
    .point_box .kome{
        margin: 10px;
    }
    
    .regular_comment{
        padding: 20px;
        font-size: 16px;
    }
    
    .contact_area .copy{
        font-size: 20px;
    }
    
    .contact_area .item{
        margin: 10px;
    }
    
    #media .inner_contents{
        width:100%;
        padding: 0;
    }
    
    #media .inner_contents img{
        width: 100%;
    }
    
    #media .inner_contents .copy{
        font-size: 20px;
    }
    
    .media_list{
        margin: 0 0 20px;
    }
    
    
    #flow .inner_contents .item{
        margin: 5px 10px 0 5px;
    }
    
    .head_box .flex{
        flex-wrap: wrap;
        justify-content: center;
        
    }
    
    .point_box{
        padding: 30px 10px 10px;
    }
    
    .bg_scenes{
    }
    
    #price .inner_contents{
        padding: 20px;
    }
    
    #price .inner_contents .title{
        font-size: 22px;
    }
    
    .priceBox__item{
        font-size: 16px;
    }
    
    .priceBox__notes{
        font-size: 0.9em;
        margin: 0;
    }
    

    .scenes_box .inner_contents{
            padding: 10px 10px 0;
        margin: -10px 4px 20px;
    }
    
    .contact_area{
        padding: 10px;
        margin: 0 auto;
    }
    
    .attention{
        margin: 0;
    }
    
    .voice_box img{
        width: 96px;
    }
    
    .priceBox__table {
    width: calc(100% + 15px);
    margin-top: 15px;
}
    
    .priceBox__table__inner {
    height: 173px;
    overflow-x: scroll;
}
    
    .priceBox__table table th {
    font-size: 14px;
}
    .optionBox__table__text {
    font-size: 10px;
    margin-top: 2px;
}
    .priceBox__table td, .priceBox__table th{
        font-size: 14px;
    }
    
    .voice_box{
        margin: 10px;
        flex-direction: column;
}
    .voice_list .item{
        width: 45%;
        margin: 5px;
    }
    
    .footer {
    padding: 30px 0;
}
    
    .footer__inner,.footer__left,.footer__right{
        width:100%;
        margin-top: 20px;
    }
    
    .footer__inner {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 15px;
}
    
    .footer__headline {
    font-size: 20px;
    margin-bottom: 13px;
}
    
    .footer .permitList {
    margin-top: 30px;
}
    .footer .snsList__item--twitter {
    width: 34px;
    margin-right: 14px;
}
    .footer .snsList__item--facebook {
    width: 17px;
    margin-right: 15px;
}
    .footer .snsList__item--line {
    width: 29.5px;
}
    
    .footer__description {
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 15px;
}
    
    .footer .permitList__item {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    font-size: 12px;
    line-height: 20px;
}
    .footerContact__headline {
    font-size: 16px;
    letter-spacing: 0;
    text-indent: 0;
    margin-bottom: 16px;
}
    .footerContact .buttonList__item .button a {
    height: 50px;
    font-size: 16px;
}
    .footerContact__tel {
    width: 79.56522%;
}
    .footer__copyright {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
    font-size: 12px;
    margin-top: 33px;
}
    
    .footer__headline small {
    font-size: 12px;
    margin-bottom: 6px;
}
    
    
}