/* CSS Document */
/*design*/

@charset "UTF-8";
@import "https://use.fontawesome.com/releases/v5.8.2/css/all.css";

*{
	margin:0;
	padding:0;
	line-height:1.0;
}

@media(min-width:751px){
.sp{
display:none !important;
}
}
@media(max-width:750px){
.pc{
display: none !important;
}
}


html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video{
	background:transparent;
	border:0;
	font-size:100%;
	font-style:normal;
	font-weight:500;
	line-height:100%;
	list-style:none;
	margin:0;
	padding:0;
	outline:0;
	text-align:left;
	vertical-align:baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section{
	display:block;
}


html,body{
	background-color:#F7F7F7;
	color:#000;
	font-size:16px;
	font-family:'Noto Sans JP', sans-serif;
	/* font-family :YuMincho,'Yu Mincho',serif;*/
	font-weight:500;
	margin:0 auto;
	padding:0;
	height:100%;
	width:100%;
	max-width:750px;
	text-align:center;
}
@media screen and (min-width:750px) {
body{
font-size:18px;
}
}

body,h1,h2,h3,h4,p,li{
    letter-spacing:0.1em;
    line-height:1.8;
}


/*共通*/
img{
	display:block;
    width:100%;
    height:auto;
}
p{
    margin:0;
    font-size:18px;
    line-height:1.7;
    padding:0;
	text-align:center;
}
@media screen and (min-width:750px) {
p{
font-size:24px;
}
}

.main{
 	background:#fff;
}
.pt20{
  padding-top:30px;
}
.pb20{
  padding-bottom:30px;
}
.bgLattice{

	background-size:100% auto;
}
.bgBlue{
	background-color:#d9e9f5;
}


/*section.campaign*/
.campaign{
	background:url("../img/campaign_bottom.png") center bottom no-repeat;
	background-size:98% auto;
	overflow:hidden;
	position:relative;
	padding-bottom:33vw;
}
.campaign > figure{
	margin:0 1%;
}
@media screen and (min-width:750px){
.campaign{
padding-bottom:250px;
}
}


/*div.btn　CVボタン*/
.btn{
	position:absolute;
	animation:btn 0.8s infinite alternate;
}
@keyframes btn{
from{transform:scale(0.95);}
to{transform: scale(1.02);}
}


/*section.reasons*/
.reasons{
	background:url("../img/bg02.png") left top repeat-y;
	background-size:100% auto;
}
.reasons h2{
	background:#fff;
}
.reasons figure{
	margin:15px 0;
}


/*div.accordion*/
.accordion{
	margin:0 20px;
	position:relative;
	z-index:4;
}


/*section.faq*/
.faq{
	background:#e4eef6;
	padding:4.2vw;
}
.faq h2{
	width:60vw;
	margin:0 auto;
}
.faq__accordion .accordion{
	margin:5vw 0;
}
@media screen and (min-width:750px){
.faq{
padding:20px 30px 30px;
}
.faq h2{
width:70%;
}
.faq__accordion .accordion{
margin:40px 0;
}
}

.faq__accordion .accordion__title{
	background:linear-gradient(90deg, #3fb3e7, #046997);
	border-radius:10px;
	color:#fff;
	font-size:3.8vw;
	font-weight:bold;
	line-height:1.5;
	padding:5vw 13vw 5vw 11vw;
	position:relative;
	transition:.3s;
	text-align:left;
}
.faq__accordion .open.accordion__title{
	border-radius:10px 10px 0 0;
	transition:.3s;
}
@media screen and (min-width:750px){
.faq__accordion .accordion__title{
font-size:28px;
padding:40px 100px 40px 80px;
}
}

.faq__accordion .accordion__title::before{

	background-size:6vw;
	
	background-position:left top;
	content:"";
	position:absolute;
	left:3vw;
	top:8vw;
	margin-top:-9px;
	width:46px;
	height:46px;
	/*transform:rotate(0deg);*/
	transition:.3s;
}
@media screen and (min-width:750px){
.faq__accordion .accordion__title::before{
background-size:46px auto;
left:22px;
top:50px;
}
}

.faq__accordion .accordion__title::after {
	content: "▼";
	font-size: 3vw;
	color: #fff;
	position: absolute;
	bottom: 10px;
	right: 10px;
	cursor: pointer;
	transition: transform 0.3s;
}

.faq__accordion .accordion__title.open::after {
	transform: rotate(180deg);
}

@media screen and (min-width:750px){
.faq__accordion .accordion__title::after{
background-size:30px 17px;
content:"▼";
font-size: 1vw;
right:28px;
top:70%;
margin-top:-9px;
width:30px;
height:17px;
}
}

.faq__accordion .accordion__detail{
	background:#fff;
	padding:5vw 3vw;
	border-radius:0 0 10px 10px;
}
.faq__accordion .accordion__detail p{

	background-size:6vw;
	padding-left:8vw;
	text-align:left;
}
.faq__text--point{
	background:linear-gradient(transparent 70%, #cbf7e2 30%);
	color:#1260BC;
	font-weight:bold;
}
@media screen and (min-width:750px){
.faq__accordion .accordion__detail{
padding:40px 20px;
}
.faq__accordion .accordion__detail p{
background-size:50px auto;
padding-left:60px;
}
}


/*section.attention*/
.attention{
	background:#d9e9f5;
	color:#2e3183;
	padding:20px 20px;
}
.attention h2{
	font-size:1.3em;
	padding-bottom:20px;
	text-align:center;
}
.attention h2 .dash{
	letter-spacing:-.2em;
	width:2em;
	margin-right:.5em;
}
.attention p{
    font-size:16px;
	text-align:left;
}
@media screen and (min-width:750px) {
.attention p{
font-size:20px;
}
}


/*footer.footer*/
.footer__inner{
    background:linear-gradient(90deg, #0071ad, #2e3183);
    padding:5.6vw;
    padding-bottom: 25vw; /* 这里增加了底部的内边距，你可以根据实际效果调整数值 */
}
.footer__logo img{
    margin:0 auto;
    width:35vw;
    height:auto;
}
.footer__link{
    margin-top:4.2vw;
    text-align:center;
}
.footer__link a{
    color:#fff;
    font-size:13px;
    text-decoration:underline;
}
.footer__copy{
    padding:4.2vw;
}
.footer__copy p{
    color:#2e3183;
    font-size:13px;
    text-align:center;
}
@media screen and (min-width:750px) {
   .footer__inner{
        padding:20px;
        padding-bottom: 100px; /* 在大屏幕下也相应增加底部内边距 */
    }
   .footer__logo img{
        width:140px;
        height:auto;
    }
   .footer__link{
        margin-top:30px;
    }
   .footer__link a{
        font-size:14px;
    }
   .footer__copy{
        padding:30px;
    }
   .footer__copy p{
        font-size:14px;
    }
}

.fixed-footer-button {
    position: fixed;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 750px;
    background-color: #4CAF50;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    font-family: Arial, sans-serif;
    z-index: 9999;
    border-radius: 15px;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
}

/* 通用样式 */
.fixed-footer-button .button-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.fixed-footer-button .button-text span {
    margin-bottom: 10px;
    font-weight: bold;
}

.line-icon {
    font-size: 60px;
    margin-right: 10px;
}

.button-text {
    text-align: left;
    line-height: 1.2;
}

.button-text span {
    display: block;
    font-size: 18px; /* 默认字体大小为18px */
}

/* 手机端样式 */
@media screen and (max-width: 768px) {
    .button-text span {
        font-size: 14px;
    }
}


.shine-effect {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 50%);
    transform: rotate(-30deg);
    animation: shine 3s infinite;
    pointer-events: none;
}

@keyframes shine {
    0% {
        transform: translateX(-100%) rotate(-30deg);
    }
    100% {
        transform: translateX(100%) rotate(-30deg);
    }
}
