@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Hind:wght@400;700&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap');

/*!
 * ress.css • v5.0.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}


/*====================================

	0. General

====================================*/
html { font-size: 62.5%; }
body { background: #fff; color: #000; font-family: 'Noto Sans JP', sans-serif; font-size: 1.0rem; position: relative; }
img { max-width: 100%; vertical-align: bottom; }
a { color: #000; cursor: pointer; text-decoration: none; transition: all .3s; }
input[type=submit] { cursor: pointer; }
ul,
ol { list-style: none; }
@media (min-width: 768px) {
	.spOnly { display: none !important; }
	img { height: auto; max-width: 100%; }
	#page-top { bottom: 30px; position: fixed; right: 30px; z-index: 10; }
	#page-top a { background: url("../image/icon_pagetop.png") no-repeat 50% 50%; border-bottom-right-radius: 5px; border-top-left-radius: 5px; box-shadow: 2px 6px 9px 1px rgba(34, 24, 21, 0.26); display: block; height: 64px; text-align: center; text-indent: -9999px; width: 64px; }
	hr { border: none; border-top: 1px #9b9b9b solid; height: 1px; }
}
@media (max-width: 767px) {
	.pcOnly { display: none !important; }
	img { height: auto; width: 100%; }
	#page-top { bottom: 3vw; position: fixed; right: 3vw; z-index: 10; }
	#page-top a { background: url("../image/icon_pagetop.png") no-repeat 50% 50% / 12vw auto; border-bottom-right-radius: 1vw; border-top-left-radius: 1vw; box-shadow: 2px 6px 9px 1px rgba(34, 24, 21, 0.26); display: block; height: 12vw; text-align: center; text-indent: -9999px; width: 12vw; }
	hr { border: none; border-top: 0.2vw #9b9b9b solid; height: 0.2vw; }
}


/*====================================

	1. Header

====================================*/
@media (min-width: 768px) {
	header { font-size: 1.6rem; font-weight: 700; margin: 0 auto; padding: 10px 0 5px; position: relative; width: 1000px; }
	header h1 { font-size: 2.8rem; margin-bottom: 15px; }
	header h1 img { margin-right: 35px; width: 85px; }
	header nav .cmnNav { display: flex; justify-content: flex-start; }
	header nav .cmnNav > li { flex-grow: 1; position: relative; text-align: center; padding: 10px 0; }
	header nav .cmnNav > li:after { background: #333; bottom: 0; content: ""; height: 15px; left: 0; margin: auto; position: absolute; top: 0; width: 1px; }
	header nav .cmnNav > li ul { position: absolute; top: 0; margin-top: 40px; z-index: 1999; display: none; box-sizing: border-box; padding: 20px 40px 30px; border: 1px solid #ccc; background: #fff; box-shadow: 1px 1px 10px #ccc; width: 400px; text-align: left; }
	header nav .cmnNav > li li { padding: 10px 0; border-bottom: 1px solid #aaa; }
	header nav .cmnNav .glossary { border: 1px solid #999; padding: 2px 40px; }
	header nav .subNav { display: flex; position: absolute; right: 0; top: 10px; }
	header nav .subNav li { margin-left: 20px; }
}
@media (max-width: 767px) {
	header { height: 17vw; padding: 3vw 3vw 0 5vw; }
	header h1 { font-size: 4.375vw; margin-top: 2vw; }
	header h1 img { margin-right: 6vw; width: 13vw; }
	header nav .cmnNav { border-top: 0.2vw solid #333; margin-bottom: 7vw; }
	header nav .cmnNav > li { border-bottom: 0.2vw solid #333; font-size: 4.68vw; padding: 2.8vw 0; }
	header nav .cmnNav > li ul { margin: 3vw 0 0 5vw; }
	header nav .cmnNav > li ul li { border-top: 0.2vw solid #333; font-size: 3.75vw; padding: 2.8vw 0; }
	header nav .cmnNav a { display: block; }
	header nav .cmnNav .glossary { border: 0.2vw solid #999; display: inline-block; padding: 1vw 4vw; }
	header nav .subNav { display: flex; }
	header nav .subNav li { margin-left: 2vw; }
	#gnav { height: 0; position: absolute; right: 0; top: 0; width: 100%; z-index: 1000; } 
	#panel-btn { background: #f95578; border-radius: 1vw; cursor: pointer; display: inline-block; float: right; height: 10.6vw; margin: 3vw 3vw 0 0; position: relative; text-indent: -9999px; width: 10.6vw; z-index: 1100; } 
	#panel-btn-icon { background: #fff; display: block; height: 0.15vw; left: 50%; margin: -0.075vw 0 0 -3.125vw; position: absolute; top: 50%; transition: .2s; width: 6.25vw; }
	#panel-btn-icon:before,
	#panel-btn-icon:after { background: #fff; content: ""; display: block; height: 0.15vw; left: 0; position: absolute; top: 50%; transition: .3s; width: 6.25vw; } 
	#panel-btn-icon:before { margin-top: -2.4vw; }
	#panel-btn-icon:after { margin-top: 2.3vw; } 
	#panel-btn .close { background: transparent; } 
	#panel-btn .close:before,
	#panel-btn .close:after { margin-top: 0; } 
	#panel-btn .close:before { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
	#panel-btn .close:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } 
	header .gnav { background: #fff; box-shadow: -1.5vw 0 3vw 0 rgba(4, 0, 0, 0.58); display: none; font-size: 3.7vw; padding: 7vw; position: absolute; right: 0; top: 17vw; width: 100%; z-index: 1000; } 
}



/*====================================

	2. Footer

====================================*/
@media (min-width: 768px) {
	footer { display: flex; flex-direction: row-reverse; font-size: 1.4rem; font-weight: 500; justify-content: space-between; margin: 0 auto; padding: 40px calc(50% - 500px); }
	footer .leftBlock { width: 360px; }
	footer .rightBlock { width: 540px; }
	footer .subNav { display: flex; margin-bottom: 25px; }
	footer .subNav li { margin-right: 20px; }
	footer .officialNav { display: flex; margin-bottom: 15px; }
	footer .officialNav li { padding: 0 7px; position: relative; }
	footer .officialNav li:after { background: #999; bottom: 0; content: ""; height: 12px; left: 0; margin: auto; position: absolute; top: 0; width: 1px; }
	footer .service { border-bottom: 1px solid #333; font-size: 2.8rem; font-weight: 700; margin-bottom: 20px; padding-bottom: 15px; }
	footer dt { float: left; }
	footer dd { margin-bottom: 8px; padding-left: 120px; }
	footer p { font-size: 1.2rem; }
}
@media (max-width: 767px) {
	footer { padding: 5vw; }
	footer .subNav { display: flex; margin-bottom: 5vw; }
	footer .subNav li { margin-right: 4vw; }
	footer .officialNav { display: flex; flex-wrap: wrap; font-size: 2.8vw; margin-bottom: 3vw; }
	footer .officialNav li { margin-bottom: 2vw; padding: 0 2vw; position: relative; }
	footer .officialNav li:after { background: #999; bottom: 0; content: ""; height: 2vw; left: 0; margin: auto; position: absolute; top: 0; width: 0.2vw; }
	footer .service { border-top: 0.2vw solid #333; font-size: 5vw; font-weight: 700; margin: 7vw 0 2vw; padding-top: 2vw; }
	footer dt { float: left; }
	footer dd { margin-bottom: 2vw; padding-left: 10em; }
	footer p { font-size: 2.8vw; }
}



/*====================================

	3. Main

====================================*/
@media (min-width: 768px) {
	main { background-image: url("/assets/image/bg_slash.png"), -webkit-linear-gradient( -180deg, rgb(134,175,227) 1%, rgb(126,212,219) 11%, rgb(117,248,210) 16%, rgb(107,199,215) 33%, rgb(96,150,219) 50%, rgb(69,189,236) 68%, rgb(42,227,252) 85%, rgb(130,175,225) 100%); background-position: 50% 0; background-repeat: repeat-y; border-bottom: 1px solid #000; border-top: 1px solid #aaa; font-size: 1.8rem; line-height: 1.6; }
	main a { color: #2f7bc0; text-decoration: underline; }
}
@media (max-width: 767px) {
	main { background-image: url("/assets/image/sp_bg_slash.png"), -webkit-linear-gradient( -180deg, rgb(117,248,210) 5%, rgb(107,199,215) 20%, rgb(96,150,219) 50%, rgb(69,189,236) 80%, rgb(42,227,252) 95%); background-size: 100vw auto; background-repeat: repeat-y; border-bottom: 0.2vw solid #000; border-top: 0.2vw solid #aaa; font-size: 3.75vw; line-height: 1.6; position: relative; }
	main a { color: #2f7bc0; text-decoration: underline; }
}


/*-----------------------------------------------------
Text
------------------------------------------------------*/
.komeTxt { padding-left: 1em; text-indent: -1em; }
.komeNumTxt { padding-left: 2em; text-indent: -2em; }
.taR { text-align: right; }
.taL { text-align: left; }
.taC { text-align: center; }
.fwB { font-weight: 700; }
.fcBlue { color: #3d6cca; }
.marker { background:linear-gradient(transparent 70%, #fdf512 70%) }
.hind { display: inline-block; font-family: 'Hind', sans-serif; letter-spacing: 0.1em; }
@media (min-width: 768px) {
	hr { border: none; border-top: 1px solid #ccc; height: 1px; margin: 40px 0; }
	.catchTxt01 { color: #fff; font-size: 2rem; font-weight: 700; line-height: 1.8; margin: 0 auto 50px; padding-top: 40px; position: relative; text-align: center; width: 1160px; }
	.catchTxt01::before { background: #fbed01; content: ""; height: 6px; left: 0; margin: auto; position: absolute; right: 0; top: 0; width: 560px; }
}
@media (max-width: 767px) {
	hr { border: none; border-top: 0.2vw solid #ccc; height: 0.2vw; margin: 8vw 0; }
	.catchTxt01 { color: #fff; font-size: 3.75vw; font-weight: 700; line-height: 1.8; margin: 0 3vw 5vw; padding-top: 4vw; position: relative; text-align: center; }
	.catchTxt01::before { background: #fbed01; content: ""; height: 0.6vw; left: 0; margin: auto; position: absolute; right: 0; top: 0; width: 56vw; }
}

/*-----------------------------------------------------
Btn
------------------------------------------------------*/
.btn { display: inline-block; line-height: 1.2 !important; position: relative; text-align: center; text-decoration: none; }
.icon { display: inline-block; line-height: 1 !important; position: relative; text-decoration: none; }
.icon.blank { padding-right: 1.2em; }
.icon.blank::after { background: url("/assets/image/icon_blank.svg") no-repeat 50% 50% / 0.8em auto; bottom: 0; content: ""; height: 0.8em; margin: auto; position: absolute; right: 0; top: 0; width: 0.8em; }
@media (min-width: 768px) {
	.btnLine { margin: 60px 0; text-align: center;}
	.btnLine >* { margin: 0 15px; }
	.btn.btnPink { background: #f95578; border: 2px solid #f3abb9; border-radius: 2em; color: #fff; font-size: 1.6rem; font-weight: 700; padding: 10px 40px; }
	.btn.btnPink::after { background: url("../image/icon_arrow.svg") no-repeat 0 50%; bottom: 0; content: ""; height: 10px; margin: auto; position: absolute; right: 15px; top: 0; width: 10px; }
	.btn.btnNext { background: #f95578; border: 2px solid #f4f4f5; border-radius: 3em; box-shadow: 5px 5px 15px 2px rgba(34, 24, 21, 0.4); color: #fff; font-weight: 700; min-width: 320px; padding: 25px 60px 25px 40px; }
	.btn.btnNext::after { background: url("../image/icon_arrow.svg") no-repeat 0 50% / 15px auto; bottom: 0; content: ""; height: 15px; margin: auto; position: absolute; right: 25px; top: 0; width: 15px; }
	.btn.btnPrev { background: #3d6cca; border: 2px solid #f4f4f5; border-radius: 3em; box-shadow: 5px 5px 15px 2px rgba(34, 24, 21, 0.4); color: #fff; font-weight: 700; min-width: 320px; padding: 25px 40px 25px 60px; }
	.btn.btnPrev::after { background: url("../image/icon_arrow.svg") no-repeat 0 50% / 15px auto; bottom: 0; content: ""; height: 15px; margin: auto; position: absolute; left: 25px; top: 0; width: 15px; transform: rotate(-180deg); }
	.btn.btnMore { background: #3d6cca; border: 2px solid #f4f4f5; border-radius: 3em; box-shadow: 5px 5px 15px 2px rgba(34, 24, 21, 0.4); color: #fff; font-size: 1.6rem; font-weight: 700; padding: 20px 60px 20px 40px; }
	.btn.btnMore::after { background: url("../image/icon_arrow.svg") no-repeat 0 50% / 15px auto; bottom: 0; content: ""; height: 15px; margin: auto; position: absolute; right: 25px; top: 0; width: 15px; }
	.btn.btnCustomer { background: #fff; border: 5px solid #3d6cca; border-radius: 20px; box-shadow: 5px 5px 15px 2px rgba(34, 24, 21, 0.4); color: #3d6cca; font-size: 2.8rem; line-height: 1.4 !important; font-weight: 700; padding: 90px 20px 20px; position: relative; width: 410px; }
	.btn.btnCustomer.cus01::before { position: absolute; content: ""; background: url("/assets/image/icon_cus01.svg") no-repeat 50% 50%; width: 70px; height: 70px; top: 12px; left: 0; right: 0; margin: auto; }
	.btn.btnCustomer.cus02::before { position: absolute; content: ""; background: url("/assets/image/icon_cus02.svg") no-repeat 50% 50%; width: 70px; height: 70px; top: 12px; left: 0; right: 0; margin: auto; }
}
@media (max-width: 767px) {
	.btnLine { margin: 6vw 0 11vw; text-align: center; }
	.btnLine >* { margin: 2vw 0; }
	.btn.btnPink { background: #f95578; border: 0.4vw solid #f3abb9; border-radius: 2em; color: #fff; font-size: 3.125vw; font-weight: 700; padding: 2vw 8vw 2vw 4vw; }
	.btn.btnPink::after { background: url("../image/icon_arrow.svg") no-repeat 0 50% / 2vw auto; bottom: 0; content: ""; height: 2vw; margin: auto; position: absolute; right: 3vw; top: 0; width: 2vw; }
	.btn.btnNext { background: #f95578;  border: 0.4vw solid #f4f4f5; border-radius: 3em; box-shadow: 1vw 1vw 3vw 0.4vw rgba(34, 24, 21, 0.4); color: #fff; min-width: 65vw; padding: 4vw 10vw; }
	.btn.btnNext::after { background: url("../image/icon_arrow.svg") no-repeat 0 50% / 3vw auto; bottom: 0; content: ""; height: 3vw; margin: auto; position: absolute; right: 3vw; top: 0; width: 3vw; }
	.btn.btnPrev { background: #3d6cca;  border: 0.4vw solid #f4f4f5; border-radius: 3em; box-shadow: 1vw 1vw 3vw 0.4vw rgba(34, 24, 21, 0.4); color: #fff; min-width: 65vw; padding: 4vw 10vw; }
	.btn.btnPrev::after { background: url("../image/icon_arrow.svg") no-repeat 0 50% / 3vw auto; bottom: 0; content: ""; height: 3vw; margin: auto; position: absolute; left: 3vw; top: 0; width: 3vw; transform: rotate(-180deg); }
	.btn.btnMore { background: #3d6cca;  border: 0.4vw solid #f4f4f5; border-radius: 3em; box-shadow: 1vw 1vw 3vw 0.4vw rgba(34, 24, 21, 0.4); color: #fff; padding: 4vw 10vw; }
	.btn.btnMore::after { background: url("../image/icon_arrow.svg") no-repeat 0 50% / 3vw auto; bottom: 0; content: ""; height: 3vw; margin: auto; position: absolute; right: 3vw; top: 0; width: 3vw; }
	.btn.btnCustomer { background: #fff; border: 1vw solid #3d6cca; border-radius: 2vw; box-shadow: 1vw 1vw 3vw 0.4vw rgba(34, 24, 21, 0.4); color: #3d6cca; line-height: 1.4 !important; font-weight: 700; padding: 15vw 1vw 3vw; position: relative; width: 43vw; display: block; }
	.btn.btnCustomer.cus01::before { position: absolute; content: ""; background: url("/assets/image/icon_cus01.svg") no-repeat 50% 50% / 10vw auto; width: 10vw; height: 10vw; top: 3vw; left: 0; right: 0; margin: auto; }
	.btn.btnCustomer.cus02::before { position: absolute; content: ""; background: url("/assets/image/icon_cus02.svg") no-repeat 50% 50% / auto 10vw; width: 10vw; height: 10vw; top: 3vw; left: 0; right: 0; margin: auto; }
}

/*-----------------------------------------------------
List
------------------------------------------------------*/
main ol { margin: 0; }
main ul { margin: 0; }
.komeList li { padding-left: 1em; text-indent: -1em; }
.numList li { padding-left: 2em; text-indent: -2em; }

/*-----------------------------------------------------
Title
------------------------------------------------------*/
@media (min-width: 768px) {
	.title00_top { background: url("/assets/image/bg_title00_top.png") no-repeat 50% 0; height: 575px; margin: 0 auto 40px; padding: 100px 540px 0 0; text-align: center; width: 1160px; }
	.title00_top p { font-size: 3rem; font-weight: 700; line-height: 1.4; margin-bottom: 70px; }
	.title00_top p .fsL { font-size: 4rem; }
	.title00_top h1 { color: #fff; font-family: 'Noto Serif JP', serif; font-size: 7.2rem; font-weight: 400; line-height: 1; }
	.title00 { background: url("/assets/image/bg_title00.png") no-repeat 50% 0; color: #3d6cca; font-family: 'Noto Serif JP', serif; font-size: 5rem; font-weight: 500; height: 283px; line-height: 1.4; margin-bottom: 40px; padding: 0 calc(50% - 500px); display: flex; justify-content: flex-start; align-items: center; }
	.title01 { font-size: 3.6rem; font-weight: 700; margin: 0 auto 40px; padding-top: 65px; position: relative; text-align: center; width: 1160px; }
	.title01::before { background: url("/assets/image/icon_title01.svg") no-repeat; content: ""; height: 46px; left: 0; margin: auto; position: absolute; right: 0; top: 0; width: 46px; }
	.title02 { color: #3d6cca; font-size: 3.6rem; font-weight: 700; margin-bottom: 35px; padding: 0 0 40px; position: relative; text-align: center; }
	.title02::after { background: #3d6cca; bottom: 0; content: ""; height: 6px; left: 0; margin: auto; position: absolute; right: 0; width: 560px; }
	.title03 { background: #3d6cca; border-radius: 2em; color: #f1eea4; font-size: 2.4rem; font-weight: 700; margin-bottom: 30px; padding: 13px 50px; vertical-align: middle; }
	.title03 span.hind { color: #fff; font-size: 5rem; margin: -10px 30px -12px 0; vertical-align: middle; }
	.title04 { border-bottom: 6px solid #3d6cca; color: #3d6cca; font-size: 2rem; line-height: 1; margin: 40px 0 25px; padding-bottom: 25px; }
	.title05 { font-size: 2rem; font-weight: 400; margin-bottom: 30px; }
}
@media (max-width: 767px) {
	.title00_top { background: #fff url("/assets/image/sp_bg_title00_top.png") no-repeat 50% 100% / 100vw auto; height: 90vw; margin-bottom: 5vw; padding: 6vw; }
	.title00_top p { font-size: 4.68vw; font-weight: 700; line-height: 1.4; margin-bottom: 8vw; }
	.title00_top p .fsL { font-size: 6.25vw; }
	.title00_top h1 { color: #fff; font-family: 'Noto Serif JP', serif; font-size: 10.3vw; font-weight: 400; line-height: 1; }
	.title00 { background: #fff url("/assets/image/sp_bg_title00.png") no-repeat 50% 100% / 100vw auto; color: #3d6cca; font-family: 'Noto Serif JP', serif; font-size: 6vw; font-weight: 500; height: 34vw; line-height: 1; margin-bottom: 5vw; padding: 13vw 6vw 0; }
	.title01 { font-size: 5vw; font-weight: 700; margin: 0 3vw 4vw; padding-top: 10vw; position: relative; text-align: center; }
	.title01::before { background: url("/assets/image/icon_title01.svg") no-repeat 0 0 / 7vw auto; content: ""; height: 7vw; left: 0; margin: auto; position: absolute; right: 0; top: 0; width: 7vw; }
	.title02 { color: #3d6cca; font-size: 4vw; font-weight: 700; margin-bottom: 4vw; padding: 0 0 4vw; position: relative; text-align: center; }
	.title02::after { background: #3d6cca; bottom: 0; content: ""; height: 0.6vw; left: 0; margin: auto; position: absolute; right: 0; width: 56vw; }
	.title03 { background: #3d6cca; border-radius: 3em; color: #f1eea4; font-size: 3.75vw; font-weight: 700; margin-bottom: 3vw; padding: 2vw 3vw; text-align: center; vertical-align: middle; }
	.title03 span.hind { color: #fff; display: block; font-size: 6.6vw; line-height: 1; margin-bottom: 1vw; vertical-align: middle; }
	.title04 { border-bottom: 1vw solid #3d6cca; color: #3d6cca; font-size: 4.3vw; line-height: 1; margin: 4vw 0 2vw; padding-bottom: 2vw; }
	.title05 { font-size: 4.3vw; font-weight: 400; margin-bottom: 3vw; }
}

/*-----------------------------------------------------
Columns
------------------------------------------------------*/
@media (min-width: 768px) {
	.flex { display: flex; flex-wrap: wrap; }
	.flex.row-reverse { flex-direction: row-reverse; }
	.flex.space-between { justify-content: space-between; }
	.flex.justify-center { justify-content: center; }
	.flex.align-items-center { align-items: center; }
	.bgWhite { background: #fff; border-bottom-right-radius: 15px; border-top-left-radius: 15px; margin: 0 auto; padding: 40px; width: 1000px; }
	.bgWhite >*:first-child { margin-top: 0 !important; }
}
@media (max-width: 767px) {
	.flex { display: flex; flex-wrap: wrap; }
	.flex > * { width: 100%; }
	.flex.space-between { justify-content: space-between; }
	.bgWhite { background: #fff; border-bottom-right-radius: 2vw; border-top-left-radius: 2vw; margin: 0 5vw; padding: 5vw; }
	.bgWhite >*:first-child { margin-top: 0 !important; }
}



/*-----------------------------------------------------

トップページ

------------------------------------------------------*/
@media (min-width: 768px) {
	.topBlock01 { margin-bottom: 100px; }
	.topBlock01 .caseStyle01 { margin-top: 10px; }
	.topStyle01 { border: 1px solid #555; margin-top: 30px; padding: 20px; text-align: center; }
	.topStyle01 figcaption { font-weight: 700; margin-bottom: 20px; }
	.topStyle01 cite { display: block; font-size: 1.2rem; font-style: normal; margin-top: 20px; }
	.topBlock02 { display: flex; align-items: center; justify-content: center; margin-bottom: 80px; }
	.topBlock02 >* { margin: 0 40px; }
}
@media (max-width: 767px) {
	.topBlock01 { margin-bottom: 10vw; }
	.topBlock01 .caseStyle01 { margin-top: 2vw; }
	.topStyle01 { border: 0.2vw solid #555; margin-top: 3vw; padding: 3vw; text-align: center; }
	.topStyle01 figure img { width: 60vw; }
	.topStyle01 figcaption { font-weight: 700; margin-bottom: 2vw; }
	.topStyle01 cite { display: block; font-size: 2.8vw; font-style: normal; margin-top: 2vw; }
	.topBlock02 { display: flex; align-items: center; justify-content: space-between; margin: 0 5vw 5vw; }
}


/*-----------------------------------------------------

外航貨物海上保険とは

------------------------------------------------------*/
@media (min-width: 768px) {
	.aboutBlock01 { margin-bottom: 100px; }
	.aboutStyle01 { margin-bottom: 40px; }
	.aboutStyle01 .fsL { font-size: 3rem; }
	.aboutStyle01 div { width: 360px; }
	.aboutStyle01 ol { margin-bottom: 30px; }
	.aboutStyle01 li { line-height: 1.8; padding-left: 70px; position: relative; }
	.aboutStyle01 li::before { color: #3d6cca; font-family: 'Hind', sans-serif; font-size: 4.8rem; font-weight: 700; left: 0; letter-spacing: 0.1em; position: absolute; top: -10px; }
	.aboutStyle01 li:nth-child(1)::before { content: "01"; }
	.aboutStyle01 li:nth-child(2)::before { content: "02"; }
	.aboutStyle01 li:nth-child(3)::before { content: "03"; }
	.aboutStyle01 li:not(:last-child) { border-bottom: 1px solid #9a9a9a; margin-bottom: 15px; padding-bottom: 15px; }
	.aboutStyle02 { margin: 20px 0 40px; }
	.aboutStyle02 table { border-collapse: collapse; font-size: 2rem; font-weight: 500; width: 100%; }
	.aboutStyle02 th,
	.aboutStyle02 td { border: 2px solid #fff; height: 60px; padding: 5px 15px; }
	.aboutStyle02 thead th { background: #0080b1; color: #fff; padding: 15px; }
	.aboutStyle02 tbody td { background: #7fbfd8; color: #fff; }
	.aboutStyle02 .bgBlue { background: #4ca6c8; padding: 5px; }
	.aboutStyle02 .bgGreen { background: #01acba; }
	.aboutStyle02 .bgLGreen { background: #94dce2; }
	.aboutStyle02 .bgYellow { background: #edf4b2; color: #666; font-size: 2.4rem; }
	.aboutStyle02 small { background: #f1f1ef; display: block;margin: 0 2px; padding: 10px 15px; }
	.aboutStyle03 { margin: 20px auto 40px; width: 680px; }
	.aboutStyle03 h4 { border-bottom: 2px solid #dbdcdc; border-top: 2px solid #dbdcdc; font-size: 2.2rem; line-height: 1; margin-bottom: 15px; padding: 5px 0; text-align: center; }
	.aboutStyle03 figure { margin: 25px 0 40px; }
	.aboutStyle03 table { border-collapse: collapse; font-size: 1.6rem; font-weight: 500; width: 100%; }
	.aboutStyle03 th,
	.aboutStyle03 td { border: 1px solid #dbdcdc; padding: 5px 15px; text-align: left; }
	.aboutStyle03 .bgBlue { background: #c0ecfa; }
	.aboutStyle03 .bgPink { background: #f8e4f7; }
	.aboutStyle03 .bgYellow { background: #fdfcce; }
	.aboutStyle03 th[scope="col"] { font-weight: 500; }
	.aboutStyle03 th[scope="row"] { background: #e2f5fb; }
	.aboutStyle03 dl { background: #f5fbfd; margin-top: 40px; }
	.aboutStyle03 dt { background: #e2f5fb; border: 1px solid #dbdcdc; display: inline-block; font-size: 2.2rem; font-weight: 700; line-height: 1; padding: 5px 15px; }
	.aboutStyle03 dd { font-size: 1.6rem; padding: 20px; }
	.aboutBlock02 { background: #3d6cca; color: #fff; padding: 40px calc(50% - 500px); }
	.aboutBlock02 h2 { font-size: 3.6rem; margin-bottom: 20px; position: relative; text-align: center; }
	.aboutBlock02 h2::before { border: 1px solid #fff; border-radius: 50%; content: "コラム"; display: inline-block; font-size: 2.4rem; height: 90px; margin: -25px 40px 0 0; padding-top: 22px; width: 90px; }
	.aboutBlock02 a { color: #fff; }
	.aboutBlock03 { background: #3d6cca; padding: 100px 0; }
	.aboutBlock03 h3 { font-size: 3.6rem; color: #fff; text-align: center; margin-bottom: 60px; display: flex; justify-content: center; align-items: center; }
	.aboutBlock03 h3 .circle { display: flex; justify-content: center; align-items: center; width: 90px; height: 90px; border: 1px solid #fff; border-radius: 50%; margin-right: 40px; font-size: 2.4rem; }
	.aboutBlock03 .numList { margin: 1em 0; }
	.aboutBlock03 dl { border: 1px solid #333; padding: 20px 30px; margin-top: 30px; }
	.aboutBlock03 dt { font-weight: 700; }
	.aboutBlock04 { margin-bottom: 80px; }
	.aboutBlock04 .txt01 { font-size: 2rem; border-width: 3px 3px 0; border-style: solid; border-color: #3d6cca; background: #ecf7fb; padding: 35px; margin-top: 40px; }
	.aboutBlock04 .txt01 li { margin-bottom: 0.5em; }
	.aboutBlock04 .txt01 .fwB { font-size: 3rem; }
	.aboutBlock04 .txt02 { background: #3d6cca; padding: 35px; color: #fff; font-size: 2rem; position: relative; }
	.aboutBlock04 .txt02::before { background: #ecf7fb; clip-path: polygon(0 0, 100% 0, 50% 100%); content: ""; height: 16px; left: 0; margin: auto; position: absolute; right: 0; top: 0; width: 24px; }
	.aboutBlock04 .txt02 .fwB { font-size: 3rem; }
}
@media (max-width: 767px) {
	.aboutBlock01 { margin-bottom: 10vw; }
	.aboutStyle01 { margin-bottom: 4vw; }
	.aboutStyle01 .fsL { font-size: 4vw; }
	.aboutStyle01 figure { margin-bottom: 5vw; text-align: center; }
	.aboutStyle01 figure img { width: 65vw; }
	.aboutStyle01 ol { margin: 3vw 0; }
	.aboutStyle01 li { line-height: 1.8; padding-left: 15vw; position: relative; }
	.aboutStyle01 li::before { color: #3d6cca; font-family: 'Hind', sans-serif; font-size: 7.2vw; font-weight: 700; left: 0; letter-spacing: 0.1em; position: absolute; top: 2vw; }
	.aboutStyle01 li:nth-child(1)::before { content: "01"; }
	.aboutStyle01 li:nth-child(2)::before { content: "02"; }
	.aboutStyle01 li:nth-child(3)::before { content: "03"; }
	.aboutStyle01 li:not(:last-child) { border-bottom: 0.2vw solid #9a9a9a; margin-bottom: 2vw; padding-bottom: 2vw; }
	.aboutStyle02 { margin: 2vw 0 4vw; }
	.aboutStyle02 table { border-collapse: collapse; font-weight: 500; width: 100%; }
	.aboutStyle02 th,
	.aboutStyle02 td { border: 0.4vw solid #fff; height: 60px; padding: 1vw 2vw; }
	.aboutStyle02 thead th { background: #0080b1; color: #fff; padding: 2vw; }
	.aboutStyle02 tbody td { background: #7fbfd8; color: #fff; }
	.aboutStyle02 .bgBlue { background: #4ca6c8; padding: 1vw; }
	.aboutStyle02 .bgGreen { background: #01acba; }
	.aboutStyle02 .bgLGreen { background: #94dce2; }
	.aboutStyle02 .bgYellow { background: #edf4b2; color: #666; font-size: 2.4rem; }
	.aboutStyle02 img { max-height: 14vw; max-width: 14vw; }
	.aboutStyle02 small { background: #f1f1ef; display: block;margin: 0 0.4vw; padding: 2vw; }
	.aboutStyle03 { margin: 4vw 0 4vw; }
	.aboutStyle03 h4 { border-bottom: 0.4vw solid #dbdcdc; border-top: 0.4vw solid #dbdcdc; font-size: 3.4vw; line-height: 1; margin-bottom: 3vw; padding: 1vw 0; text-align: center; }
	.aboutStyle03 figure { margin: 3vw 0 4vw; }
	.aboutStyle03 table { border-collapse: collapse; font-size: 3.4vw; font-weight: 500; width: 100%; }
	.aboutStyle03 th,
	.aboutStyle03 td { border: 0.2vw solid #dbdcdc; padding: 1vw 3vw; text-align: left; }
	.aboutStyle03 .bgBlue { background: #c0ecfa; }
	.aboutStyle03 .bgPink { background: #f8e4f7; }
	.aboutStyle03 .bgYellow { background: #fdfcce; }
	.aboutStyle03 th[scope="col"] { font-weight: 500; }
	.aboutStyle03 th[scope="row"] { background: #e2f5fb; }
	.aboutStyle03 dl { background: #f5fbfd; margin-top: 4vw; }
	.aboutStyle03 dt { background: #e2f5fb; border: 0.2vw solid #dbdcdc; display: inline-block; font-size: 4.3vw; font-weight: 700; line-height: 1; padding: 1vw 3vw; }
	.aboutStyle03 dd { font-size: 3.4vw; padding: 2vw; }
	.aboutBlock02 { background: #3d6cca; color: #fff; padding: 5vw; }
	.aboutBlock02 h2 { font-size: 4.3vw; margin-bottom: 2vw; position: relative; text-align: center; }
	.aboutBlock02 h2::before { border: 0.2vw solid #fff; border-radius: 50%; content: "コラム"; display: inline-block; font-size: 2.4vw; height: 10vw; margin: -2vw 4vw 0 0; padding-top: 3vw; width: 10vw; }
	.aboutBlock02 a { color: #fff; }
	.aboutBlock03 { background: #3d6cca; padding: 10vw 0; }
	.aboutBlock03 h3 { font-size: 5vw; color: #fff; text-align: center; margin-bottom: 6vw; display: flex; justify-content: center; align-items: center; }
	.aboutBlock03 h3 .circle { display: flex; justify-content: center; align-items: center; width: 12vw; height: 12vw; border: 0.2vw solid #fff; border-radius: 50%; margin-right: 4vw; font-size: 3vw; }
	.aboutBlock03 .numList { margin: 1em 0; }
	.aboutBlock03 dl { border: 0.2vw solid #333; padding: 2vw 3vw; margin-top: 3vw; }
	.aboutBlock03 dt { font-weight: 700; }
	.aboutBlock04 { margin-bottom: 8vw; }
	.aboutBlock04 .txt01 { border-width: 0.6vw 0.6vw 0; border-style: solid; border-color: #3d6cca; background: #ecf7fb; padding: 4vw; margin-top: 4vw; }
	.aboutBlock04 .txt01 li { margin-bottom: 0.5em; }
	.aboutBlock04 .txt01 .fwB { font-size: 5vw; }
	.aboutBlock04 .txt02 { background: #3d6cca; padding: 4vw; color: #fff; position: relative; }
	.aboutBlock04 .txt02::before { background: #ecf7fb; clip-path: polygon(0 0, 100% 0, 50% 100%); content: ""; height: 3vw; left: 0; margin: auto; position: absolute; right: 0; top: 0; width: 5vw; }
	.aboutBlock04 .txt02 .fwB { font-size: 5vw; }
}


/*-----------------------------------------------------

保険期間

------------------------------------------------------*/
@media (min-width: 768px) {
	.termBlock01 { margin-bottom: 100px; }
	.termBlock01 dl { align-items: center; background: #ecf7fb; border: 3px solid #3d6cca; display: flex; margin: 40px 0;; text-align: center; }
	.termBlock01 dt { width: 520px; }
	.termBlock01 dd { background: #3d6cca; color: #fff; font-size: 3rem; font-weight: 700; line-height: 1.2; padding: 35px 30px; position: relative; width: 400px; }
	.termBlock01 dd::before { border-bottom: 10px solid transparent; border-left: 13px solid #ecf7fb; border-top: 10px solid transparent; bottom: 0; content: ""; height: 0; left: 0; margin: auto; position: absolute; top: 0; width: 0; }
	.termBlock01 .fsL { font-size: 3rem; }
}
@media (max-width: 767px) {
	.termBlock01 { margin-bottom: 10vw; }
	.termBlock01 dl { background: #ecf7fb; border: 0.6vw solid #3d6cca; margin: 4vw 0;; text-align: center; }
	.termBlock01 dt { padding: 3vw; }
	.termBlock01 dd { background: #3d6cca; color: #fff; font-weight: 700; line-height: 1.2; padding: 5vw; position: relative; }
	.termBlock01 dd::before { border-left: 2vw solid transparent; border-right: 2vw solid transparent; border-top: 2vw solid #ecf7fb; content: ""; height: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; width: 0; }
}


/*-----------------------------------------------------

補償内容と事故事例

------------------------------------------------------*/
@media (min-width: 768px) {
	.caseBlock01 { margin-bottom: 100px; }
	.caseStyle01 { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: -30px; }
	.caseStyle01 dl { margin-top: 30px; text-align: center; width: 280px; }
	.caseStyle01 dt { align-items: flex-end; border-bottom: 1px solid #b5b6b7; display: flex; height: 125px; justify-content: center; margin-bottom: 15px; padding-bottom: 15px; position: relative; }
	.caseStyle01 dt::before { background: #b5b6b7; border-radius: 50%; bottom: -4px; content: ""; height: 7px; left: 0; margin: auto; position: absolute; right: 0; width: 7px; }
	.caseStyle01 dd { font-size: 2rem; font-weight: 700; }
	.caseStyle02 dt { font-weight: 700; }
	.caseStyle02 dd { margin-bottom: 30px; }
}
@media (max-width: 767px) {
	.caseBlock01 { margin-bottom: 10vw; }
	.caseStyle01 { display: flex; flex-wrap: wrap; justify-content: space-between; }
	.caseStyle01 dl { margin-top: 7vw; text-align: center; width: 38vw; }
	.caseStyle01 dt { align-items: flex-end; border-bottom: 0.2vw solid #b5b6b7; display: flex; height: 12vw; justify-content: center; margin-bottom: 2vw; padding-bottom: 15px; position: relative; }
	.caseStyle01 dt img { height: 12vw; width: auto; }
	.caseStyle01 dt::before { background: #b5b6b7; border-radius: 50%; bottom: -0.5vw; content: ""; height: 1vw; left: 0; margin: auto; position: absolute; right: 0; width: 1vw; }
	.caseStyle01 dd { font-weight: 700; }
	.caseStyle02 dt { font-weight: 700; }
	.caseStyle02 dd { margin-bottom: 3vw; }
}


/*-----------------------------------------------------

保険料

------------------------------------------------------*/
@media (min-width: 768px) {
	.feeBlock01 { margin-bottom: 100px; }
	.feeBlock01 .cal { background: #ecf7fb; color: #3d6cca; font-size: 3rem; font-weight: 700; margin: 30px auto; padding: 50px 0; text-align: center; width: 680px; }
	.feeStyle01 { margin: 20px auto 40px; width: 680px; }
	.feeStyle01 h4 { border-bottom: 2px solid #dbdcdc; border-top: 2px solid #dbdcdc; font-size: 2.2rem; line-height: 1; margin-bottom: 15px; padding: 5px 0; text-align: center; }
	.feeStyle01 dt { background: #e2f5fb; border: 1px solid #dbdcdc; display: inline-block; font-weight: 700; line-height: 1; margin-bottom: 10px; padding: 5px 15px; }
	.feeStyle01 dd { margin-bottom: 30px; }
}
@media (max-width: 767px) {
	.feeBlock01 { margin-bottom: 10vw; }
	.feeBlock01 .cal { background: #ecf7fb; color: #3d6cca; font-size: 4.3vw; font-weight: 700; margin: 3vw auto; padding: 5vw 0; text-align: center; width: 68vw; }
	.feeStyle01 { margin: 4vw 0; }
	.feeStyle01 h4 { border-bottom: 0.4vw solid #dbdcdc; border-top: 0.4vw solid #dbdcdc; font-size: 3.75vw; line-height: 1; margin-bottom: 3vw; padding: 1vw 0; text-align: center; }
	.feeStyle01 dt { background: #e2f5fb; border: 0.2vw solid #dbdcdc; display: inline-block; font-weight: 700; line-height: 1; margin-bottom: 1vw; padding: 1vw 3vw; }
	.feeStyle01 dd { margin-bottom: 3vw; }
}


/*-----------------------------------------------------

保険料

------------------------------------------------------*/
@media (min-width: 768px) {
	.glossaryBlock01 { margin-bottom: 100px; }
	.glossaryBlock01 p { margin-bottom: 1.5em; }
}
@media (max-width: 767px) {
	.glossaryBlock01 { margin-bottom: 10vw; }
	.glossaryBlock01 p { margin-bottom: 1.5em; }
}


/*-----------------------------------------------------

お問合わせ

------------------------------------------------------*/
@media (min-width: 768px) {
	.formBlock01 { font-size: 1.6rem; margin-bottom: 100px; }
	.formBlock01 .notice { background: #f5f5f5; padding: 20px; display: block;}
	.formBlock01 .tel { border: 1px solid #d1d1d1; padding: 20px; display: block;}
	.formBlock01 table { border-collapse: collapse; border-top: 1px solid #d1d1d1; margin: 40px 0; width: 100%; }
	.formBlock01 th { border-bottom: 1px solid #d1d1d1; font-size: 1.8rem; font-weight: 500; padding: 35px 0; text-align: left; vertical-align: top; width: 280px; }
	.formBlock01 th .fsS { display: inline-block; font-size: 1.4rem; width: 200px; }
	.formBlock01 td { border-bottom: 1px solid #d1d1d1; padding: 25px 0; }
	.formBlock01 td hr { margin: 10px 0; }
	.formBlock01 input[type="text"],
	.formBlock01 input[type="tel"],
	.formBlock01 input[type="email"],
	.formBlock01 input[type="url"] { background: #fff; border: 1px solid #d1d1d1; border-radius: 5px; padding: 8px; width: 635px; }
	.formBlock01 input.sizeM { margin-left: 1em; width: 500px; }
	.formBlock01 input.sizeS { margin: 0 0.5em; width: 100px; }
	.formBlock01 textarea { background: #fff; border: 1px solid #d1d1d1; border-radius: 5px; height: 12em; padding: 8px; width: 635px; }
	.formBlock01 textarea.sizeS { height: 5em; }
	.formBlock01 .required { background: #e9506f; border: 1px solid #e9506f; border-radius: 1em; color: #fff; display: inline-block; font-size: 1.4rem; line-height: 1; margin: 0 0.4em; padding: 2px 8px; }
	.formBlock01 .optional { border: 1px solid #e9506f; border-radius: 1em; color: #e9506f; display: inline-block; font-size: 1.4rem; line-height: 1; margin: 0 0.4em; padding: 2px 8px; }
	.formBlock01 label { margin-right: 1em; }
	.formBlock01 label input { margin-right: 0.2em; }
	.formBlock01 .mt10 { margin-top: 10px; }
	.formBlock01 .em6 { width: 6em; }
	.formBlock01 h3 { color: #ec6c85; font-size: 1.8rem; margin: 40px 0 -20px; }
	.formBlock02 { margin-bottom: 100px; }
	.formBlock02 p { font-size: 1.6rem; margin-bottom: 1.5em; }
	
}
@media (max-width: 767px) {
	.formBlock01 { margin-bottom: 10vw; }
	.formBlock01 .notice { background: #f5f5f5; padding: 2vw; }
	.formBlock01 .tel { border: 1px solid #d1d1d1; padding: 2vw;}
	.formBlock01 table { border-collapse: collapse; border-top: 0.2vw solid #d1d1d1; margin: 4vw 0; width: 100%; }
	.formBlock01 th { display: block; font-weight: 500; padding-top: 3vw; text-align: left; }
	.formBlock01 th .fsS { font-size: 2.8vw; }
	.formBlock01 td { border-bottom: 0.2vw solid #d1d1d1; display: block; padding: 3vw 0; }
	.formBlock01 td hr { margin: 1vw 0; }
	.formBlock01 input[type="text"],
	.formBlock01 input[type="tel"],
	.formBlock01 input[type="email"],
	.formBlock01 input[type="url"] { background: #fff; border: 0.2vw solid #d1d1d1; border-radius: 1vw; padding: 8px; width: 100%; }
	.formBlock01 input.sizeM { margin-left: 1em; width: 50vw; }
	.formBlock01 input.sizeS { margin: 0 0.5em; width: 10vw; }
	.formBlock01 textarea { background: #fff; border: 0.2vw solid #d1d1d1; border-radius: 1vw; height: 8em; padding: 8px; width: 100%; }
	.formBlock01 textarea.sizeS { height: 5em; }
	.formBlock01 .required { background: #e9506f; border: 0.2vw solid #e9506f; border-radius: 1em; color: #fff; display: inline-block; font-size: 1.4rem; line-height: 1; margin: 0 0.4em; padding: 1vw 2vw; }
	.formBlock01 .optional { border: 0.2vw solid #e9506f; border-radius: 1em; color: #e9506f; display: inline-block; font-size: 1.4rem; line-height: 1; margin: 0 0.4em; padding: 1vw 2vw; }
	.formBlock01 label { margin-right: 1em; }
	.formBlock01 label input { margin-right: 0.2em; }
	.formBlock01 .mt10 { margin-top: 1vw; }
	.formBlock01 .em6 { width: 6em; }
	.formBlock01 h3 { color: #ec6c85; font-size: 4vw; margin: 4vw 0 -2vw; }
	.formBlock02 { margin-bottom: 10vw; }
	.formBlock02 p { font-size: 3.4vw; margin-bottom: 1.5em; }
}


/*-----------------------------------------------------

汎用クラス

------------------------------------------------------*/
.mgb0{
  margin-bottom: 0!important;
}
.mgt40{
  margin-top: 40px!important;
}

.btmTbl{
  margin-top: 0!important;
  border-top: none!important;
}
@media (max-width: 767px) {
  .mgt40{
    margin-top: 4vw!important;
  }
}