@charset "UTF-8";
/* CSS Document */
html,
body,
h1,
h2,
h3,
h4,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
    margin: 0;
    padding: 0;
    border: 0;
    font-weight: normal;
    vertical-align: baseline;
}

article,
header,
footer,
aside,
figure,
figcaption,
nav,
section {
    display: block;
}
a {
    text-decoration: none;
    color: inherit;
}
a:hover{
	opacity: 0.8;
}

html {
    font-family: "Noto Sans";
    font-size: 10px;
    color: #5F5F5F;
    min-width: 320px;
}

body {
    line-height: 1;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    overscroll-behavior-y: none;
    font-size: 1.6rem;
	line-height: 1.8;
    position: static;
    background-color: #ffffff;
    min-width: 320px;
}

header{
	padding: 10px 0px;
	position: fixed;
	z-index: 999;
	background: #fff;
	width: 100%;
}
header .header{
	display: flex;
	justify-content: space-between;
	padding: 0px 7vw;
}
header .header .logo{
	max-width: 230px;
}
header .header .logo img{
	width: 262px;
}
header .header .menu{
	display: flex;
	align-items: center;
	gap:0px 20px;
}
header .header .menu p{
	font-size: 1.8rem;
}
header .header .menu .en{
	display: flex;
	justify-content: center;
	align-items: center;
	background: #E23744;
	padding: 5px;
	color: #fff;
	border-radius: 50px;
	width: 126px;
}
header .header .menu .en img{
	max-width: 24px;
	width: 100%;
	margin-right: 5px;
}
header .header .menu .en p{
	font-size: 1.8rem;
}

.main_vi{
	position: relative;
	display: flex;
	justify-content: space-between;
	padding-top: 124px;
	padding-right: 4vw;
}
.main_vi::before{
	content: "";
	background: url("../img/bg1.png");
	background-size: 100%;
	width: 233px;
	height: 186px;
	position: absolute;
    bottom: 0;
    left: 0;
    transform: translate(60%, 60%);
}
.main_vi::after{
	content: "";
	background: url("../img/scroll.png");
	width: 7px;
	height: 112px;
	background-size: 100%;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 100%);
}
.main_vi div{
	width: calc(100%/2);
}
.main_vi .main_bg img{
	width: 100%;
}
.main_vi .main_txt img{
	width: 100%;
}

#contents{
	margin-top: 224px;
}
.contents{
	text-align: center;
}
.contents .ttl{
	max-width: 726px;
	margin: 0 auto 138px;
}
.contents .ttl img{
	width: 100%;
}

.contents .column{
	display: flex;
	justify-content: space-between;
}
.contents .column1{
	position: relative;
	max-width: 1440px;
	margin: 0 auto 130px;
	padding: 0px 7vw;
}
.contents .column1::after{
	content: "";
	width: 28px;
	height: 28px;
	background: url("../img/dot2.png");
	background-size: 100%;
	position: absolute;
	bottom: -80px;
    right: 90px;
}
.contents1 .ttl{
	position: relative;
}
.contents1 .ttl::before{
	content: "";
	width: 43px;
	height: 43px;
	background: url("../img/dot3.png");
	background-size: 100%;
	position: absolute;
	bottom: -70px;
    left: -250px;
}
.contents1 .ttl::after{
	content: "";
	width: 91px;
	height: 91px;
	background: url("../img/dot1.png");
	background-size: 100%;
	position: absolute;
	top: -70px;
    right: -130px;
}
/* PC時のレイアウト */
.column_img {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.pc-layout {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.row {
    display: flex;
    gap: 10px;
}

.column_img img {
    width: 301px;
    height: auto;
}

/* SP（スマホ）ではSwiperを表示し、PCレイアウトを非表示 */
@media screen and (max-width: 767px) {
    .pc-layout {
        display: none;
    }
	.swiper-slide img{
		width: 100%;
	}
	.swiper-container{
		position: relative;
		display: block;
		overflow: hidden;
	}
	.swiper-button-next,.swiper-button-prev{
		background: #2E63B9;
		color:#fff;
		width: 45px;
		height: 45px;
		padding: 10px;
		border-radius: 50px;
	}
	.swiper-button-next:after, .swiper-button-prev:after{
		font-size: 2.4rem;
	}
}

/* PCではSwiperを非表示 */
@media screen and (min-width: 768px) {
    .swiper-container {
        display: none;
    }
}

.contents .column .column_txt{
	text-align: left;
	max-width: 570px;
}
.contents .column .column_txt .c_ttl{
	font-size: 3.8rem;
	font-weight: bold;
	position: relative;
	color: #2E63B9;
	margin-bottom: 40px;
}
.contents .column .column_txt .c_ttl::before{
	content: "";
	position: absolute;
	top: -10px;
    left: -10px;
	background: url("../img/dot1.png");
	width: 82px;
	height: 82px;
	background-size: 100%;
}
.contents .column .column_txt .c_txt{
	font-size: 2rem;
	font-weight: bold;
	line-height: 2.8;
	position: relative;	
}
.contents .column .column_txt .c_txt p{
	position: relative;	
	z-index: 3;
	font-weight: bold;
}
.contents .column .column_txt .c_txt::after{
	content: "";
	width: 100%;
	height: 290px;
	background: url("../img/txt_bg.png");
	background-size: 110%;
    background-repeat: no-repeat;
    position: absolute;
	bottom: -80px;
    left: -10px;
	z-index: 1;
}
.contents .column2{
	flex-direction: row-reverse;
	align-items: center;
	position: relative;
}
.contents .column2 .column_img{
	width: 48%;
	display: block;
	text-align: left;
	position: relative;
	z-index: 2;
}
/*.contents .column2 .column_img::before{
	content: "";
	width: 73px;
	height: 73px;
	background: url("../img/dot3.png");
	background-size: 100%;
	position: absolute;
	top: -30px;
    left: -30px;
	z-index: 1;
}*/
.contents .column2 .column_img p{
	margin-left: 100px;
	font-size: 2.2rem;
	line-height: 1.6;
	font-weight: bold;
	margin-top: 25px;
}
.contents .column2 .column_img p span.note{
	font-size: 90%;
	font-weight: normal;
}
.contents .column2 .column_img img{
	width: 100%;
	position: relative;
	z-index: 2;
}
.contents .column2 .column_txt{
	padding: 0px 0px 0px 7vw;
}

.contents1 .btn{
	max-width: 1180px;
	display: block;
    margin: 120px auto;
}
.contents1 .btn img{
	width: 100%;
}
/*.contents1 .btn{
	background: #E23744;
	max-width: 1220px;
	margin: 230px auto 80px;
	color: #fff;
	border: solid 10px #fff;
	padding: 25px 0px 30px;
	border-radius: 35px;
	box-shadow: 0px 0px 35px rgba(0,0,0,0.16);
	text-align: left;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 3.5rem;
	position: relative
}
.contents1 .btn::before{
	content: "";
	width: 28px;
	height: 28px;
	background: url("../img/dot3.png");
	background-size: 100%;
	position: absolute;
	top: 10px;
    left: 50px;
}
.contents1 .btn::after{
	content: "";
	width: 15px;
	height: 15px;
	background: url("../img/dot3.png");
	background-size: 100%;
	position: absolute;
	bottom: 10px;
    right: 20px;
}
.contents1 .btn dl{
	display: flex;
	gap:0px 20px;
	line-height: 1;
	margin-bottom: 20px;
	position: relative;
}
.contents1 .btn dl:last-child{
	margin-bottom: 0px;
}
.contents1 .btn dl::after{
	content: "";
	width: 100%;
	height: 3px;
	background: #fff;
	position: absolute;
	bottom: -8px;
	left: 0;
}
.contents1 .btn dl:last-child::after{
	width: 95%;
}
.contents1 .btn dl dt{
	position: relative;
}
.contents1 .btn dl dt::after{
	content: "";
	width: 2px;
	height: 90%;
	background: #fff;
	position: absolute;
	top: 0;
	right: -10px;
}
.contents1 .btn dl:last-child dd::after{
	content: "";
	width: 43px;
	height: 43px;
	background: url("../img/arrow1.png");
	background-size: 100%;
	position: absolute;
	bottom: -6px;
    right: -40px;
	border-radius: 50px;
}*/

.contents2{
	background: #F2F0F0;
	padding: 125px 0px 34px;
}
.contents2 .column{
	align-items: flex-start;
}
.contents2 .column2::after{
	content: "";
	width: 28px;
	height: 28px;
	background: url("../img/dot2.png");
	background-size: 100%;
	position: absolute;
	bottom: 0;
	left: 4%;
}
.contents2 .c_ttl{
	max-width: 661px;
	position: relative;
}
.contents2 .column .column_txt .c_ttl{
	margin-bottom: 26px;
}
.contents2 .column .column_txt .c_ttl::before{
	content: "";
	width: 100%;
	height: 283px;
	background: url("../img/txt_bg2.png");
	background-size: 90%;
	background-repeat: no-repeat;
	position: absolute;
	top:0;
	left: -50px;
	z-index: 1;
}
.contents2 .c_ttl img{
	width: 100%;
	position: relative;
	z-index: 2;
}
.contents2 .column2 .column_img{
	padding-right: 7vw;
	width: 35%;
}
.contents2 .column .column_txt .c_txt::after{
	content: "";
	width: 82px;
	height: 82px;
	background: url("../img/dot3.png");
	background-size: 100%;
	position: absolute;
	left: auto;
	bottom: -13px;
    right: 50px;
}
.contents2 .column .column_txt{
	max-width: 580px;
}
.contents2 .column2 .column_img .img_cnt{
	max-width: 562px;
}
.contents2 .column2 .column_img .img_cnt img{
	width: 100%;
}
.contents2 .column2 .column_img .img_cnt:first-child{
	margin-left: 50px;
	margin-bottom: 38px;
}
.contents2 .column2 .column_img .img_cnt:first-child::before{
	content: "";
	width: 32px;
	height: 32px;
	background: url("../img/dot2.png");
	background-size: 100%;
	position: absolute;
	top: -70px;
    left: -20px;
}
.contents2 .column2 .column_img .img_cnt:last-child{
	position: relative;
}
.contents2 .column2 .column_img .img_cnt:last-child::before{
	content: "";
	width: 28px;
	height: 28px;
	background: url("../img/dot1.png");
	background-size: 100%;
	position: absolute;
	top: 20%;
    right: 0px;
    transform: translate(60px, 50%);
}
.contents2 .column2 .column_img p{
	font-size: 1.6rem;
	margin: 0;
	text-align: right;
}
.contents2 .column2 .column_img::before{
	display: none;
}

.contents3{
	padding: 90px 0px 155px;
}
.contents3 .cnt{
	position: relative;
	margin-bottom: 0px !important;
}
.contents3 .cnt::before{
	content: "";
	width: 99px;
    height: 294px;
	background: url("../img/dot3_1.png");
	background-size: 100%;
	position: absolute;
	top: 0;
	right: 70px;
}
.contents3 .cnt::after{
	content: "";
	width: 5%;
    height: 20%;
	background: url("../img/bg3.png");
	background-size: 100%;
	background-repeat: no-repeat;
	position: absolute;
	bottom: 50%;
	right: 0px;
	transform: translate(-150%, 230%);
}
.contents3 .cnt .ttl{
	max-width: 560px;
	margin-bottom: 0px;
	position: relative;
    z-index: 3;
}
.contents3 .cnt .block{
	background: #2E63B9;
	border-radius: 0px 80px 80px 0px;
	border: solid 15px #fff;
	border-left: none;
	box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.16);
	max-width: 77%;
	padding: 100px 0px 100px 4vw;
	text-align: left;
	margin-top: -24px;
	position: relative;
}
.contents3 .cnt .block::before{
	content: "";
	width: 45px;
	height: 45px;
	background: url("../img/dot3.png");
	background-size: 100%;
	position: absolute;
	bottom: 160px;
    left: 16px;
}
.contents3 .cnt .block .block_cnt{
	display: flex;
}
.contents3 .cnt .block .block_cnt .block_img{
	max-width: 379px;
}
.contents3 .cnt .block .block_cnt .block_img img{
	width: 100%;
}
.contents3 .cnt .block .block_cnt .block_txt{
	color: #fff;
	margin-left: 44px;
	font-size: 2.8rem;
	line-height: 1.6;
	font-weight: bold;
}
.contents3 .cnt .block .block_cnt .block_txt p.sub_txt{
	font-size: 3.3rem;
}
.contents3 .cnt .block .block_cnt .block_txt p.name{
	font-size: 5.4rem;
	border-bottom: solid 3px;
}
.contents3 .cnt .block .block_cnt .block_txt p.name span{
	font-size: 4.4rem;
}
.contents3 .cnt .block .block_cnt .block_txt .txt{
	width: 81%;
	font-size: 2rem;
	font-weight: bold;
	line-height: 2.4;
	margin: 43px 0px 0px;
}
.contents3 .cnt .btn{
	display: flex;
	gap:0px 20px;
	justify-content: center;
	margin: 61px 0px 0px;
}
.contents3 .cnt .btn a{
	width: calc(82%/2);
	background: #fff;
	display: flex;
	align-items: center;
	gap:0px 20px;
	justify-content: center;
	border-radius: 50px;
	font-size: 2.5rem;
	font-weight: bold;
	color: #2E63B9;
	padding: 10px 0px;
}
.contents3 .cnt .btn a:last-child{
	color: #E23744;
}
.contents3 .cnt .btn a img{
	max-width: 29px;
}
.contents3 .cnt .btn a p{
	font-weight: bold;
}

.contents4{
	background: #F2F0F0;
	padding: 78px 0px;
	position: relative;
}
.contents4::before{
	content: "";
	width: 28px;
	height: 28px;
	background: url("../img/dot1.png");
	background-size: 100%;
	position: absolute;
	bottom: 17%;
    left: 6%;
}
.contents4::after{
	content: "";
	width: 39px;
	height: 39px;
	background: url("../img/dot1.png");
	background-size: 100%;
	position: absolute;
	bottom: 43%;
    right: 6%;
}
.contents4 .cnt{
	max-width: 1400px;
	margin: 0 auto;
}
.contents4 .cnt .ttl{
	max-width: 598px;
	position: relative;
	margin-bottom: 114px;
}
.contents4 .cnt .ttl::before{
	content: "";
	width: 28px;
	height: 28px;
	background: url("../img/dot2.png");
	background-size: 100%;
	position: absolute;
	top: -10px;
    left: -35px;
}
.contents4 .cnt .column4{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap:50px;
	position: relative;
}
/*.contents4 .cnt .column4::before{
	content: "";
	width: 105px;
	height: 105px;
	background: url("../img/dot3.png");
	background-size: 100%;
	position: absolute;
	bottom: 0;
	left: 130px;
}*/
.contents4 .cnt .column4 .column_cnt{
	width: calc(100%/3 - 91px);
	min-height: 100px;
	background: #fff;
	border-radius: 25px;
	padding: 27px;
	box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.16);
	position: relative;
	z-index: 3;
	display: flex;
    align-items: center;
	text-align: left;
	/*padding-right: 80px;*/
}
/*.contents4 .cnt .column4 .column_cnt::before{
	content: "";
	width: 43px;
	height: 43px;
	background: url("../img/arrow.png");
	background-size: 100%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-30px,-50%);
}*/
.contents4 .cnt .column4 .column_cnt img{
	width: 100%;
	margin-bottom: 12px;
}
.contents4 .cnt .column4 .column_cnt p{
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: bold;
	color: #2E63B9;
}
.contents4 p.copy2{
	font-size: 2rem;
    margin-top: 20px;
}

.contents5{
	position: relative;
}
.contents5::before{
	content: "";
	width: 28px;
	height: 28px;
	background: url("../img/dot1.png");
	background-size: 100%;
	position: absolute;
	bottom: 60px;
    left: 60px;
}
.contents5::after{
	content: "";
	width: 28px;
	height: 28px;
	background: url("../img/dot1.png");
	background-size: 100%;
	position: absolute;
	top: 60px;
	left: 60px;
}
.contents5 .cnt{
	max-width: 1200px;
	margin: 0 auto;
	padding: 160px 0px 0px;
}
.contents5 .cnt .cnt5_btn{
	display: flex;
	align-items: center;
	justify-content: center;
	gap:0px 20px;
	text-align: center;
	position: relative;
	z-index: 3;
	margin-bottom: 64px;
}
.contents5 .cnt .cnt5_btn::before{
	content: "";
	width: 105px;
	height: 105px;
	background: url("../img/dot1.png");
	background-size: 100%;
	position: absolute;
	top: -50px;
    left: -50px;
}
.contents5 .cnt .cnt5_btn::after{
	content: "";
	width: 38px;
	height: 38px;
	background: url("../img/dot2.png");
	background-size: 100%;
	position: absolute;
	top: -90px;
    right: 370px;
}
.contents5 .cnt .cnt5_btn .btn{
	width: calc(100%/2);
}
.contents5 .cnt .cnt5_btn .btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: left;
	box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.16);
	border-radius: 30px;
	padding: 30px 20px;
	gap:0px 20px;
	background: #fff;
	position: relative;
	z-index: 3;
}
.contents5 .cnt .cnt5_btn .btn a img{
	max-width: 158px;
	width: 100%;
}
.contents5 .cnt .cnt5_btn .btn a p{
	font-size: 2.5rem;
	line-height: 1.4;
	font-weight: bold;
	color: #2E63B9;
	position: relative;
}
.contents5 .cnt .cnt5_btn .btn a p span{
	position: absolute;
	top: 74%;
    right: 10px;
	transform: translate(0,-50%);
	width: 29px;
	height: 29px;
	background: url("../img/arrow2.png");
	background-size: 100%;
}
.contents5 .cnt .cnt5_btn .btn:last-child a p span{
	position: absolute;
	top: 74%;
    right: 80px;
	transform: translate(0,-50%);
	width: 29px;
	height: 29px;
	background: url("../img/arrow3.png");
	background-size: 100%;
}
.contents5 .cnt .cnt5_btn .btn:last-child a p{
	color: #E23744;
}
.contents5 .cnt .cnt5_btn2{
	margin-bottom: 120px;
	position: relative;
}
.contents5 .cnt{
	position: relative;
}
.contents5 .cnt .cnt5_btn2 a{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 754px;
	background: #2E63B9;
	border-radius: 21px;
	padding: 28px;
	margin: 0 auto;
}
.contents5 .cnt .cnt5_btn2 a p{
	font-size: 2.8rem;
	line-height: 1;
	font-weight: bold;
	color: #fff;
}
.contents5 .cnt .cnt5_btn2 a img{
	width: 33px;
	margin-left: 10px;
}
.contents5 .cnt .list{
	max-width: 900px;
	margin: 0 auto;
	background: #F3F0F0;
	padding: 40px;
	border-radius: 35px;
	position: relative;
}
.contents5 .cnt .list::before{
	content: "";
	width: 131px;
	height: 184px;
	background: url("../img/cnt5_img3.png");
	background-size: 100%;
	position: absolute;
	bottom: 20px;
    left: 60px;
}
.contents5 .cnt .list::after{
	content: "";
	width: 105px;
	height: 105px;
	background: url("../img/dot3.png");
	background-size: 100%;
	position: absolute;
	top: -40px;
    left: -40px;
	z-index: -1;
}
.contents5 .cnt .list .list_block{
	margin-bottom: 46px;
}
.contents5 .cnt .list .list_block .list_ttl{
	font-size: 3rem;
	line-height: 1.4;
	font-weight: bold;
	color: #464646;
	letter-spacing: 0.2em;
	position: relative;
	display: inline-block;
	border-bottom: solid 2px;
	margin-bottom: 47px;
}
.contents5 .cnt .list .list_block .list_ttl2{
	font-size: 2rem;
	font-weight: bold;
}
.contents5 .cnt .list .list_block:last-child{
	margin-bottom: 0px;
}
.contents5 .cnt .list .list_block .list_cnt{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 80%;
    margin: 0 auto;
}
.contents5 .cnt .list .list_block .list_cnt dl{
	width: calc(100%/2);
	text-align: left;
	margin-bottom: 48px;
}
.contents5 .cnt .list .list_block .list_cnt dl dt{
	font-size: 1.7rem;
	font-weight: bold;
	color: #888787;
}
.contents5 .cnt .list .list_block .list_cnt dl dd{
	font-size: 2rem;
	font-weight: bold;
}


footer .footer{
	max-width: 1200px;
	margin: 0 auto;
}
footer .footer .footer_cnt{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: solid 1px #2E63B9;
	margin-bottom: 10px;
	padding-bottom: 10px;
}
footer .footer .footer_cnt img{
	max-width: 262px;
	width: 100%;
}
footer .footer .footer_cnt .sns{
	display: flex;
}
footer .footer .footer_cnt .sns a{
	max-width: 70px;
	height: 70px;
}
footer .footer .footer_cnt .sns a img{
	width: 100%;
}
footer .footer p.copy1{
	text-align: right;
	margin-bottom: 110px;
	font-size: 2rem;
	font-weight: bold;
}
footer .footer .footer_menu{
	color: #2E63B9;
	margin-top: 110px;
}
footer .footer .footer_menu ul{
	list-style: none;
	display: flex;
	justify-content: center;
	gap:0px 20px;
	margin-bottom: 20px;
}
footer .footer .footer_menu ul li{
	font-size: 1.8rem;
	font-weight: bold;
}
footer .footer .footer_menu .copy{
	text-align: center;
	margin-bottom: 50px;
}

.pc_w1441{
	display: none;
}
.pc_w1440{
	display: block;
}
.pc{
	display: block;
}
.pcdl{
	display: inline-block;
}
.sp_ttl{
	display: none;
}
.sp_menu_btn{
	display: none;
}
.sp{
	display: none;
}
@media screen and (min-width: 1800px) {
	.pc_w1441{
		display: block;
	}
	.pc_w1440{
		display: none;
	}
	.contents1 .column2,.contents2 .column2{
		max-width: 1440px;
		margin: 0 auto;
	}
	.contents1 .column2 .column_txt{
		padding: 0px;
	}
	.contents2 .column2 .column_img{
		padding-right: 0px;
		width: 45%;
	}
}
@media screen and (max-width: 1400px) {
	.column_img img{
		width: 260px;
	}
}
@media screen and (max-width: 1300px) {
	.main_vi{
		padding-right: 2vw;
	}
	.column_img{
		width: 50%;
	}
	.contents .column .column_txt{
		max-width: 45%;
	}
	.contents .column2 .column_img{
		width: 45%;
	}
	.contents .column2 .column_img p{
		margin-left: 30px;
	}
	.contents2 .column .column_txt{
		max-width: 40%;
	}
	.contents .column .column_txt .c_txt{
		font-size: 1.9rem;
	}
	.contents2 .column2 .column_img{
		width: 42%;
	}
	.contents1 .btn{
		max-width: 1000px;
	}
}

/*ipad*/
@media screen and (max-width: 1024px) {
	.pc_w1440{
		display: none;
	}
	.pc_w1441{
		display: block;
	}
	.sp_ttl{
		display: block;
		margin-bottom: 60px;	
		position: relative;
	}
	.sp_ttl img{
		position: relative;
		z-index: 3;
	}
	.sp_ttl::before{
		content: "";
		width: 575px;
        height: 268px;
        background: url(../img/txt_bg2.png);
        background-size: 100%;
        position: absolute;
        bottom: -78px;
		left: 50%;
		transform: translate(-50%,0);
	}
	header .header{
		padding: 0px 1vw;
	}
	.contents .ttl{
		margin-bottom: 20px;
	}
	.contents .column1{
		display: block;
		margin-bottom: 100px;
	}
	.column_img{
		width: 100%;
		margin-bottom: 20px;
	}
	.contents .column .column_txt{
		max-width: 100%;
	}
	.contents .column .column_txt .c_ttl{
		margin-bottom: 12px;
	}
	.contents .column .column_txt .c_txt::after{
		width: 390px;
	}
	.contents .column2{
		display: block;
		padding: 0px 7vw;
	}
	.contents .column2 .column_img{
		width: 100%;
	}
	.contents .column2 .column_txt{
		padding: 0px;
		margin-top: 30px;
	}
	.contents .column2 .column_txt .c_txt::after{
		bottom: -140px
	}
	.contents1 .btn {
        max-width: 850px;
		margin: 220px auto 120px;
    }
	.contents1 .ttl::after{
		right: -10px;
	}
	
	.contents2{
		padding: 60px 0px 34px;
	}
	.contents2 .cnt{
		position: relative;
	}
	.contents2 .column2 .column_img{
		padding: 0;
		margin-bottom: 50px;
	}
	.contents2 .column2 .column_img .img_cnt:first-child{
		margin: 0px 0px 20px auto;
	}
	.contents2 .column .column_txt .c_ttl{
		display: none;
	}
	.contents2 .column .column_txt .c_txt::after{
		width: 82px;
		bottom: 0;
	}
	.contents2 .column2::after{
		bottom: 0;
	}
	
	.contents3 .cnt .block{
		max-width: 85%;
	}
	.contents3 .cnt::after {
    	content: "";
   	 	width: 10%;
		height: 83px;
	}
	.contents5 .cnt{
		padding: 160px 7vw;
	}
	.contents5 .cnt .cnt5_btn{
		display: block;
	}
	.contents5 .cnt .cnt5_btn .btn{
		width: 100%;
		margin-bottom: 30px;
	}
	.contents5 .cnt .list .list_block .list_cnt{
		width: 100%;
	}
	
	footer .footer{
		padding: 0px 7vw;
	}
	
	/*20250904*/
	.main_vi::before{
		width: 183px;
		height: 146px;
		transform: translate(20%, 60%);
	}
	.contents4 .cnt .column4{
		padding: 0px 7vw;
	}
}
@media screen and (max-width: 820px) {
	.sp_menu_btn{
		width: 24px;
        height: 20px;
        background: #2E63B9;
        border-radius: 5px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        cursor: pointer;
        position: relative;
        z-index: 100;
        padding: 10px;
	}
	.sp_menu_btn span {
		display: block;
		width: 100%;
		height: 3px;
		background: #fff;
		transition: all 0.3s;
	}
	/* ハンバーガーメニューの開閉時の変化 */
	.sp_menu_btn.active span:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}
	.sp_menu_btn.active span:nth-child(2) {
		opacity: 0;
	}
	.sp_menu_btn.active span:nth-child(3) {
		transform: translateY(-9px) rotate(-45deg);
	}
	header .header{
		padding: 0px 20px;
		align-items: center;
	}
	header .header .logo{
		max-width: 110px;
		display: flex;
	}
	header .header .menu{
		display: block;
		position: fixed;
		transition: left 0.3s ease-in-out;
		top: 115px;
		left: 100%;
		width: 100%;
		background: #2E63B9;
		z-index: 99;
		padding: 20px 20px;
	}
	/* メニューが開いた状態 */
	header .header .menu.open {
		 left: 0%;
	}
	header .header .menu a{
		display: block;
		margin-bottom: 20px;
	}
	header .header .menu p{
		color: #fff;
		font-size: 2.4rem;
	}
	
	main{
		padding-top: 50px;
	}
	.main_vi{
		padding: 65px 20px 0px 0px;
	}
	.main_vi div {
		width: calc(95% / 2);
	}
	#contents {
		margin-top: 164px;
	}
	.contents .ttl {
		max-width: 600px;
		margin-bottom: 30px;
	}
	
	.contents .column1{
		padding: 0px 20px;
	}
	.contents .column2{
		padding: 0px 20px;
	}
	.contents1 .ttl::after{
		right: -80px;
	}
	/*.contents1 .btn{
		font-size: 2.8rem;
	}
	.contents1 .btn a p::before {
		content: "";
		bottom: 4px;
	}
	.contents1 .btn {
        max-width: 680px;
    }
	.contents1 .btn dl:last-child dd::after{
		width: 33px;
    	height: 33px;
	}*/
	.contents3 .cnt::after{
		bottom: 0;
	}
	.contents3 .cnt::after {
        content: "";
        width: 120px;
        height: 83px;
    }
	.contents3 .cnt .block {
        max-width: 90%;
    }
	.contents3 .cnt .block .block_cnt .block_txt{
		margin-left: 24px;
	}
	.contents3 .cnt .block .block_cnt .block_txt .txt {
    	width: 91%;
	}
	
	.contents4 .cnt .ttl{
		margin-bottom: 60px;
	}
	.contents4 .cnt .column4{
		padding: 0px 20px;
	}
	.contents4 .cnt .column4 .column_cnt {
		width: 100%;
		height: auto;
	}
	
	.contents5 .cnt{
		padding: 80px 20px;
	}
	.contents5 .cnt .cnt5_btn::after{
		top: -70px;
	}
	
	footer .footer{
		padding: 0px 20px;
	}
}
@media screen and (max-width: 768px) {
	.main_vi{
		padding: 65px 0px 0px 0px;
	}
	.contents1 .ttl::after{
		right: -40px;
	}
	.contents1 .ttl::before{
		left: -30px;
	}
	.contents .column1{
		margin-bottom: 50px;
	}
	.contents .column1::after{
		bottom: -30px;
	}
	.contents .column .column_txt .c_txt::after{
		width: 300px;
		height: 210px;
	}
	.contents .column2 .column_img p{
		font-size: 1.8rem;
		margin-left: 0px;
	}
	.contents2 .column2 .column_img .img_cnt:first-child::before{
		left: 0;
	}
	.contents2 .column2 .column_img{
		margin-bottom: 30px;
	}
	.contents .column .column_txt .c_txt {
        font-size: 1.6rem;
		line-height: 1.6;
    }
	.contents3 .cnt .ttl{
		max-width: 400px;
	}
	.contents3 .cnt .block .block_cnt .block_txt{
		font-size: 1.4rem;
	}
	.contents3 .cnt .block .block_cnt .block_txt p.sub_txt{
		font-size: 1.5rem;
	}
	.contents3 .cnt .block .block_cnt .block_txt p.name{
		font-size: 2.8rem;
	}
	.contents3 .cnt .block .block_cnt .block_txt p.name span{
		font-size: 2.3rem;
	}
	.contents3 .cnt .block .block_cnt .block_txt .txt{
		font-size: 1.3rem;
	}
	.contents3 .cnt .btn a{
		font-size: 2rem;
	}
	
	.contents4 .cnt .column4 .column_cnt {
        width: 100%;
    }
	.contents5{
		padding-bottom: 60px;
	}
	.contents5 .cnt{
		padding-bottom: 0px;
	}
	.contents5::after{
		bottom: 0;
		display: none;
	}
	.contents5::before{
		display: none;
	}
	.contents5 .cnt .list .list_block .list_cnt{
		display: block;
		text-align: center;
	}
	.contents5 .cnt .list .list_block .list_cnt dl{
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	.contents5 .cnt .list::before{
		bottom: auto;
		top: 60px;
	}
	.contents5 .cnt .list::after {
		content: "";
		width: 65px;
		height: 65px;
   	 	top: -40px;
		left: -10px;
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.pc{
		display: none;
	}
	.pcdl{
		display: none;
	}
	.sp{
		display: block;
	}
	header .header .menu{
		top: 115px;
	}
	.main_vi .main_img{
		width: 100%;
	}
	.main_vi .main_img img{
		width: 100%;
	}
	.main_vi::before{
		width: 40px;
        height: 53px;
		background: url(../img/bg1_sp.png);
		background-size: 100%;
		transform: translate(20%, 60%);
	}
	.main_vi::after {
    	content: "";
   	 	width: 4px;
		height: 64px;
	}
	
	#contents {
        margin-top: 124px;
    }
	.contents .ttl {
		max-width: 276px;
		margin-bottom: 40px;
	}
	.contents .column1{
		overflow: hidden;
		padding-bottom: 78px;
		padding: 0px;
	}
	.column_img{
		position: relative;
	}
	.column_img img{
		width: 100%;
		overflow: visible;
	}
	.contents .column .column_txt .c_ttl{
		font-size: 1.8rem;
		text-align: center;
	}
	.contents .column .column_txt .c_ttl::before{
		width: 18px;
		height: 18px;
		top: 0;
		left: 24%;
		transform: translate(-50%,0);
	}
	.contents .column1 .column_txt{
		max-width: 100%;
        padding: 0px 20px;
        margin-top: 30px;
        position: relative;
	}
	.contents .column .column_txt .c_txt{
		font-size: 1.3rem;
		line-height: 2;
		padding-bottom: 50px;
	}
	.contents .column .column_txt .c_txt::after {
		width: 100%;
        height: 100%;
		bottom: -10px;
        left: 0;
    }
	.contents1 .btn{
		width: 100%;
		margin: 80px auto 60px;
	}
	/*.contents1 .btn dl{
		display: block;
		text-decoration: underline;
		text-decoration-thickness: 2px;
		text-underline-offset: 8px;
		line-height: 1.8;
	}
	.contents1 .btn dl:last-child dd::after{
		width: 18px;
		height: 18px;
		bottom: 4px;
		right: -15px;
	}
	.contents1 .btn dl dt::after,.contents1 .btn dl::after{
		display: none;
	}
	.contents1 .btn dl dt{
		font-size: 2rem;
	}
	.contents1 .btn dl dd{
		font-size: 1.7rem;
	}*/
	.contents .column2 .column_img p{
		font-size: 1.3rem;
		margin-top: 6px;
		margin-left: 40px;
	}
	.contents .column2 .column_img p span.note{
	}
	.contents .column2 .column_txt .c_txt{
		padding-bottom: 78px;
	}
	.contents .column2 .column_txt .c_txt::after{
		bottom: 0;
	}
	.contents1 .ttl::before{
		display: none;
	}
	.contents1 .ttl::after{
		width: 19px;
		height: 19px;
		top: -20px;
	}
	/*.contents1 .btn{
		width: 84%;
		margin: 100px auto 70px;
		text-align: center;
		font-size: 1.7rem;
		line-height: 2;
		padding: 20px 0px 38px;
	}
	.contents1 .btn a p::before {
    	content: "";
    	width: 23px;
		height: 23px;
	}
	.contents1 .btn::before{
		width: 19px;
		height: 19px;
		left: 20px;
	}
	.contents1 .btn::after{
		width: 9px;
		height: 9px;
		bottom: 16px;
	}*/
	.contents .column2 .column_img::before{
		width: 26px;
		height: 26px;
		top: 0;
    	left: 0;
	}
	.contents2{
		padding: 60px 20px 34px;
	}
	.sp_ttl{
		max-width: 284px;
		margin: 0 auto;
		margin-bottom: 0px;
	}
	.sp_ttl img{
		width: 100%;
		padding-bottom: 50px;
	}
	.sp_ttl::before{
		width: 120%;
        height: 123%;
        bottom: -38px;
		background-repeat: no-repeat;
	}
	.contents .column2{
		margin-top: -20px;
		padding: 0px 20px;
	}
	.contents2 .column2 .column_img .img_cnt{
		max-width: 283px;
	}
	.contents .column2 .column_img p{
		font-size: 1rem;
		margin: 0;
		text-align: left;
	}
	.contents .column2 .column_img p.txt_r{
		text-align: right;
	}
	.contents2 .column .column_txt .c_txt{
		padding-bottom: 0px;
	}
	.contents2 .column2 .column_img .img_cnt:first-child::before{
		width: 12px;
		height: 12px;
		left:auto;
		right: -8px;
        top: -10px;
	}
	.contents2 .column2 .column_img .img_cnt:last-child::before{
		width: 18px;
		height: 18px;
		left: -68px;
        right: auto;
        top: -60px;
	}
	.contents2 .column .column_txt .c_txt::after{
		width: 45px;
        height: 45px;
        left: auto;
        right: 80px;
        bottom: -10px;
	}
	.contents2 .column2::after{
		width: 14px;
		height: 14px;
		bottom: 0;
		left: 0;
	}
	.contents3{
		padding: 60px 0px 120px;
	}
	.contents3 .cnt .ttl{
		max-width: 227px;
	}
	.contents3 .cnt::before{
		display: none;
	}
	.contents3 .cnt .block{
		border: solid 10px #fff;
		border-left: none;
		margin-top: -8px;
		padding: 35px 60px;
		max-width: 63%;
		border-radius: 0px 40px 40px 0px;
	}
	.contents3 .cnt .block .block_cnt{
		display: block;
	}
	.contents3 .cnt .block .block_cnt .block_img{
		margin-bottom: 10px;
	}
	.contents3 .cnt .block .block_cnt .block_txt{
		margin-left: 0px;
		text-align: center;
	}
	.contents3 .cnt .block .block_cnt .block_txt p.name{
		border-bottom: none;
		position: relative;
	}
	.contents3 .cnt .block .block_cnt .block_txt p.name::before{
		content: "";
        width: 124%;
        height: 2px;
        background: #fff;
        position: absolute;
        bottom: 0;
        right: -60px;
	}
	.contents3 .cnt .block .block_cnt .block_txt p.name span{
		margin-left: 10px;
	}
	.contents3 .cnt .block .block_cnt .block_txt .txt{
		text-align: left;
		margin-top: 24px;
		width: 100%;
		position: relative;
	}
	.contents3 .cnt .block::before{
		display: none;
	}
	.contents3 .cnt .block .txt::before{
		content: "";
		width: 16px;
		height: 16px;
		background: url("../img/dot3.png");
		background-size: 100%;
		position: absolute;
		top: 2px;
        left: -6px;
	}
	.contents3 .cnt .btn{
		margin: 50px 0px 0px;
		display: block;
	}
	.contents3 .cnt .btn a{
		width: 100%;
		margin-bottom: 20px;
		font-size: 1.6rem;
	}
	.contents3 .cnt .btn a:last-child{
		margin-bottom: 0px;
	}
	.contents3 .cnt::after{
		bottom: 40px;
	}
	
	.contents4{
		padding: 30px 20px;
	}
	.contents4 .cnt .ttl{
		max-width: 242px;
		margin-bottom: 50px;
	}
	.contents4 .cnt .column4{
		padding: 0px;
		display: block;
		justify-content: space-between;
		gap:0px;
	}
	.contents4 .cnt .column4 .column_cnt {
        width: calc(100% - 40px);
		min-height: 68px;
		margin-bottom: 20px;
		padding: 14px 20px 14px 20px;
    }
	.contents4 .cnt .column4 .column_cnt .column4_img{
		padding: 18px 18px 15px 18px;
	}
	.contents4 .cnt .column4 .column_cnt img{
		margin-bottom: 0px;
		width: 100%;
	}
	.contents4 .cnt .column4 .column_cnt p{
		font-size: 1.2rem;
		/*padding-right: 50px;*/
	}
	.contents4::before{
		width: 15px;
		height: 15px;
		bottom: 20px;
        left: 10px;
	}
	.contents4 .cnt .ttl::before{
		width: 28px;
		height: 28px;
		background: url("../img/dot1.png");
		background-size: 100%;
		left: -100px;
        top: 40px;
	}
	.contents4 .cnt .column4::before{
		width: 66px;
		height: 66px;
		left: auto;
        right: 0;
	}
	.contents4 .cnt .column4::after{
		content: "";
		width: 16px;
		height: 16px;
		background: url("../img/dot2.png");
		background-size: 100%;
		position: absolute;
		bottom: 80px;
        right: 80px;
	}
	.contents4 p.copy2{
		font-size: 1.6rem;
		margin-top: 20px;
	}
	
	.contents5 .cnt{
		padding: 60px 20px 0px;
	}
	.contents5 .cnt .cnt5_btn{
		margin-bottom: 10px;
	}
	.contents5 .cnt .cnt5_btn::before,.contents5 .cnt .cnt5_btn::after{
		display: none;
	}
	.contents5 .cnt .cnt5_btn .btn{
		margin-bottom: 20px;
	}
	.contents5 .cnt .cnt5_btn .btn a{
		justify-content: flex-start;
		padding: 24px;
		margin-bottom: 20px;
	}
	.contents5 .cnt .cnt5_btn .btn a img{
		max-width: 103px;
	}
	.contents5 .cnt .cnt5_btn .btn a p{
		font-size: 1.4rem;
	}
	.contents5 .cnt .cnt5_btn .btn a p span{
		right: 3px;
		width: 16px;
		height: 16px;
	}
	.contents5 .cnt .cnt5_btn .btn:last-child a p span{
		right: 43px;
		width: 16px;
		height: 16px;
	}
	.contents5 .cnt .cnt5_btn2{
		margin-bottom: 60px;
	}
	.contents5 .cnt .cnt5_btn2 a{
		padding: 15px;
		border-radius: 50px;
		box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.16);
	}
	.contents5 .cnt .cnt5_btn2 a p{
		font-size: 1.2rem;
	}
	.contents5 .cnt .cnt5_btn2 a img{
		width: 15px;
	}
	.contents5 .cnt .cnt5_btn2::after{
		width: 11px;
		height: 11px;
		bottom: -40px;
		right: 0px;
	}
	.contents5 .cnt .list::after{
		width: 26px;
		height: 26px;
		top: -10px;
        left: 0px;
	}
	.contents5 .cnt .list{
		padding: 30px 30px 60px;
	}
	.contents5 .cnt .list .list_block{
		margin-bottom: 55px;
	}
	.contents5 .cnt .list .list_block .list_ttl{
		font-size: 2.4rem;
		margin-bottom: 46px;
	}
	.contents5 .cnt .list .list_block .list_cnt dl{
		margin-bottom: 25px;
	}
	.contents5 .cnt .list .list_block .list_cnt dl dt{
		font-size: 1.2rem;
	}
	.contents5 .cnt .list .list_block .list_cnt dl dd{
		font-size: 1.5rem;
	}
	.contents5 .cnt .list .list_block:last-child .list_ttl{
		margin-bottom: 25px;
	}
	.contents5 .cnt .list .list_block .list_ttl2{
		font-size: 1.5rem;
	}
	.contents5 .cnt .list::before{
		width: 62px;
		height: 86px;
		top: 90px;
		left: 27px;
	}
	.contents5::before{
		display: none;
	}
	.contents5::after{
		width: 112px;
		height: 87px;
		bottom: 29px;
	}
	
	footer .footer .footer_menu{
		margin-top: 55px;
	}
	footer .footer .footer_cnt img{
		max-width: 110px;
	}
	footer .footer .footer_cnt .sns a{
		max-width: 35px;
		height: 35px;
	}
	footer .footer p.copy1{
		font-size: 1.2rem;
		font-weight: normal;
		margin-bottom: 33px;
	}
	footer .footer .footer_menu ul{
		display: block;
	}
	footer .footer .footer_menu ul li{
		font-size: 1rem;
		margin-bottom: 5px;
	}
	footer .footer .footer_menu .copy{
		text-align: left;
		font-size: 1rem;
		margin-bottom: 17px;
	}
}

@media screen and (max-width: 414px) {
	.contents .column .column_txt .c_ttl::before{
		left: 22%;
	}
}
@media screen and (max-width: 390px) {
	.contents .column .column_txt .c_ttl::before{
		left: 20%;
	}
	.contents5 .cnt .cnt5_btn .btn:last-child a p span{
		right: 31px;
		top: 82%;
	}
}
@media screen and (max-width: 375px) {
	.contents5 .cnt .cnt5_btn .btn:last-child a p span{
		right: 16px;
		top: 82%;
	}
}

/*20250723追加*/
.sub_ttl{
	font-size: 3rem;
	text-align: center;
	margin-bottom: 20px;
}
.contents .cnt{
	margin-bottom: 130px;
}
.contents #anc04 .column .column_txt .c_txt::after{
	display: none;
}
.contents #anc04 .column2 .column_img .img_cnt{
	max-width: 562px;
}
.contents #anc04 .column2 .column_img .img_cnt:first-child {
    margin-left: 50px;
    margin-bottom: 86px;
}

.maiking_img{
	max-width: 1440px;
	padding: 0px 7vw;
	text-align: center;
	margin: 0 auto;
}
.maiking_img img{
	width: 100%;
}

.ttl0903_1{
	max-width: 726px;
	margin: 0 auto 0px;
}
.ttl0903_1 img{
	width: 100%;
}
.ttl0903_2{
	max-width: 356px;
	margin: 180px auto 76px;
	position: relative;
	z-index: 2;
}
.ttl0903_2 img{
	width: 100%;
}
.ttl0903_3{
	max-width: 545px;
	margin: 0 auto 76px;
	position: relative;
	z-index: 2;
}
.ttl0903_3 img{
	width: 100%;
}

@media screen and (max-width: 767px) {
	.sub_ttl{
		font-size: 3rem;
		text-align: center;
		margin-bottom: 30px;
	}
	.contents .cnt{
		margin-bottom: 50px;
	}
	.contents #anc04 .column2 .column_img .img_cnt:first-child{
		margin: 0px 0px 20px auto;
	}
    .contents #anc04 .column2 .column_img .img_cnt {
        max-width: 283px;
    }
	.contents #anc04 .column2 .column_txt .c_txt{
		padding-bottom: 0px;
	}
	
	.ttl0903_1{
		max-width: 380px;
	}
	.ttl0903_2{
		margin-top: 100px;
		max-width: 169px;
	}
	.ttl0903_3{
		max-width: 330px;
	}
}

@media screen and (max-width: 360px) {
	.ttl0903_1 {
        max-width: 330px;
    }
}