@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;

	font-size: 1em;
}

body {
	font-size: 62.5%;
}

body,
table,
input, textarea, select, option {
	font-family: "游ゴシック","Yu Gothic","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
	max-width: 100%;
	/* width: 100%; */
	height: auto;
}

a,
a:link {
	color: #003472;
	text-decoration: none;
}

a:visited {
	color: #003472;
	text-decoration: none;
}

a:hover {
	color: #003472;
	text-decoration: underline;
}

a:active {
	color: #003472;
	text-decoration: underline;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 980px;
	color: #373737;
	font-size: 13px;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}

#container {
	text-align: left;
}

#main {
	margin: 0 auto 156px;
	width: 986px;
}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
/*
#container h1 {
	margin: 0 auto;
	padding: 15px 0 3px;
	width: 980px;
	font-size: 13px;
	font-weight: normal;
}
*/

#gHeader .hBox {
	padding: 42px 0 20px;
	border-bottom: 1px solid #DFDFDF
}

#gHeader .logoBox {
	margin: 0 auto;
	width: 980px;
	position: relative;
}

#gHeader .logo {
	margin-top: 14px;
	float: left;
}

#gHeader .tel {
	padding-right: 2px;
	float: right;
}

@media screen and (min-width: 768px) {
	#gHeader .tel {

	a {
		display: block;
		max-width: 240px;

		&:first-child {
			margin-bottom: -20px;
		}
	}
}
}

#gHeader .menuBox {
	display: none;
}

#gHeader .layout-insta {
	position: absolute;
	top: 64%;
	transform: translateY(-50%);

	img {
		width: min(8.53vw, 44px);
		height: min(8.53vw, 44px);
		display: block;
	}

	&:hover {
		opacity: .7;
		transition: ease .3s;
	}
}

@media screen and (min-width: 768px) {
	#gHeader .layout-insta {
		right: 270px;
	}
}

@media screen and (max-width: 767px) {
	#gHeader .layout-insta {
		right: min(12.8vw, 48px);

		img {
		width: min(8.53vw, 32px);
		height: min(8.53vw, 32px);
	}
	}
}

/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	margin: 0 auto;
	width: 928px;
}

#gNavi > li {
	width: 18%;
	float: left;
	position: relative;
}

#gNavi > li:first-child {
	width: 13%;
}

#gNavi > li:nth-child(2) {
	width: 15%;
}

#gNavi > li:nth-child(3) {
	width: 21.2%;
}

#gNavi > li:nth-child(4) {
	width: 19.8%;
}

#gNavi > li:last-child {
	width: 13%;
}

#gNavi > li > a {
	padding: 21px 10px 22px;
	display: block;
	color: #000;
	font-size: 15px;
	font-weight: bold;
	text-align: left;
}

#gNavi > li > a:hover {
	color: #003472;
	text-decoration: none;
}

#gNavi li ul {
	padding: 28px 0 6px 38px;
	display: none;
	position: absolute;
	left: -40px;
	top: 65px;
	box-sizing: border-box;
	z-index: 999;
	background-color: #013473;
}

#gNavi li ul li {
	padding-bottom: 18px;
	color: #fff;
	font-size: 15px;
}

#gNavi li ul li a {
	margin-left: 10px;
	display: inline-block;
	color: #fff;
}

#gNavi li .naviList01 {
	width: 516px;
	left: -32px;
}

#gNavi li .naviList01 li:nth-child(2n-1) {
	margin-right: 30px;
	width: 216px;
	float: left;
}

#gNavi li .naviList02 {
	width: 302px;
}

/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
	margin: 0 auto 22px;
	width: 980px;
}

#pagePath li {
	display: inline-block;
	font-weight: bold;
}

#pagePath li a {
	margin-right: 5px;
	display: inline-block;
	color: #003472;
	text-decoration: underline;
}

#pagePath li a:hover {
	text-decoration: none;
}

/*------------------------------------------------------------
	conts
------------------------------------------------------------*/
#conts {
	width: 690px;
	float: right;
}

/*------------------------------------------------------------
	sideBar
------------------------------------------------------------*/
#sideBar {
	width: 238px;
	float: left;
}

#sideBar .sTtl {
	padding: 38px 0 33px;
	font-family: "游明朝","YuMincho","Hiragino Mincho Pro","MS PMincho","ＭＳ Ｐ明朝","ヒラギノ明朝 Pro W6",serif;
	color: #fff;
	font-size: 18px;
	text-align: center;
	background-color: #003472;
}

#sideBar .sTtl span {
	margin-top: -3px;
	display: block;
	font-size: 10px;
}

#sideBar .sNavi {
	margin-bottom: 17px;
	padding: 0 15px;
	border: 1px solid #DFDFDF;
	border-top: 1px solid #7F9AB8;
}

#sideBar .sNavi a {
	padding: 20px 5px 16px;
	display: block;
	color: #1E1E1E;
	font-size: 14px;
	border-bottom: 1px solid #DFDFDF;
}

#sideBar .sNavi li:last-child a {
	border-bottom: none;
}

#sideBar .sAddress {
	margin-bottom: 16px;
	border: 1px solid #DFDFDF;
}

#sideBar .sAddress a img {
	width: 236px;
}

#sideBar .sAddress:first-child,
#sideBar .sAddress:nth-child(2) {
	border: none;
}


#sideBar .sAddress a:hover {
	opacity: 0.7;
}

#sideBar .sTel {
	padding: 24px 20px 26px;
	border: 4px solid #F0F0F0;
}

#sideBar .sTel p {
	color: #1E1E1E;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
}

#sideBar .sTel .sTxt {
	margin-bottom: 15px;
	padding-bottom: 12px;
	border-bottom: 1px solid #DFDFDF;
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter .pageTop {
	position: fixed;
	right: 50px;
	/* bottom: 50px; */
	bottom: 178px;
}

#gFooter .map {
	background-color: #013473;
}

#gFooter .map iframe {
	width: 100%;
	height: 600px;
}

#gFooter .fBox {
	margin: 0 auto 50px;
	width: 980px;
}

#gFooter .address {
	float: left;
}

#gFooter .fLogo {
	margin-bottom: 32px;
}

#gFooter .address p {
	font-size: 15px;
	line-height: 1.7;
}

#gFooter .tabBox {
	width: 620px;
	float: right;
}

#gFooter .tabBox table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1em;
}

#gFooter table th,
#gFooter table td {
	padding: 18px 5px 15px;
	font-size: 15px;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #DFDFDF;
}

#gFooter table thead th,
#gFooter table thead td {
	padding: 9px 5px;
	color: #fff;
	border: 1px solid #002D64;
	background-color: #013473;
}

#gFooter table th,
#gFooter table td {
}

#gFooter table th {
	width: 41.5%;
}

#gFooter .fSec {
	padding: 63px 0 30px;
	background-color: #013473;
}

#gFooter .fSec > ul {
	margin: 0 auto 36px;
	width: 1095px;
}

#gFooter .fNavi > li {
	float: left;
	color: #fff;
}

#gFooter .fNavi > li >ul{
	padding-right: 35px;
}

#gFooter .fNavi > li:last-child >ul{
	padding-right: 0;
}


#gFooter .fNavi p{
	font-size: 15px;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	font-weight: bold;
}

#gFooter .fNavi > li:last-child {
	margin-right: 0;
}

#gFooter .fNavi li li {
	margin-bottom: 13px;
}

#gFooter .fNavi li li span {
	vertical-align: top;
}

#gFooter .fNavi li a {
	margin-left: 10px;
	display: inline-block;
	color: #fff;
	font-size: min(3.46vw, 15px);
}

#gFooter .fSec .banner {
	width: 980px;
    display: flex;
    justify-content: center;
}

#gFooter .banner li {
	margin-right: 23px;
	float: left;
}

#gFooter .banner li:last-child {
	margin-right: 0;
}

#gFooter .banner a:hover {
	opacity: 0.7;
}

#gFooter .copyright {
	padding: 32px 0;
	font-size: 15px;
	text-align: center;
	letter-spacing: 1px;
}

.sp {
	display: none !important;
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

@media all and (min-width: 0) and (max-width: 767px) {

	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}

	a:hover {
		opacity: 1 !important;
		text-decoration: none;
	}

	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}

	body {
		min-width: inherit;
	}

	#gHeader {
        width: 100%;
        background: #fff;
        z-index: 1000;
		position: fixed;
	}

	#gHeader .hBox {
		padding: 3px 15px 14px;
	}

	#gHeader .logoBox {
		margin: 0;
		width: auto;
	}

	#gHeader .logo a img {
		width: 120px;
	}

	#gHeader .menu {
		padding: 19px 2px 0 0;
		float: right;
	}

    #gHeader .beginner{
		padding: 18px 2px 0 0;
        float: right;
        margin-right: min(18.13vw, 68px);
    }
    #gHeader .beginner img{
        width: 90px;
    }

	#gHeader .telBox {
		padding: 5px 15px 10px;
	}

	#gHeader .telBox li {
		width: 50%;
		float: left;
		text-align: center;
		box-sizing: border-box;
	}

	#gHeader .telBox li:first-child {
		border-right: 1px solid #DFDFDF;
	}

	#gHeader .telBox li a {
		padding: 5px 0;
		display: block;
		color: #1E1E1E;
		font-size: 12px;
		font-weight: bold;
	}

	#gHeader .telBox li a img {
		margin-right: 5px;
		vertical-align: middle;
	}

	#gHeader .menuBox {
		padding: 18px 20px;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		box-sizing: border-box;
		z-index: 999;
		border-top: 1px solid #BFCCDC;
		background-color: #013473;
	}

	#gHeader .menuBox li a {
		padding: 15px 15px 14px;
		display: block;
		color: #fff;
		border-bottom: 1px solid #214776;
	}

	#gHeader .menuBox li:first-child a {
		border-top: 1px solid #214776;
	}

	#gHeader .menuBox .close {
		margin-bottom: 23px;
		text-align: right;
	}
	nav.bottomNav {
        width: 100%;
		margin: auto;
        z-index: 1000;
		position: fixed;
		bottom: 0;
	}
	nav.bottomNav ul {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	nav.bottomNav ul li {
		width: 25%;
		text-align: center;
		box-sizing: border-box;
		justify-content: center;
		align-items: center;
	}
	nav.bottomNav ul li:last-child {
		border-right: 0;
		padding-right: 0;
	}
	nav.bottomNav ul li:nth-child(1) {
		background: rgba(237, 58, 137, 0.95);
	}
	nav.bottomNav ul li:nth-child(2) {
		background: rgba(0, 185, 36, 0.95);
	}
	nav.bottomNav ul li:nth-child(3) {
		background: rgba(241, 185, 30, 0.95);
	}
	nav.bottomNav ul li:nth-child(4) {
		background: rgba(42, 137, 226, 0.95);
	}

	nav.bottomNav ul li a {
		margin: auto;
		padding: 20px 16px;
		display: block;
		color: #fff;
		font-size: 12px;
		font-weight: bold;
		white-space: nowrap;
	}

	nav.bottomNav ul li a img {
		margin-bottom: 3px;
		vertical-align: middle;
	}

	#main {
		margin: 0 15px 66px;
		width: auto;
	}

	#conts {
		width: auto;
		float: none;
	}

	#gFooter {
		padding-bottom: 80px;
	}
	#gFooter .pageTop {
		/* right: 8px;
		bottom: 90px; */

		right: 16px;
        bottom: 170px;
	}

	#gFooter .pageTop img {
		width: 30px;
	}

	#gFooter .fBox {
		margin: 0 10px 31px;
		padding-top: 35px;
		width: auto;
		border-top: 1px solid #DFDFDF;
	}

	#gFooter .address {
		margin: 0 0 22px;
		float: none;
	}

	#gFooter .fLogo {
		margin-bottom: 24px;
		text-align: center;
	}

	#gFooter .fLogo img {
		width: 176px;
	}

	#gFooter .address p {
		font-size: 12px;
		line-height: 1.55;
		text-align: center;
	}

	#gFooter .tabBox {
		float: none;
		width: auto;
	}

	#gFooter table th,
	#gFooter table td {
		padding: 6px 0 5px 8px;
		font-size: 10px;
		text-align: left;
		box-sizing: border-box;
	}

	#gFooter table thead th,
	#gFooter table thead td {
		padding: 3px 2px;
		text-align: center;
	}

	#gFooter table td {
		padding-left: 0;
		text-align: center;
	}

	#gFooter .map iframe {
		width: 100%;
		height: 252px;
	}

	#gFooter .fSec {
		padding: 28px 35px;
	}

	#gFooter .banner li {
		margin: 0 0 8px;
		float: none;
	}

	#gFooter .banner li:last-child {
		margin-bottom: 73px;
	}

	#gFooter .banner li img {
		width: 100%;
	}

	#gFooter .fSec > ul {
		margin: 0;
		width: auto;
	}
	#gFooter .fSec .banner {
		width: auto;
        display: block;
	}

	#gFooter .copyright {
		/* padding: 16px 0 16px; */
		padding: 16px 0 80px;
		font-size: 10px;
	}

	#gFooter .fNavi {
		background: #013473;
		padding-bottom: 54px;
	}

	#gFooter .fNavi p{
		font-size: 15px;
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
		text-align: center;
		padding: 27px 0 15px;
		margin-bottom: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		font-weight: bold;
	}

	#gFooter .fNavi > li >ul{
		padding-right: 0;
	}

	#gFooter .fNavi > li > ul > li {
		display: flex;
		align-items: center;
		height: 54px;
		font-size: 11.5px;
		letter-spacing: -1px;
		line-height: 1.2;
		padding: 0 8px;
		width: 50%;
		float: left;
		box-sizing: border-box;
		margin: 0;
		border-right: 1px solid rgba(255, 255, 255, 0.2);
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}

	#gFooter .fNavi > li {
		margin: 0;
	}

	#gFooter .fNavi > li > ul > li:nth-child(2n) > a {
		border-right: none;
	}


	#gFooter .fNavi > .liStyle01 {
		width: 100%;
	}

	#gFooter .fNavi > .liStyle02 {
		width: 100%;
	}

    #gFooter .fNavi > li:last-child ul {
        margin: 0;
    }

    #gFooter .fNavi > li > ul > li > a{
		margin-left: 9px;
		height: 54px;
		width: 100%;
		display: flex;
		align-items: center;
	}


    #gFooter .fNavi > li > ul > li > a:hover {
        text-decoration: none;
    }

    #gFooter .fNavi .infoUl li a:hover {
        text-decoration: none;
    }

	#gFooter .fNavi li .wid01{
		width:100%;
	}

}

.mb-space {
	margin-bottom: 56px !important;
}

.mb-space-text {
	margin-bottom: 56px !important;
}

.note {
	margin-bottom: 24px;
}

@media all and (min-width: 0px) and (max-width: 767px) {
	.mb-space {
		margin-bottom: 0 !important;
	}

	.mb-space-text {
		margin-bottom: 32px !important;
	}

	.note {
		margin-bottom: 16px;
	}
}


/*================================
-250114 add
=================================*/

.layout-video-box {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background-color: #ededed;
	margin: 40px auto 16px;
	border: .5px solid #ccc;

	> video {
		width: 100%;
		height: 100%;
		display: block;
	}
}

.layout-video-title {
	margin-bottom: 16px;
    font-size: 17px;
    font-weight: 600;
    color: #003472;
	text-align: center;
	/* font-family: "游明朝", "YuMincho", "Hiragino Mincho Pro", "MS PMincho", "ＭＳ Ｐ明朝", "ヒラギノ明朝 Pro W6", serif; */

	> span {
		padding-left: 20px;
		position: relative;

		&::before {
			content: "◆";
			position: absolute;
			left: 0;
			top: 50%;
			z-index: 1;
			transform: translateY(-50%);
		}
	}
}

@media all and (min-width: 0px) and (max-width: 767px) {
	.layout-video-title {
		font-size: 14px;
		margin-bottom: 8px;
		text-align: left;
	}
}

.layout-video-text {
	text-align: center;
	font-size: 14px !important;
	line-height: 1.4;
	margin-bottom: 40px;
}

@media all and (min-width: 0px) and (max-width: 767px) {
	.layout-video-text {
		font-size: 11px !important;
	}
}

.layout-video-box-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;

	.layout-video-box {
		margin: 0 auto 16px;
	}
}

@media all and (min-width: 0px) and (max-width: 767px) {
	.layout-video-box-list {
		grid-template-columns: repeat(1, 1fr);
		margin-top: 32px;
	}
}

/*================================
-260806 add
=================================*/

.layout-faq-box {
	dt {
		font-size: min(4.26vw, 18px) !important;
		font-weight: 600;
		line-height: 1.6 !important;
		font-family: "游明朝", "YuMincho", "Hiragino Mincho Pro", "MS PMincho", "ＭＳ Ｐ明朝", "ヒラギノ明朝 Pro W6", serif;
		position: relative;
		padding-left: min(21.3vw, 80px);
		margin-bottom: min(5.33vw, 20px);
		color: #002D64;

		&::before {
			content: "Q";
			position: absolute;
			left: 0;
			top: 50%;
			transform: translateY(-50%);
			font-size: min(7.46vw, 28px);
			line-height: 1.4;
			height: 100%;
			width: min(14.93vw, 56px);
			display: flex;
			justify-content: center;
			align-items: center;
			color: #002D64;
			border-right: .5px solid #373737;
		}
	}

	dd {
		position: relative;
		padding-left: min(21.3vw, 80px);

		&::before {
			content: "A";
			position: absolute;
			left: 0;
			top: 0;
			font-family: "游明朝", "YuMincho", "Hiragino Mincho Pro", "MS PMincho", "ＭＳ Ｐ明朝", "ヒラギノ明朝 Pro W6", serif;
			font-size: min(7.46vw, 28px);
			line-height: 1.4;
			height: 100%;
			width: min(14.93vw, 56px);
			display: flex;
			justify-content: center;
			align-items: flex-start;
			color: #373737;
			border-right: .5px solid #373737;
		}
	}
}

.layout-faq-box + .layout-faq-box {
	padding-top: min(8.53vw, 32px);
	margin-top: min(8.53vw, 32px);
	border-top: 1px dashed #ccc;
}


/*================================
-260806 add
=================================*/

.layout-sub-section {
	margin-bottom: min(14.93vw, 72px);

	p {
		font-size: min(3.46vw, 14px);
		text-align: justify;
		line-height: 1.8;
		margin-bottom: min(5.33vw, 20px);
	}
}

.layout-sub-column-box {
	display: grid;
	grid-template-columns: 1fr min(42.6vw, 280px);
	gap: min(6.4vw, 40px);
	margin-top: min(5.33vw, 20px);

	.image {
		img {
			width: 100%;
			height: auto;
			display: block;
			background-color: #DFDFDF;
		}
	}

	.contents {
		text-align: justify;
		font-size: min(3.46vw, 14px);
		line-height: 1.8;
		margin: 0;
		padding: 0;
	}
}

@media screen and (min-width: 768px) {
	.layout-sub-column-box {
		.image {
			order: 2;
		}

		.contents {
			order: 1;
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-column-box {
		grid-template-columns: repeat(1, 1fr);
	}
}

.layout-sub-border-box {
	margin-bottom: min(4.26vw, 16px);
	padding: min(8.53vw, 32px) min(4.26vw, 32px);
	border: 1px solid #DFDFDF;

	.headLine03 {
		color: #003472 !important;
		border-bottom: 1px solid #DFDFDF;
		padding-bottom: min(2.13vw, 8px);
		margin-bottom: min(6.4vw, 24px) !important;
	}

	p {
		margin-bottom: min(5.33vw, 20px);

		&:last-child {
			margin-bottom: 0;
		}
	}

	.headline-list {
		font-size: min(3.73vw, 16px) !important;
        font-weight: 600;
        line-height: 1.6 !important;
        background-color: #013473;
		color: #fff;
        font-family: "游明朝", "YuMincho", "Hiragino Mincho Pro", "MS PMincho", "ＭＳ Ｐ明朝", "ヒラギノ明朝 Pro W6", serif;
        margin-bottom: 0;
        padding: min(2.13vw, 8px) min(4.26vw, 16px);
        position: relative;
        overflow: hidden;
	}

	.headline-list + .layout-sub-list-box {
		margin-top: 0 !important;
	}
}

.layout-sub-border-box-item,
.layout-sub-border-box-item-single,
.layout-sub-border-box-item-number {
	display: grid;
	grid-template-columns: 1fr min(42.6vw, 240px);
	gap: min(6.4vw, 40px);
	margin-top: min(5.33vw, 20px);

	.image {
		img {
			width: 100%;
			height: auto;
			display: block;
			background-color: #DFDFDF;
		}
	}

	.contents {
		text-align: justify;
		font-size: min(3.46vw, 14px);
		line-height: 1.8;
		margin: 0;
		padding: 0;
	}

	.image-single {
		margin: 0 auto min(5.33vw, 20px);
		width: 70%;
		max-width: 300px;
		height: auto;
		display: block;
		background-color: #DFDFDF;

		img {
			min-width: 240px;
		}
	}

	figcaption {
		text-align: center;
		margin: 0 auto;
		font-size: min(3.2vw, 12px);
	}
}

.layout-sub-border-box-item-single {
	grid-template-columns: repeat(1, 1fr);
}

.layout-sub-border-box-item-number {
	grid-template-columns: repeat(1, 1fr);
	gap: 0;
	margin: 0;

	.headline {
		font-size: min(3.73vw, 16px) !important;
		font-weight: 600;
		line-height: 1.6 !important;
		background-color: #f4f4f5;
		font-family: "游明朝", "YuMincho", "Hiragino Mincho Pro", "MS PMincho", "ＭＳ Ｐ明朝", "ヒラギノ明朝 Pro W6", serif;
		margin-bottom: min(4.26vw, 16px);
		padding: min(2.13vw, 8px) min(4.26vw, 16px) min(2.13vw, 8px) min(14.93vw, 56px);
		position: relative;
		overflow: hidden;

		> span {
			position: absolute;
			left: 0;
			top: 0;
			color: #fff;
			z-index: 1;
			height: 100%;
			width: min(10.66vw, 40px);
			background-color: #003472;
			margin: auto;
			text-align: center;
			display: flex;
			justify-content: center;
			align-items: center;
		}
	}
}

.layout-sub-border-box-item-number + .layout-sub-border-box-item-number {
	padding-top: min(8.53vw, 32px);
	margin-top: min(8.53vw, 32px);
	border-top: 1px dashed #ccc;
}


@media screen and (min-width: 768px) {
	.layout-sub-border-box-item {
		.image {
			order: 2;
		}

		.contents {
			order: 1;
		}
	}
}

@media screen and (max-width: 767px) {

	.layout-sub-border-box {
		.headLine03 {
			text-align: center;
		}
	}

	.layout-sub-border-box-item,
	.layout-sub-border-box-item-single,
	.layout-sub-border-box-item-number {
		grid-template-columns: repeat(1, 1fr);

		.image {
			max-width: 480px;
			width: 70%;
			margin: 0 auto;
		}
	}
}

.layout-sub-list-box,
.layout-sub-list-box-2fr,
.layout-sub-list-box-3fr,
.layout-sub-list-box-demerit,
.layout-sub-list-box-demerit-2fr {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 0 min(5.33vw, 20px);
	margin: min(8.53vw, 32px) auto;
	background-color: #faf8f4;
	padding: min(2.13vw, 8px) min(5.33vw, 32px);

	li {
		border-bottom: .5px solid #ccc;

		&:last-child {
			border-bottom: 0;
		}

		span {
			min-height: min(8.53vw, 32px);
			display: flex;
			align-items: center;
			justify-content: flex-start;
			position: relative;
			padding: min(2.13vw, 8px) 0 min(2.13vw, 8px) min(5.33vw, 24px);
			font-size: min(3.46vw, 14px);

			&::before {
				content: "";
				position: absolute;
				top: 37%;
				left: 0;
				transform: translateY(-50%);
				width: min(3.2vw, 12px);
				height: min(1.6vw, 6px);
				border-left: 2px solid #003472;
				border-bottom: 2px solid #003472;
				transform: rotate(-45deg);
				z-index: 2;
			}
		}
	}
}

@media screen and (min-width: 768px) {
	.layout-sub-list-even {
		li {
			&:nth-last-of-type(2) {
				border-bottom: 0;
			}
		}
	}
}

.layout-sub-list-box-2fr,
.layout-sub-list-box-demerit-2fr {
	grid-template-columns: repeat(2, 1fr);
}

.layout-sub-list-box-3fr {
	grid-template-columns: repeat(3, 1fr);
}

.layout-sub-list-box-demerit,
.layout-sub-list-box-demerit-2fr {
	background-color: #f6f6f6;

	li {
		span {
			&::before {
				border-left: 2px solid #ccc;
				border-bottom: 2px solid #ccc;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.layout-sub-list-box-2fr,
	.layout-sub-list-box-3fr,
	.layout-sub-list-box-demerit-2fr {
		grid-template-columns: repeat(1, 1fr);
		gap: 0;
	}
}

.layout-sub-border-box-item {
	.headline {

	}
}

#main .comImgBox .phoBox {
	img {
		min-width: 240px;
	}
}