@charset "UTF-8";
/* CSS Document */

body:before {
     /*opacity: 0; */
}
.notes-area {
    /*margin: 0 auto 0;*/
}

#pageWrap {
	padding: 0;
	text-align: left;
	/*font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;*/
}
#pageWrap .boxWidth {
max-width: 1100px;
}


#pageTit {
	background-color: #c6bf8a;
	color: #000;
	padding: 0.5em;
}
#sec01 {
	background-image: url("../images/bg-sky.jpg");
	background-position: top center;
	background-size: cover;
}
#sec01 .h3-01 {
	font-size: 32px;
	text-align: center;
	padding: 1em 0 0.6em;
	line-height: 1.3;
	color: #fff;
	
}
#sec01 .flex {
	gap: 20px 0;
	width: 80%;
	max-width: 100%;
}
#sec01 .flex .itemBox {
	width: 49%;
	background-color: rgba(255,255,255,0.8);
	container-type: inline-size;
	padding-bottom: 6px;
}
#sec01 .flex .itemBox h4 {
	background: #8E2237;
background: linear-gradient(270deg, rgba(142, 34, 55, 1) 0%, rgba(26, 0, 0, 1) 100%);
	color: #fff;
	text-align: center;
	padding: 0.2em;
	font-size: 3.6cqw;
}
#sec01 .flex .itemBox dl {
	text-align: center;
	
}
#sec01 .flex .itemBox dt {
	font-size: 3.6cqw;
	font-size: clamp(16px, 3.6cqw, 24px);
	line-height: 1.3;
	padding: 0.5em 0 0;
	color: #a30000;
}
#sec01 .flex .itemBox dd {
	padding: 1em;
	font-size: 2.8cqw;
	font-size: clamp(13px, 2.8cqw, 18px);
	line-height: 1.4;
}
#sec01 .h3-02 {
	font-size: 32px;
	line-height: 1.3;
	background-color: #004683;
	color: #fff;
	text-align: center;
	padding: 0.3em;
	margin-top: 5%;
}
#sec01 .flex02 {
	padding-top: 15px;
	align-items: center;
}
#sec01 .flex02 .imgL {
	width: 21%;
}
#sec01 .flex02 .txtBox {
	width: 55%;
	container-type: inline-size;
}
#sec01 .flex02 .txtBox dl {
	background-color: rgba(255,255,255,0.8);
	padding: 20px;
	margin-bottom: 20px;
}
#sec01 .flex02 .txtBox dt {
	text-align: center;
	color: #004683;
	font-size: 2.8cqw;
	font-size: clamp(16px, 2.8cqw, 28px);
	line-height: 1.2;
}
#sec01 .flex02 .txtBox dt span {
	display: block;
	font-size: 65%;
}
#sec01 .flex02 .txtBox dt span i {
	font-style: normal;
	font-size: 160%;
	margin-right: 0.2em;
}
#sec01 .flex02 .txtBox dd {
	text-align: center;
	padding-top: 1em;
	font-size: 1.8cqw;
	font-size: clamp(13px, 1.8cqw, 18px);
		
}
#sec01 .flex02 .imgR {
	width: 20%;
}

#sec02 {
	padding-bottom: 10%;
}
#sec02 .planBox,
#sec04 .planBox{
	padding: 5% 0;
	max-width: 1100px;
}
#sec02 .boxA,
#sec04 .boxA{
	padding-bottom: 2%;
}
#sec02 .boxA .flex,
#sec04 .boxA .flex{
	flex-direction: row-reverse;
}
#sec02 .planBox .flex {
	padding-top: 30px;
}
#sec02 .planBox .flex .zumenBox,
#sec04 .planBox .flex .zumenBox{
	width: 67%;
	max-width: 730px;
}
#sec02 .planBox .flex .items,
#sec04 .planBox .flex .items{
	width: 30%;
	
}
#sec02 .planBox .flex .items .itemBox{
	border: #004683 solid 1px;
	padding: 15px;
	margin-top: 30px;
	container-type: inline-size;
}
#sec02 .planBox .flex .items .itemBox p,
#sec04 .planBox .flex .items .itemBox p{
	font-size: 18px;
	line-height: 1.4;
	padding-top: 0.5em;
	font-size: clamp(13px, 5.7cqw, 18px);
}
#sec02 .planBox .btBox,
#sec04 .planBox .btBox{
	container-type: inline-size;
	padding-top: 20px;
}
#sec02 .planBox .btBox a,
#sec04 .planBox .btBox a{
	display: block;
	background-color: #717071;
	border-radius: 999px;
	text-align: center;
	color: #fff000;
	font-size: 2.4cqw;
	padding: 0.3em;
	
}
#sec02 .planBox .btBox a span::after,
#sec04 .planBox .btBox a span::after{
	content: "　";
	width: 1em;
	height: 1em;
	background-image: url("../images/arw.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
	margin-left: 0.3em;
}
#sec02 .planBox .btBox a span,
#sec04 .planBox .btBox a span{
	font-size: 75%;
	color: #fff;
}

.bnnOmr {
	background-color: #fff6df;
	align-items: center;
}
.bnnOmr .imgBox {
	width: 43%;
	max-width: 470px;
}
.bnnOmr .txtBox {
	width: 57%;
	padding: 0px 50px;
container-type: inline-size;
}
.bnnOmr .txtBox dl {
	
	text-align: center;
}
.bnnOmr .txtBox dt {
	color: #004683;
	font-size: 6.2cqw;
	
}
#.bnnOmr .txtBox dd {
	font-size: 4.4cqw;
	line-height: 1.4;
}
.bnnOmr .txtBox a {
	display: block;
	width: 80%;
	margin: 10px auto 5px;
	background: #004F8A;
background: linear-gradient(270deg, rgba(0, 79, 138, 1) 0%, rgba(0, 142, 190, 1) 50%, rgba(0, 79, 138, 1) 100%);
	color: #fff;
	font-size: 4.4cqw;
	border-radius: 20px;
	text-align: center;
	padding: 0.2em;
}
.bnnOmr .txtBox a::after {
	content: "　";
	width: 1em;
	height: 1em;
	background-image: url("../images/arw02.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100%;
	margin-left: 0.3em;
}
.bnnOmr .txtBox .caption {
	font-size: 12px;
	line-height: 1.3;
}

#sec03 {
	position: relative;
}
#sec03::after {
	content: "images";
	position: absolute;
	right: 1em;
	bottom: 0.5em;
	font-size: 12px;
}
#sec03 .h3Box {
	position: absolute;
	top: 0;
	right: 58%;
	width: 36%;
	height: 100%;
	display: flex;
justify-content: center;
align-items: center;
	flex-wrap: wrap;
	container-type: inline-size;
	align-content: center;
}

#sec03 .h3Box h3 {
	width: 100%;
}
#sec03 .h3Box p {
	text-align: center;
	font-size: 2.8cqw;
	padding-top: 1.5em;
	line-height: 2.4;
}

#sec04 .planBox .itemBox {
	border: #f2984f solid 1px;
	container-type: inline-size;
	margin-top: 25px;
}
#sec04 .planBox .flex .items .itemBox p {
	padding: 0.5em;
	font-size: clamp(13px, 5.1cqw, 18px);
}
#sec04 .planBox .flex2 .itemBox {
	width: 49%;
	align-items: center;
}
#sec04 .planBox .flex2 .itemBox .imgBox {
	width: 63%;
	max-width: 330px;
}
#sec04 .planBox .flex2 .itemBox p {
	flex: 1;
	padding: 0.5em;
	font-size: clamp(13px, 3.2cqw, 18px);
}
#sec04 .planBox .btBox {
	padding-top: 40px;
}


@media screen and (max-width: 959px) {
	#sec01 .flex02 {
    align-items: flex-end;
	}

}
@media screen and (max-width: 599px) {
	#sec01 .h3-01,#sec01 .h3-02 {
    font-size: 4.2cqw;
	}
	#sec01 .flex {
    width: 90%;
    max-width: 100%;
}
	#sec01 .flex .itemBox {
    width: 100%;
	}
	#sec01 .flex .itemBox h4 {
		font-size: clamp(16px, 3.6cqw, 24px);
	}
	#sec01 .flex02 .txtBox {
		order: -1;
		width: 90%;
		margin: 0 auto;
	}
	#sec01 .flex02 .imgL {
		width: calc(21% * 1.5);
	}
	#sec01 .flex02 .imgR {
		width: calc(20.5% * 1.5);
	}
	#sec02 .boxA .flex, #sec04 .boxA .flex {
    flex-direction:column
	}
	#sec02 .planBox .flex .zumenBox,
	#sec04 .planBox .flex .zumenBox{
		width: 100%;
	}
	#sec02 .planBox .flex .items,
	#sec04 .planBox .flex .items,
	#sec04 .planBox .flex2{
		width: 90%;
		max-width: 350px;
		margin: 0 auto;
	}
	#sec02 .planBox .flex .items .itemBox {
    margin-top: 15px;

}
	#sec02 .planBox .flex .items .itemBox .imgBox {
		width: 100%;
	}
	#sec02 .planBox .flex .items .itemBox p, 
	#sec04 .planBox .flex .items .itemBox p,
	#sec04 .planBox .flex .itemBox p,
	#sec04 .planBox .flex2 .itemBox p{
		width: 100%;
    font-size: 5cqw;
    padding: 0.5em 0 0;
		line-height: 1.3;
}
	#sec02 .planBox .btBox a, #sec04 .planBox .btBox a {
    font-size: 4.8cqw;
}
	#sec02 .planBox .btBox a span, #sec04 .planBox .btBox a span {
    font-size: 75%;
		display: block;
}
	.bnnOmr {
		padding-top: 20px;
	}
	.bnnOmr .imgBox {
		width: 70%;
		margin: 0px auto;
	}
	.bnnOmr .txtBox {
		width: 100%;
		padding: 20px;
	}
	#sec03 .h3Box {
    position: absolute;
    top: 36%;
    right: 5%;
    width: 90%;
    height: 64%;
}
	#sec03 .h3Box h3 {
    width: 80%;
}
	#sec03 .h3Box p {
    text-align: justify;
    font-size: 3.8cqw;
    padding-top: 1.5em;
    line-height: 2.0;
}
	#sec03 .h3Box p br {
		display: none;
	}
	#sec03::after {
    right: 0.5em;
    bottom: 62%;
    font-size: 10px;
}
	#sec04 .planBox .flex .items .typeBox {
		width: 80%;
		margin: 0 auto;
	}
	#sec04 .planBox .flex2{
		display: block;
	}
	#sec04 .planBox .flex .itemBox,
	#sec04 .planBox .flex2 .itemBox{
		width: 100%;
		display: block;
		padding: 15px;
		margin-top: 15px;
	}
	#sec04 .planBox .flex2 .itemBox .imgBox {
		width: 100%;
	}
	.bnnOmr .txtBox a {
    width: 100%;
    font-size: 5.4cqw;
		padding: 0.3em;
}



}
	