@charset "utf-8";

/* p-read =========================*/
#p-read{padding: 120px 0 0; position: relative; z-index: 2;}
#p-read .read_text{font-size: 16px; text-align: center; letter-spacing: 2px; line-height: 2.3; margin-top: 40px;}

#p-read .customer_issues{max-width: 1000px; margin: 130px auto 0; background: #fff;
    border-top: 2px solid #671e75; border-bottom: 2px solid #671e75;}
#p-read .customer_issues h4{text-align: center; margin-top: -10px; margin-bottom: 10px;}
#p-read .customer_issues h4 span{font-size: 18px; font-weight: normal; letter-spacing: 2px; background: #671e75; color: #fff; padding: 3px 40px 6px;}
#p-read .customer_issues ul{display: flex; justify-content: center; flex-wrap: wrap; padding: 40px 150px 60px;}
#p-read .customer_issues ul li{/*background: url(../../../img/pages/service/check.svg) no-repeat left center;*/
	padding-left: 40px; width: 50%; font-size: 20px; color: #535557; line-height: 2.2; letter-spacing: 4px; position: relative;}
#p-read .customer_issues ul li:before {content: '';position: absolute;top: 50%;left: 0;transform: translateY(-50%);
	background: url(../../../img/pages/service/check.svg) no-repeat center center;
	width: 20px; aspect-ratio: 1 / 1;
}


@media screen and (max-width:960px){
    #p-read .read_text{font-size: 14px; letter-spacing: 1px;}

    #p-read .customer_issues ul{padding: 40px 35px 60px;}
    #p-read .customer_issues ul li{font-size: 15px;}
}

@media screen and (max-width:640px){
    #p-read{padding: 40px 0 0;}
    #p-read .read_text{margin-top: 25px; text-align: left;}

    #p-read .customer_issues{margin: 70px auto 0;}
    #p-read .customer_issues h4 span{font-size: 16px;}

    #p-read .customer_issues ul{padding: 20px 35px 35px;}
    #p-read .customer_issues ul li{width: 100%; padding-left: 30px; letter-spacing: 2px;}
}

/* one_stop_service =========================*/
#one_stop_service{background: url(../../../img/pages/service/service_bk.jpg) no-repeat center center; background-size: cover; position: relative; z-index: 1; margin-top: -110px; padding-top: 180px; padding-bottom: 110px; text-align: center;}
#one_stop_service .oss_arrow{position: absolute; bottom: -35px; left: 0; right: 0;}
#one_stop_service figure img {max-width: 1000px;width: 100%;}
@media screen and (max-width:960px){
    #one_stop_service figure{padding: 0 15px;}
}
@media screen and (max-width:640px){
    #one_stop_service{padding-top: 140px; padding-bottom: 70px;}
    #one_stop_service .oss_arrow{bottom: -22px;}
    #one_stop_service .oss_arrow img{max-width: 50px;}
}

/* issues =========================*/
#issues{background: #671e75; padding: 100px 0 0; position: relative;}
#issues::before{content: ""; display: block; width: 52%; height: 1px; background: #b893c3;
    position: absolute; top: 180px; left: 0; right: 0; z-index: 2;}

@media screen and (max-width: 1500px){
    #issues::before{width: 45%;}
}
@media screen and (max-width: 1120px){
    #issues::before{width: 35%;}
}

#issues .issues_read{
    background: #50175a;
    background: -moz-linear-gradient(left,  #671e75 0%, #50175a 100%);
    background: -webkit-linear-gradient(left,  #671e75 0%,#50175a 100%);
    background: linear-gradient(to right,  #671e75 0%,#50175a 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0a2c86', endColorstr='#50175a',GradientType=1 );
    padding-right: 15vw; padding-top: 65px; padding-bottom: 65px; margin-left: 30vw;}
#issues .issues_read::after{content: ""; display: block; clear: both;}
#issues .issues_read .issues_read_inner{float: right;}
#issues .issues_read h3{font-size: 28px; color: #fff; margin-bottom: 25px; font-weight: normal; letter-spacing: 6px;}
#issues .issues_read p{color: #fff; letter-spacing: 2px; line-height: 2.3;}

#issues .issues_list{max-width: 1280px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between;}
#issues .issues_box{position: relative;}
#issues .issues_box::after{
    content: ""; height: calc(100% - 440px); width: 100%; display: block;
    position: absolute; bottom: 0; left: 0; right: 0;
    background: #671e75;
    background: -moz-linear-gradient(top,  #671e75 0%, rgba(255,255,255,0.2) 100%);
    background: -webkit-linear-gradient(top,  #671e75 0%,rgba(255,255,255,0.2) 100%);
    background: linear-gradient(to bottom,  #671e75 0%,rgba(255,255,255,0.2) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#671e75', endColorstr='#39559e',GradientType=0 );
}
#issues .issues_box figure{position: relative; z-index: 1;}
#issues .issues_box figure::before{content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 2; background: rgba(0,0,0,0.4);}
#issues .issues_box figure figcaption{position: absolute; bottom: 21px; right: 0; color: #fff; z-index: 3; font-size: 10px; background: rgba(0,0,0,0.5); padding: 3px 5px;}
#issues .issues_box .issues_boxTitle{position: absolute; top: 0; left: 0; right: 0; z-index: 3;}
#issues .issues_box .issues_boxTitle::before{content: ""; display: block; width: 1px; height: 70px; background: #fff; margin: 0 auto;}
#issues .issues_box .issues_boxTitle h4{text-align: center; color: #fff; font-size: 22px; font-weight: 400; letter-spacing: 4px; line-height: 1.8;}
#issues .issues_box .issues_boxTitle h4 span{display: block; margin: 20px auto 7px;}
#issues .issues_box .issues_boxTitle h4 span {width: 30px;}

#issues .issues_box:nth-child(1){margin-top: -170px;}
#issues .issues_box:nth-child(1)::before{content: ""; display: block; background: #50175a;
    width: 100vw; height: 440px; position: absolute; right: 0;}
#issues .issues_box:nth-child(2){margin-top: -50px;}
#issues .issues_box:nth-child(3){margin-top: 70px;}
#issues .issues_box:nth-child(4){margin-top: 190px; padding-bottom: 90px;}
#issues .issues_box:nth-child(4)::before{content: ""; display: block; background: #50175a;
    width: 100vw; height: 440px; position: absolute; left: 0;}


#issues .issues_box .more{width: 100px; height: 100px; border: 1px solid #fff; transition: 0.5s ease;
    position: absolute; left: 0; right: 0; top: 265px; z-index: 3; margin: auto;
    text-align: center; letter-spacing: 1px; padding: 25px 0 0; line-height: 1.5;
    background: url(../../../img/pages/service/arrow.png) no-repeat right 8px bottom 8px; overflow: hidden;}
#issues .issues_box .more p{color: #fff;}

#issues .issues_box .more:before,
#issues .issues_box .more:after,
#issues .issues_box .more p:before,
#issues .issues_box .more p:after{
    content: '';
    position: absolute;
    background: #fff; /*線の色*/
}
/* 下のボーダー */
#issues .issues_box .more:before {
    bottom: 0;
    left: -100px;
    width: 100px;
    height: 1px;
}
/* 右のボーダー */
#issues .issues_box .more:after {
    bottom: -100px;
    right: 0;
    width: 1px;
    height: 100px;
}
/* 上のボーダー */
#issues .issues_box .more p:before {
    top: 0;
    right: -100px;
    width: 100px;
    height: 1px;
}
/* 左のボーダー */
#issues .issues_box .more p:after {
    top: -100px;
    left: 0;
    width: 1px;
    height: 100px;
}

/* ホバー時のアニメーション指定 */
#issues .issues_box a:hover .more{border: none;}
#issues .issues_box a:hover .more:before {
    animation: leftAnim 1s linear 0s infinite;
}
#issues .issues_box a:hover .more:after {
    animation: bottomAnim 1s linear .5s infinite;
}
#issues .issues_box a:hover .more p:before {
    animation: rightAnim 1s linear 0s infinite;
}
#issues .issues_box a:hover .more p:after {
    animation: topAnim 1s linear .5s infinite;
}

/* 各アニメーション */
@keyframes topAnim {
    0% {top:-100px;}
    100% {top:100px;}
}
@keyframes bottomAnim {
    0% {bottom:-100px;}
    100% {bottom:100px;}
}
@keyframes rightAnim {
    0% {right:-100px;}
    100% {right:100px;}
}
@keyframes leftAnim {
    0% {left:-100px;}
    100% {left:100px;}
}


@media screen and (max-width: 1240px){
    #issues .issues_box{width: 24%;}

    #issues .issues_box .issues_boxTitle::before{height: 40px;}
    #issues .issues_box:nth-child(1)::before,
    #issues .issues_box:nth-child(4)::before{opacity: 0;}
    #issues .issues_box .issues_boxTitle h4{font-size: 18px;}
    #issues .issues_box .issues_boxTitle h4 span{margin: 5px auto 7px;}
    #issues .issues_box .more{top: 200px;}
}
@media screen and (max-width: 960px){
    #issues .issues_read{padding-right: 3vw;}
    #issues .issues_box::after{height: calc(100% - 25vw);}
    #issues .issues_box .more{top: 170px; width: 80px; height: 80px; padding-top: 10px;}
}
@media screen and (max-width: 640px){
    #issues{padding: 60px 0 30px;}
    #issues::before{width: 55px; top: 112px;}
    #issues .issues_read{margin-left:60px; padding-top: 40px; padding-bottom: 90px;}
    #issues .issues_read h3{font-size: 22px; margin-bottom: 20px;}
    #issues .issues_read p{line-height: 2.2;}
    
    #issues .issues_list{padding: 0 30px; margin-top: -40px; }
    #issues .issues_box{width: 100%; margin-bottom: 20px;}
    #issues .issues_box::after{display: none;}
    #issues .issues_box:nth-child(1),
    #issues .issues_box:nth-child(2),
    #issues .issues_box:nth-child(3),
    #issues .issues_box:nth-child(4){margin-top: 0;}
    
    #issues .issues_box:nth-child(1)::before{opacity: 1; height: 100%;}
    #issues .issues_box:nth-child(2)::before{content: ""; display: block; background: #50175a; 
        width: 100vw; height: 100%; position: absolute; left: 0;}
    #issues .issues_box:nth-child(3)::before{content: ""; display: block; background: #50175a; 
        width: 100vw; height: 100%; position: absolute; right: 0;}
    #issues .issues_box:nth-child(4){padding-bottom: 0;}
    #issues .issues_box:nth-child(4)::before{opacity: 1; height: 100%;}

    #issues .issues_box figure figcaption{bottom: 15px;}
    #issues .issues_box .issues_boxTitle h4{font-size: 20px;}
    #issues .issues_box .issues_boxTitle h4 span{}
    #issues .issues_box .more{width: 150px; height: 50px; top:155px;}
    #issues .issues_box .more p{letter-spacing: 2px;}
    

}


/* modal =========================*/
.mfp-bg{opacity: 0.3 !important;}
.mfp-close-btn-in .mfp-close {color: #671e75 !important; font-family: 'Noto Sans JP', sans-serif !important; font-size: 45px; right: 20px; top: 20px;}
.mfp-close:active{top: 20px !important;}
.s_modal_wrap{max-width: 1280px; margin: 0 auto;
    background: #fff; border-top: 14px solid #d7dadc; border-bottom: 14px solid #d7dadc; position: relative;}
.s_modal_wrap::before{content: ""; width: 300px; height: 14px; background: #671e75;
    position: absolute; top: -14px; right: 0;}
.s_modal_wrap::after{content: ""; width: 300px; height: 14px; background: #671e75;
    position: absolute; bottom: -14px; left: 0;}
.s_modal_wrap .inner{max-width: 940px;}

.s_modal_head{position: relative; padding-top: 130px; margin-bottom: 100px;}
.s_modal_head::before{content: ""; width: 1px; height: 110px; background: #671e75; display: block; margin: 0 auto;
    position: absolute; top: -14px; left: 0; right: 0;}
.s_modal_head .s_modal_check{width: 50px; margin: 0 auto;}
.s_modal_head h3{font-size: 32px; font-weight: bold; letter-spacing: 8px; color: #671e75; text-align: center; margin: 35px 0 55px;}
.s_modal_head p{line-height: 2;}

.s_modal_wrap h4{font-size: 26px; color: #535557; border-left: 7px solid #671e75; letter-spacing: 2px; padding-left: 15px; margin-bottom: 50px;}

.s_modal_flow{margin-bottom: 50px;}
.flow_wrap{display: flex; flex-wrap: wrap; justify-content: space-between;}
.flow_wrap .flow_box{width: 48%; margin-bottom: 40px;}
.flow_wrap .flow_box h5{background: #671e75; color: #fff; font-size: 18px; letter-spacing: 2px;}
.flow_wrap .flow_box h5 span{font-family: urw-din, sans-serif; font-weight: 400; font-size: 40px; 
    width: 80px; text-align: center; color: #671e75; background: #d7dadc; display: inline-block; line-height: 1; vertical-align: middle; padding: 10px 0; margin-right: 25px;}
.flow_wrap .flow_box .flow_textBox{background: #f8f9fb; padding: 40px;}
.flow_wrap .flow_box .flow_textBox p{line-height: 2;}

.s_modal_faq{margin-bottom: 70px;}
.s_modal_faq .s_modal_faqBox{}
.s_modal_faq .s_modal_faqBox dt{background: #f8f9fb; border-bottom: 1px solid #671e75; letter-spacing: 2px;
    color: #671e75; font-weight: bold;}
.s_modal_faq .s_modal_faqBox dt span{font-family: urw-din, sans-serif; font-weight: 400; font-size: 34px; letter-spacing: 0; display: inline-block; background: #671e75; color: #fff; width: 60px; text-align: center; padding: 13px 0; vertical-align: middle; margin-right: 20px;}
.s_modal_faq .s_modal_faqBox dd{position: relative; font-size: 14px; line-height: 2; letter-spacing: 2px; padding: 20px 10px 40px 85px;}
.s_modal_faq .s_modal_faqBox dd span{font-family: urw-din, sans-serif; font-weight: 400; font-size: 34px; color: #671e75;
    position: absolute; left: 15px; top: 0;}

@media screen and (max-width: 640px){
    .mfp-container{padding: 30px !important;}
    .mfp-close-btn-in .mfp-close{font-size: 30px; right: 10px; top: 10px;}

    .s_modal_wrap{border-top: 5px solid #d7dadc; border-bottom: 5px solid #d7dadc; margin-bottom: 30px;}
    .s_modal_wrap::before{height: 5px; width: 70px; top: -5px;}
    .s_modal_wrap::after{height: 5px; width: 70px; bottom: -5px;}

    .s_modal_head{padding-top: 66px; margin-bottom: 50px;}
    .s_modal_head::before{top: -5px; height: 50px;}
		.s_modal_head .s_modal_check{width: 30px;}
    .s_modal_head h3{font-size: 22px; letter-spacing: 4px; margin: 15px 0 15px; line-height: 1.6;}

    .s_modal_wrap h4{font-size: 18px; border-left: 5px solid #671e75; padding-left: 10px; margin-bottom: 20px;}

    .flow_wrap .flow_box{width: 100%; margin-bottom: 20px;}
    .flow_wrap .flow_box h5{font-size: 15px;}
    .flow_wrap .flow_box h5 span{font-size: 26px; width: 45px; padding: 7px 0; margin-right: 15px;}
    .flow_wrap .flow_box .flow_textBox{padding: 20px;}

    .s_modal_flow{margin-bottom: 30px;}

    .s_modal_faq {margin-bottom: 30px;}
    .s_modal_faq .s_modal_faqBox dt{position: relative; font-size: 14px; line-height: 1.6; padding: 6px 5px 13px 56px; letter-spacing: 1px;}
    .s_modal_faq .s_modal_faqBox dt span{font-size: 23px; line-height: 1; width: 40px; margin-right: 20px; padding: 8px 0; 
        position: absolute; top: 0; left: 0;}
    .s_modal_faq .s_modal_faqBox dd{padding: 10px 10px 20px 51px; line-height: 1.8;}
    .s_modal_faq .s_modal_faqBox dd span{font-size: 22px; left: 10px; top: 4px;}
    
}


/* contactArea =========================*/
#contactArea{text-align: center; padding: 60px 0;}
#contactArea h3{font-size: 16px; color: #535557; letter-spacing: 5px; margin-bottom: 15px;}
#contactArea p{letter-spacing: 2px; line-height: 2; margin-bottom: 20px;}
#contactArea .contact_btn{max-width: 280px; margin: 0 auto;}
#contactArea .contact_btn a{display: block; width: 100%; font-size: 16px; font-weight: bold; border: 1px solid #B087BC; color: #B087BC; padding: 20px 0; position: relative; transition: all .25s ease-out;}
#contactArea .contact_btn a span{position: relative; z-index: 2;}
#contactArea .contact_btn a::before{content: ""; position: absolute; top: 0; left: 0; width: 0%; height: 100%; background: #B087BC; transition: all .25s ease-out;}
#contactArea .contact_btn a:hover{color: #fff;}
#contactArea .contact_btn a:hover::before{width: 100%;}

@media screen and (max-width: 640px){
    #contactArea{padding: 40px 0;}
    #contactArea h3{letter-spacing: 2px;}
    #contactArea p{text-align: left;}
}
