@charset "utf-8";

:root {
  --fsize-190: 190%;
  --fsize-170: 170%;
  --fsize-150: 150%;
	--fsize-120: 120%;
	--psize-120: 120px;
	--psize-80: 80px;
	--psize-60: 60px;
	--psize-40: 40px;
	--psize-20: 20px;
}
@media screen and (max-width:768px){
	:root {
		--fsize-190: 150%;
		--fsize-170: 130%;
		--fsize-150: 110%;
		--fsize-120: 110%;

		--psize-120: 80px;
		--psize-80: 60px;
		--psize-60: 30px;
		--psize-40: 20px;
		--psize-20: 10px;
	}
}

main.container.apattern{
	margin-bottom: var(--psize-80);
}
main ul, #box1col ul{
	font-size: 100%;
}

main ol, #box1col ol{
	margin: 10px 0 10px 1em;
}

.apattern #main{
	display: flex;
	flex-direction: column;
	gap: var(--psize-80);
}

#main{
	width: 100%;
	max-width: 850px;
	margin: auto;
	float: none;
}

main.apattern h1,
main.apattern h2,
main.apattern h3,
main.apattern h4{
	margin: initial;
	padding: initial;
	font-size: initial;
	font-weight: 700;
	line-height: initial;
	position: relative;
	border: initial;
}
main.apattern h2::after {
	display: none;
}
.apattern #main h1,
.apattern #main h2,
.apattern #main h3,
.apattern #main h4{
	margin: initial;
	padding: initial;
	font-size: initial;
	font-weight: 700;
	line-height: initial;
	position: relative;
	border: initial;
}
.apattern #main h2::after {
	display: none;
}




.p-text--center {
	display: flex;
	flex-direction: column;
	gap: var(--psize-20);
	width: 100%;
	align-items: center;
}

.p-text--section {
	display: flex;
	flex-direction: column;
	gap: var(--psize-20);
	width: 100%;
}





/* コンテンツ01スタイル */
.p-content {
	display: flex;
	flex-direction: column;
	gap: var(--psize-40);
	width: 100%;
}
.p-text {
	display: flex;
	flex-direction: column;
	gap: var(--psize-40);
	width: 100%;
}
.p-text__title {
	text-align: center;
	width: 100%;
}
.p-text__title h2 {
	font-weight: 700;
	font-size: var(--fsize-190) !important;
	line-height: calc(1em + 12px);
	
	margin: 0;
}
.p-text__date {
	width: 100%;
	text-align: right;
}
.p-text__date p {
	font-size: var(--fsize-120);
	line-height: calc(1em + 12px);
	
	margin: 0;
}
.p-text__body {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 1.5em;
}
.p-text__body p {
	font-size: var(--fsize-120);
	line-height: calc(1em + 12px);
	
	margin: 0;
}
.c-contact-box {
	background: #FFF;
	display: flex;
	flex-direction: column;
	gap: var(--psize-20);
	width: 100%;
	align-items: center;
	margin: initial;
	padding: var(--psize-40);
	border: 1px solid #2e323b;
}
.c-contact-box__phone {
	text-align: center;
	width: 100%;
}
.c-contact-box__phone-label {
	font-size: var(--fsize-120);
	line-height: calc(1em + 12px);
	
	margin: 0;
}
.c-contact-box__phone-number {
	font-weight: 700;
	font-size: var(--fsize-190);
	line-height: calc(1em + 12px);
	margin: 0;
}
.c-contact-box__reception {
	display: flex;
	gap: var(--psize-20);
	width: 100%;
	justify-content: center;
}
.c-contact-box__reception-label {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #000;
	padding: 0 var(--psize-20);
}
.c-contact-box__reception-label p {
	font-size: var(--fsize-120);
	line-height: calc(1em + 12px);
	
	text-align: center;
	white-space: nowrap;
	margin: 0;
}
.c-contact-box__reception-details {
	display: flex;
	flex-direction: column;
}
.c-contact-box__reception-details p {
	font-size: var(--fsize-120);
	line-height: calc(1em + 12px);
	
	margin: 0;
}
.c-contact-box__privacy {
	width: 100%;
	text-align: center;
}
.c-contact-box__privacy p {
	font-size: 12px;
	line-height: 20px;
	
	margin: 0;
}
@media screen and (max-width:768px) {
	.c-contact-box__reception {
		flex-direction: column;
		gap: 8px;
	}
}
/* コンテンツ02スタイル */
.p-content--search {
	width: 100%;
	border: 4px solid #0F3675;
	padding: var(--psize-40);
	background: #FFF;
}
.p-content--search.bg2{
	background: #f4f7ff;
}
.p-heading {
	display: flex;
	flex-direction: column;
}
.p-heading .sub {
	font-size: var(--fsize-190) !important;
	text-align: center;
	font-weight: 700;
	color: #0F3675;
}
.p-heading h2 {
	font-weight: 700;
	font-size: var(--fsize-190) !important;
	line-height: calc(1em + 12px);
	margin: 0;
	text-align: center;
}
.p-subtitle {
	text-align: center;
	width: 100%;
}
.p-subtitle p {
	font-weight: 700;
	font-size: var(--fsize-190);
	line-height: calc(1em + 12px);
	margin: 0;
}
.p-subtitle p.red {
	color: #ec3636;
}
.p-description {
	width: 100%;
}
.p-description p {
	font-size: var(--fsize-120);
	line-height: calc(1em + 12px);
	margin: 0;
}
.p-content--search .p-product-table {
	width: 100%;
	display: flex;
	flex-direction: column;
}
.p-content--search .p-product-table__header {
	border: 1px solid #2e323b;
	padding: 4px var(--psize-20);
	margin-bottom: -1px;
	text-align: center;
}
.p-content--search .p-product-table__header p {
	font-size: var(--fsize-120);
	line-height: calc(1em + 12px);
	
	margin: 0;
}
.p-content--search .p-product-table__body {
	border: 1px solid #2e323b;
	padding: var(--psize-20);
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
}
.p-content--search .p-product-table__body p {
	font-size: var(--fsize-120);
	line-height: calc(1em + 12px);
	
	margin: 0;
}
@media screen and (max-width: 768px) {
	.p-content--search .p-product-table__body {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 480px) {
	.p-content--search .p-product-table__body {
		grid-template-columns: repeat(1, 1fr);
	}
}
.p-content--search .p-notice {
	width: 100%;
}
.p-content--search .p-notice p {
	font-size: var(--fsize-120);
	line-height: calc(1em + 12px);
	
	margin: 0;
}
.p-content--search .p-footer-note {
	display: flex;
	flex-direction: column;
	gap: var(--psize-40);
	width: 100%;
	align-items: center;
}
.p-content--search .p-footer-note p {
	font-size: var(--fsize-120);
	line-height: calc(1em + 12px);
	
	margin: 0;
	width: 100%;
}

.u-m0{
	margin: 0 !important;
}


.btnBack input{
	font-size: 16px;
}

.modaal-content-container{
	padding: var(--psize-40);
}

.p-accordion{
	overflow: hidden;
	max-height: 0;
	margin-top: 0;
}

.p-accordion--inner{
	border-top: 2px solid #0F3675;
	padding-top: var(--psize-40);
	display: flex;
	flex-direction: column;
	gap: var(--psize-40);
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height 0.5s ease, opacity 0.5s ease, padding 0.5s ease;
	padding-top: 0;
	border-top: none;
}

.p-accordion.active{
	max-height: 100%;
	margin-top: var(--psize-40);
}
.p-accordion.active .p-accordion--inner.active{
	max-height: 100%;
	opacity: 1;
	padding-top: var(--psize-40);
	border-top: 2px solid #0F3675;
}


.c-notice-box{
	background: #f5f5f5;
	padding: var(--psize-20);
	display: flex;
	flex-direction: column;
	gap: var(--psize-20);
}





.p-form-search{
	width: 100%;

}

.p-form-search__area{
	display: flex;
	gap: -1px;
}
.p-form__input-text {
	border-radius: 0 !important;
	background: #fff;
	border: 1px solid #0F3675;
	box-sizing: border-box;
	padding: 10px 20px;
	font-size: 180%;
	outline: none;
	-webkit-transition: all .3s;
	transition: all .3s;
	width: 100%;
}
.p-form__input-text:focus {
	border: 1px solid #aaa;
	background-color: #fffce7;
}
.p-form__input-text:hover {
	border: 1px solid #aaa;
}
.p-form__input-btn{
	all: initial;
	border: 1px solid #0F3675;
	background: #0F3675;
	font-size: 150%;
	line-height: 1;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	color: #FFF;
	padding: 4px 2em;
	cursor: pointer;
	transition: background-color .3s , border-color .3s;
	flex-shrink: 0;
}
.p-form__input-btn:hover{
	background-color: #2382b8;
	border-color: #2382b8;
}
.p-form__input-btn2{
	all: initial;
	border: 1px solid #0F3675;
	background: #0F3675;
	line-height: 1;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	color: #FFF;
	padding: 4px 16px;
	cursor: pointer;
	transition: background-color .3s , border-color .3s;
	font-size: 100%;
	flex-shrink: 0;
}
.p-form__input-btn2:hover{
	background-color: #2382b8;
	border-color: #2382b8;
}
@media screen and (max-width: 768px) {
.p-form__input-text {
	padding: 5px 10px;
	font-size: 150%;
}
.p-form__input-btn{
	padding: 4px 1em;
}
}




#main p{
	margin: 0;
}

form table #zip{
	width: 100% !important;
	max-width: 16rem;
}

form table th {
	position: static;
	width: 230px;
}

form table input[type="text"],
form table input[type="email"],
form table input[type="tel"],
form table textarea {
	border-radius: 0;
}

.p-form{
	display: flex;
	flex-direction: column;
	width: 100%;
}
.p-form form{
	display: flex;
	flex-direction: column;
	width: 100%;
}

.p-form table{
	margin: auto;
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.p-form form table th,
.p-form form table td{
	box-sizing: border-box;
	word-break: break-all;
}

.p-form form table input[type="text"],
.p-form form table input[type="tel"],
.p-form form table input[type="email"],
.p-form form table select,
.p-form form table textarea{
	max-width: 100%;
	box-sizing: border-box;
}

.p-form form table th{
	white-space: nowrap;
}
@media screen and (max-width: 768px) {
	.p-form form table th{
		white-space: initial;
	}
}

.p-form-ul__area{
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 0;
	margin: 0;
	list-style-type: none;
}
.p-form-list__area{
	display: flex;
	gap: 0;
	list-style-type: none;
}
.p-form-list__area label{
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #CCC;
	font-size: .9rem;
	line-height: 1;
	background: #f5f5f5;
}
.p-form-list__area input[type="text"]{
	margin-left: -1px;
}
.c-required{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #D92B00;
	color: #FFF;
	line-height: 1;
	white-space: nowrap;
	padding: 4px 4px;
	font-size: calc(100% - 2px);
	vertical-align: middle;
	margin-top: -2px;
	margin-left: 4px;
	border-radius: 4px;
}
.p-form .error{
	color: #D92B00;
}


.c-form-link-btn{
	border-radius: 4px;
	background: #0F3675;
	font-size: var(--fsize-190);
	line-height: 1;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	color: #FFF !important;
	padding: .8em 2em;
	cursor: pointer;
	transition: background-color .3s, border-color .3s;
	position: relative;
	text-decoration: none !important;
}
.c-form-link-btn::before{
	content: "";
	border-top: 1px solid #FFF;
	border-left: 1px solid #FFF;
	width: 12px;
	height: 12px;
	transform: rotate(135deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1em;
	margin: auto;
}
.c-form-link-btn:hover{
	background-color: #2382b8;
	border-color: #2382b8;
}

.c-tel-btn{
	margin: 0 !important;
	border: 1px solid #0b3775;
	border-radius: 4px;
	font-size: 120%;
	color: #0b3775 !important;
	line-height: calc(1em + 8px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .8em 2em;
	cursor: pointer;
	transition: background-color .3s, border-color .3s;
	position: relative;
	text-decoration: none !important;
	background: #FFF;
}
.c-tel-btn:hover{
	background: #dfe4ee;
}
@media screen and (max-width:768px) {
	.c-tel-btn{
		font-size: 100%;
		padding: .8em 1em;
	}
}

.c-modal-btn{
	display: inline-block;
	color: #0089a3;
	cursor: pointer;
	line-height: calc(1em + 8px);
}
.c-modal-btn::after{
	content: "";
	display: inline-block;
	background: url(/img/common/ico_extlink.png) center center / 100% auto no-repeat;
	width: 1em;
	height: calc(1em + 8px);
	vertical-align: middle;
	margin-left: 4px;
}
.c-modal-btn:hover{
	text-decoration: underline;
}

.u-fsize120{font-size: var(--fsize-120);}
.u-fsize150{font-size: var(--fsize-150);}
.u-fsize170{font-size: var(--fsize-170);}
.u-fsize190{font-size: var(--fsize-190);}

.c-box01{
	border: 1px solid #2e323b;
	padding: 1em;
}
.c-list01{
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.c-list01 > li{
	list-style-type: disc;
	margin-left: 1em;
}



.modaal-overlay{
	z-index: 9998;
}

@media screen and (max-width:768px) {
	.u-pcbr{
		display: none;
	}
}

main .c-ul01{
	margin: 10px 0 10px 0;
	padding-left: 20px;
	font-size: 110%;
}