@charset "UTF-8";

/* ===================================================================
CSS information

file name  :page.css
style info :コンテンツエリア関係 他

input[type="text"]

=================================================================== */

html,body{
	font-size:16px;
	color:#333333;
	line-height:1.6em;
  font-family: -apple-system, blinkMacSystemFont, /* Macの欧文はSan Francisco (OS X 10.11以降) */
               'Helvetica Neue', /* Macの欧文 (OS X 10.10以前) */
               'Segoe UI',       /* Windowsの欧文 */
               YuGothicM,        /* Windows8.1以上は游ゴシック */
               YuGothic,         /* Macの游ゴシック */
               Meiryo,           /* 游ゴシックが入っていないWindows */
               sans-serif;
}
/* Windows */
@font-face {
  font-family: YuGothicM;
  font-weight: normal;
  src: local('YuGothic-Medium'),  /* Mediumを明示的に指定 */
       local('Yu Gothic Medium'), /* Chrome用 */
       local('YuGothic-Regular'); /* Windows8.1ではMediumがないのでRegularを指定 */
}
@font-face {
  font-family: YuGothicM;
  font-weight: bold;
  src: local('YoGothic-Bold'), /* Boldはそのまま */
       local('Yu Gothic');     /* Chrome用 */
}
#wrap{
	overflow:hidden;
}
img{
	vertical-align:bottom;
}
#wrap {
	border-top: none;
}
#wrapper {
	background: linear-gradient(to bottom, #59c4f1, #fff);
}

#header h2{
	margin-top:10px;
}
section {
	background-color: #fff;
	max-width: 1024px;
	margin: 0 auto;
	padding: 40px 32px;
	box-sizing: border-box;
}
small {
	font-size: 14px;
}

@media screen and (max-width:1023px){
	section {
		padding: 30px 4%;
	}
}
/* ===============================================
# cont__ttl
=============================================== */
.cont__ttl {
	width: 100%;
	height: 10rem;
	background-color: #0075c1;
	max-width: 1024px;
	margin: 0 auto;
	position: relative;
}
.cont__ttl img {
	max-width: 440px;
}
.cont__ttl_sub {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,-50%);
}
.cont__ttl_main {
	position: absolute;
	top: 55%;
	left: 50%;
	transform: translate(-50%,-50%);
}
@media screen and (max-width:1023px){
	.cont__ttl {
		height: 7.8rem;
	}
	.cont__ttl img {
		padding:0 10px;
		box-sizing: border-box;
	}
	.cont__ttl .cont__ttl_sub02 {
		max-width: 230px;
	}
}
/* ===============================================
# MV
=============================================== */
#MV {
	background: url(../images/MV-BG.jpg) no-repeat top center ;
	position: relative;
}
#MV .MV__cont {
	max-width: 960px;
	margin: 0 auto;
	padding-top: 25px;
	text-align: center;
}
#MV .MV__cont img {
	width: 100%;
	display: block;
}
.MV__ttl01 {
	max-width: 733px;
	margin: 0 auto;
}
.MV__ttl02 {
	max-width: 748px;
	margin: 0 auto;
	padding: 1rem 0;
}
.MV__ttl03 {
	max-width: 733px;
	margin: 0 auto;
	padding: 0 0 1rem;
}
.MV__cont__img {
	display: flex;
	justify-content: center;
	align-items: center;
}
.MV__card {
	max-width: 390px;
	margin-right: -70px;
}
.MV__cont__img-triad {
	display: flex;
}
.MV__cont__img-triad > li:first-of-type {
	margin-right: -30px;
}
#MV .mv-link_box{
	position: relative;
	max-width: 1020px;
	margin: auto;
}
#MV .mv-link_box .mv-link{
	font-size: 85%;
	position: absolute;
	bottom: 0;
	bottom: 5px;
	left: 15px;
	color: #fff;
	max-width: 1000px;
	background-color: #528deb;
	text-decoration-line: none;
	padding: 5px 7px;
	max-width: 220px;
}
@media screen and (min-width:1023px){
	#MV .mv-link {
		width: 80%;
		right: 0;
		max-width: 220px;
		margin-left: auto;
		text-align:center;
		bottom: 10px;
	}
}
#MV .mv-link img{
	width: 13px !important;
	margin-left: 3px;
	margin-bottom: 4px;
	filter: invert(100%) brightness(200%);
}
/* ===============================================
# campaign
=============================================== */
#campaign {
	padding-bottom: 5rem;
	text-align: center;
}
@media screen and (max-width:1023px){
	#campaign {
		padding: 4% 4% 11%;
	}
}
/* ===============================================
# debitstop
=============================================== */
#debitstop{
    text-align: left;
    font-size: 1.4rem;
    line-height: 1.4;
}
#debitstop div{
	border: 5px solid #ED2E26;
    padding: 29px 30px;
}
#debitstop h2{
    font-size: 1.8rem;
    color: #ED2E26 !important;
    font-weight: bold;
}
#debitstop .annotation{
	font-size: 1.0rem;
}
#debitstop p {
    padding-top: 20px;
}
#debitstop img{
    vertical-align: bottom !important ;
    position: relative !important;
    width: 20px !important;
    bottom: 3px !important;
    top: -6px !important;
}
@media screen and (max-width:750px){
	#debitstop {
		padding-bottom: 5rem;
		text-align: left;
		font-size: 14px;
		line-height: 1.4;
	}
	#debitstop h2{
		font-size: 18px;
		color: #ED2E26 !important;
		font-weight: bold;
	}
	#debitstop p{
		padding-top: 10px;
	}
    #debitstop .annotation {
        font-size: 10px;
    }
	#debitstop img {
    vertical-align: bottom !important;
    position: relative !important;
    width: 12px !important;
    bottom: 3px !important;
    top: -4px !important;
}
}
@media screen and (max-width:400px){
	#debitstop a{
font-size: 13px;
	}
	}
/* ===============================================
# warning
=============================================== */
#warning {
	padding-bottom: 5rem;
	text-align: left;
	font-size: 1.4rem;
	line-height: 1.4;
}

#warning div{
	border: 5px solid #ED2E26;
    padding: 29px 30px;
}
#warning h2{
    font-size: 1.8rem;
    color: #ED2E26 !important;
    font-weight: bold;
}
#warning .sub{
	padding-top: 20px;
    padding-left: 1.4em;
    padding-bottom: 20px;
}
#warning p{
	padding-top: 20px;
	font-weight: bold;
}
#warning .sub li{
	display: list-item;
    list-style-type: disc;
}
#warning ul{
	padding-top: 20px;
	font-size: 1.2rem;
}
#warning .spbr{
	display: none;
}
#warning .annotation{
	font-size: 1.0rem;
}
#warning .contact{
		font-weight: normal;
		background-color: antiquewhite;
		margin-top: 20px;
		padding: 10px


}
#warning img{
	position: relative;
	width: 15px;
    bottom: 3px;
    left: -1px;
}
@media screen and (max-width:750px){
	#warning {
		padding-bottom: 5rem;
		text-align: left;
		font-size: 14px;
		line-height: 1.4;
	}
	#warning h2{
		font-size: 18px;
		color: #ED2E26 !important;
		font-weight: bold;
	}
	#warning p{
		padding-top: 10px;
	}
	#warning .sub{
		padding-top: 15px;
	}
    #warning .annotation {
        font-size: 10px;
    }
	#warning ul{
		padding-top: 20px;
		font-size: 12px;
	}
}
@media screen and (max-width:511px){
#warning .spbr{
	display: block;
}
}
@media screen and (max-width:400px){
	#warning a{
font-size: 13px;
	}
	}
/* ===============================================
# point
=============================================== */
#point {
	text-align: center;
}
.point__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3.8rem;
}
#point > a img {
	display: block;
	margin: 3.5rem auto ;
}
.point__chart {
	margin: 8rem auto 3.5rem;
}
@media screen and (max-width:1023px){
	.point__chart {
		margin: 3rem auto ;
	}
}
/* ===============================================
# scene
=============================================== */
#scene {
	padding-bottom: 0;
}
.scene__list-wrap {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding: 0 5%;
}
.scene__list-row {
	display: flex;
	align-items: center;
}
.scene__list-column {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.scene__list-text p {
	font-size: 18px;
	position: relative;
	padding-left: 1em;
	display: block;
	line-height: 2;
}
.scene__list-text p::before {
	content: "■";
	position: absolute;
	left: 0;
}
.scene__list-row--icon {
	max-width: 160px;
}
.scene__list-text li {
	margin-top: 8px;
}
.scene__list-text li:last-of-type {
	margin-top: 0;
}
.scene__list-caution a {
	text-decoration: underline;
	color: #002798;
}
.scene__list-caution,
.scene__caution{
	width: 100%;
	display: block;
}
.scene__list-caution {
	margin-top: 40px;
	color: #ff0000;
}
.scene__list-caution p,
.scene__caution p {
	text-align: left;
	display: inline-block;
	position: relative;
	padding-left: 2.5em;
}
.scene__list-caution p:before {
	position: absolute;
	content: "※1 ";
	left: 0;
}
.scene__caution p::before {
	content:"※2";
	position: absolute;
	left: 0;
}
.scene__list-ttl img {
	max-width: 390px;
}
@media screen and (max-width:1023px){
	.scene__list-row {
		flex-direction: column;
	}
	.scene__list-ttl {
		text-align: center;
	}
}
/* ===============================================
# bottom
=============================================== */
#bottom {
	padding-top: 10px;
}
/* ===============================================
# 下部
=============================================== */
ul.bunner{
	text-align:center;
	margin-top: 30px;
}
ul.bunner li:first-child{
	margin-bottom:30px;
}
.tell_box{
	text-align:center;
	padding:50px 0;
}

.accbox {
    padding: 0;
}

/*ラベル*/
.accbox label {
    display: inline-block;
    cursor :pointer;
	color: #1c539d;
}

/*ラベルホバー時*/
.accbox label:hover {
    color :#ff7200;
}

/*チェックは隠す*/
.accbox input {
    display: none;
}

/*中身を非表示にしておく*/
.accbox .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.cssacc:checked + .accshow {
    height: auto;
    padding: 5px;
    background: #e8e8e8;
    opacity: 1;
}



/*-----------------------------------------------

	ウィンドウサイズ 1024px～2000px
	ＰＣだけに適用

-----------------------------------------------*/

@media only screen and (min-width:1024px) {

.sp{
	display:none !important;
}

}


/*-----------------------------------------------

	ウィンドウサイズ 768px～1023px
	スマートフォン・タブレット仕様

-----------------------------------------------*/

@media only screen and (min-width:200px) and (max-width:1023px){

.pc{
	display:none;
}
.sp{
	display:block !important;
}
img{
	width:100% !important;
	height:auto;
	vertical-align:bottom;
}

#header {
	box-sizing:border-box;
	width: 100%;
	padding: 20px 4%;
}
#header h1 img{
	max-width:180px;
}
#header h2 img{
	max-width:80px;
}

/* ===============================================
# 下部
=============================================== */
ul.bunner{
	padding:0 4%;
}
ul.bunner li:first-child{
	margin-bottom:30px;
}
ul.bunner li:first-child img{
	max-width:418px;
}
ul.bunner li:last-child img{
	max-width:532px;
}
.tell_box{
	text-align:center;
	padding:40px 4%;
}
.tell_box img{
	max-width:750px;
}

#footer_area{
	padding:20px 4%;
}
#footer_area div#footer {
	width: 100%;
}
#footer_area div#footer ul {
	margin-bottom: 10px;
}
.f_block {
	float: none;
}
.f_block > a img{
	max-width:180px;
	margin:0 auto;
}
#footer_area div#footer p {
	float: none;
	text-align: left;
	font-size:12px;
	line-height:1.8em;
	margin-top:10px;
}
p#copyright {
	margin-top: 20px;
}

}
/*20230309追加分*/
.info__text.aki{
	line-height: 1.6;
    max-width: 960px;
    margin: 0 auto 2em;
}
.tel__inner table.bank_agent{
	width: 100%;
	max-width:960px;
    line-height: 2.1;
    margin: 0 auto;
}
.tel__inner table.bank_agent tr{
	border-top: 2px solid;
	border-color:#cecece;
}
.tel__inner table.bank_agent tr.both {
border-bottom: 2px solid;
border-top: 2px solid;
border-color:#cecece;
}
.tel__inner table.bank_agent tr.bottom {
border-bottom: 2px solid;
border-color:#cecece;
}
.tel__inner table.bank_agent tr:last-child{
	border-top: 1px solid;
	border-bottom: 2px solid;
	border-color:#cecece;
}
.tel__inner table.bank_agent th {
width: 20%;
background-color: #efeeee;
padding-left: 1em;
padding-right: 1em;
font-weight: 600;
}
.tel__inner table.bank_agent td{
	padding:1em;
	overflow-wrap : break-word;
}

.bank_agentt{
	display: block;
    text-align: right;
    margin: 2em 0;
    max-width: 960px;
    margin: 1em auto 0;
}

@media only screen and (max-width:750px){
    .totop{
        bottom: 10rem;
        width: 11rem;
        height: 11rem;
    }
    .totop.fade_out{
        transform: translateX(13rem);
    }
}
@media screen and (max-width:1000px) {
.info__text.aki{
	width:92%;
}
.tel__inner table.bank_agent{
	width: 92%;
}
.bank_agentt{
	width: 92%;
}
}
/*追加*/
@media screen and (max-width:750px) {
.tel__inner table.bank_agent {
width: 92%;
table-layout: fixed;
word-break: break-word;
}
.tel__inner table tr th {
font-size: 11px;
width: 31%;
}
.tel__inner table.bank_agent th {
width: 20%;
background-color: #efeeee;
padding-left: 0.5em;
padding-right: 0.5em;
text-align: left;
}
.tel__inner table tr td {
font-size: 13px;
line-height: 1.5em;
}
.tel__inner table tr th {
font-size: 13px;
width: 31%;
line-height: 1.5em;
}
}

/* ===============================================
# TOPへボタン関連
=============================================== */
.to-top__link {
	text-align: right;
	padding: 1em 0;
	max-width: 960px;
	font-size: 16px;
	text-decoration: underline;
	color: #002798;
}
.to-top__link a {
	display: inline-block;
	position: relative;
}
.to-top__link a::before {
	content: "";
    position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -1em;
    width: 0;
    height: 0;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-bottom: 10px solid #ffb424;
}
.to-top__btn{
	max-width: 20vw;
	min-width: 100px;
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    transition: .3s;
    opacity: 1!important;
    z-index: 2;
}
@media screen and (max-width:1000px) {
	.to-top__btn{
		bottom: 0;
		right: 0;
	}
}
