@charset "UTF-8";

/* ==========================
	reset css
============================= */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form,
	fieldset, legend, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6, em, strong {
	font-size: 100%;
	font-weight: normal;
	font-style: normal;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

ul, ol, li {
	list-style-type: none;
}

img {
	border: 0;
	vertical-align: bottom;
}

a img {
	vertical-align: middle;
}

area {
	border: none;
	outline: none;
}

/* font reset */
body {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
}

select,
input,
button,
textarea {
	font-size: 100%;
}

table {
	font-size: inherit;
}

/* HTML5 */

article,
aside,
details,
dialog,
figure,
figcaption,
footer,
header,
main,
hgroup,
nav,
section {
	display: block;
}

/***********************************/

/*CSS目次

/*Direct用 reset and base CSS
  ├レスポンシブ数値設定
  ├ページトップ
  ├テキストリンクホバー(PCのみ)
  ├ボタンデザイン
  └外部リンクアイコン
/*_detail import
/***********************************/
html {
	font-size: 10px;
}

* {
	box-sizing: border-box;
	font-family: "din-2014", "Noto Sans JP", sans-serif;
	font-weight: 400;
}

*:focus {
	outline: none;
}

html {
	height: auto;
	scroll-behavior: smooth;
}

body {
	color: #262626;
	font-size: 1.6rem;
	min-width: unset;
	height: auto;
}

body.not-enough {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body.not-enough .contents-wrapper {
	margin-bottom: auto;
}

a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

a:hover {
	color: inherit;
	text-decoration: none;
}

a:active {
	color: inherit;
	text-decoration: none;
}

.col-txt-link {
	color: #0077FF;
	font-weight: 700;
}

.col-txt-link:hover {
	color: #0077FF;
}

img {
	max-width: 100%;
	width: auto;
}

img[src$=".svg"] {
	width: 100%;
	height: auto;
}

button {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: inherit;
	cursor: pointer;
}

hr {
	margin: 0;
}

.pc {
	display: block;
}

.pc-inline {
	display: inline-block;
}

.sp {
	display: none;
}

.sp-inline {
	display: none;
}

.ta-l {
	text-align: left !important;
}

.ta-r {
	text-align: right !important;
}

header a:hover {
	opacity: initial;
}

header a img:hover {
	opacity: initial;
}

.header__logo {
	margin-left: 0;
	margin-right: auto;
}

.header__logo img {
	width: auto;
	height: 25px;
}

.navigation .service-nav__inner a:hover {
	opacity: 1;
}

.con_box {
	width: 100%;
	padding: 0;
}

.kc1 {
	color: #D90D0D;
}

.contents-wrapper-wrap {
	margin-top: 3rem;
	overflow-x: hidden;
}

.contents-wrapper {
	margin: 0 auto 4rem;
	padding: 0 1.5rem;
	width: 105rem;
}

.pagetop a {
	display: block;
	position: fixed;
	bottom: 10rem;
	right: 5rem;
	background-color: #FFBCAF;
	text-align: center;
	color: #FFF;
	filter: alpha(opacity = 80);
	opacity: 0.8;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
}

.pagetop a svg {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -0.8rem;
	margin-left: -0.7rem;
	width: 1.4rem;
	height: 1.4rem;
	fill: #fff;
}

.item-btn {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	font-weight: bold;
	border-radius: 5rem;
	line-height: 1;
	transition: all 0.1s;
}

.item-btn span {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
}

.item-btn.type-normal {
	color: #fff;
	background-color: #D90D0D;
	font-size: 2.5rem;
	line-height: 1.5;
	box-shadow: 0 0.3rem 0.3rem rgba(0, 0, 0, 0.3);
	cursor: pointer;
}

.item-btn.type-white {
	background-color: #fff;
	border: 0.1rem solid #262626;
	box-shadow: 0 0.3rem 0.3rem rgba(0, 0, 0, 0.3);
	cursor: pointer;
}

.item-btn.type-tel {
	color: #D90D0D;
	background-color: #fff;
	font-size: 4.8rem;
	line-height: 1.1;
	text-align: center;
}

.item-btn.type-tel>span {
	color: #262626;
}

.press-btn {
	font-size: 1.1rem;
	box-shadow: 0 0.3rem 0.3rem rgba(0, 0, 0, 0.3);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: linear-gradient(to bottom, #FFF, #F3F3F3, #EBEBEB);
	border: 1px solid #DEDEDE;
	color: #262626;
	transition: all 0.1s;
	font-size: 1.1rem;
	font-weight: bold;
	border-radius: 0.5rem;
}

.press-btn .icon-favo {
	fill: #FF8A80;
	width: 2.2rem;
	height: 2.2rem;
}

form .input-select {
	display: inline-block;
	position: relative;
	background-color: #fff;
	border-radius: 0.6rem;
}

form .input-select::before,
form .input-select::after {
	content: "";
	display: block;
	position: absolute;
	right: 1rem;
	top: 50%;
	margin-top: -1rem;
}

form .input-select::before {
	width: 2rem;
	height: 2rem;
	background-color: #D90D0D;
	border-radius: 50%;
}

form .input-select::after {
	right: 1.6rem;
	margin-top: -0.5rem;
	width: 0.6rem;
	height: 0.6rem;
	border-bottom: 0.2rem solid #fff;
	border-right: 0.2rem solid #fff;
	font-size: 1rem;
	transform: rotate(45deg);
}

form .input-select select {
	padding-left: 1.5rem;
	height: 4.5rem;
	color: #757575;
	background-color: unset;
	border-radius: 0.6rem;
	cursor: pointer;
}

form .input-select select>option:nth-of-type(n+2) {
	color: #262626;
}

form .input-plane input {
	padding-left: 1.5rem;
	height: 4.5rem;
	border: 0.1rem solid #707070;
	border-radius: 0.6rem;
}

form .input-article textarea {
	padding: 1.1rem 1.5rem;
	width: 100%;
	max-width: 100%;
	min-width: 100%;
	border: 0.1rem solid #707070;
	border-radius: 0.4rem;
}

form .input-article>p {
	margin-bottom: 0.5rem;
	color: #757575;
	font-size: 1.2rem;
	line-height: 1;
}

form .error-txt {
	display: block;
	margin-top: 0.8rem;
	width: 100%;
	color: #D90D0D;
	font-size: 1.1rem;
	line-height: 1;
}

form .input-select.disabled {
	background-color: #EEEEEE;
	cursor: not-allowed;
}

form .input-select.disabled select {
	pointer-events: none;
}

form .input-select.disabled::before {
	width: 2rem;
	height: 2rem;
	background-color: #ACACAC;
	border-radius: 50%;
}

.form-type-check .check-item label {
	display: inline-block;
	position: relative;
	padding: 0.5rem 2.7rem;
	padding-right: 0;
	width: auto;
	line-height: 1;
	cursor: pointer;
}

.form-type-check .check-item label::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -0.55em;
	left: 0;
	width: 1em;
	height: 1em;
	background: #fff;
	border: 0.1rem solid #5D5D5D;
	border-radius: 0.2rem;
}

.form-type-check .check-item label::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0.35em;
	margin-top: -0.45em;
	width: 0.25em;
	height: 0.5em;
	border-right: 0.2em solid #fff;
	border-bottom: 0.2em solid #fff;
	transform: rotate(45deg);
	opacity: 0;
}

.form-type-check .check-item input[type=checkbox] {
	display: none;
}

.form-type-check .check-item input[type=checkbox]:checked+label::before
	{
	background-color: #D90D0D;
}

.form-type-check .check-item input[type=checkbox]:checked+label::after {
	opacity: 1;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

::-ms-expand {
	display: none;
}

.btn:active {
	background-color: #FF7575;
}

.contents-agreement {
	padding-bottom: 1rem;
	font-weight: bold;
	text-align: center;
}

.contents-agreement>a {
	color: #0077FF;
}

.ext-link::after {
	content: "";
	display: inline-block;
	margin-left: 0.4em;
	width: 1.4rem;
	height: 1.2rem;
	background:
		url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.67%22%20height%3D%2212.133%22%20viewBox%3D%220%200%2013.67%2012.133%22%3E%20%3Cg%20id%3D%22%E5%88%A5%E7%AA%93%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B33%22%20transform%3D%22translate(-58.87%20-69.86)%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_4%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%204%22%20width%3D%229.695%22%20height%3D%228.86%22%20transform%3D%22translate(59.37%2072.634)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2%22%20data-name%3D%22%E3%83%91%E3%82%B9%202%22%20d%3D%22M101.93%2C72.634V70.36h9.695v8.86H108.65%22%20transform%3D%22translate(-39.585)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E")
		no-repeat center center;
}

.omit .unit::before {
	content: "万";
}

.dec {
	font-size: 84%;
}

.dec::before {
	content: ".";
	font-size: 110%;
}

.price-area {
	display: flex;
	justify-content: space-between;
	margin-bottom: 1.3rem;
}

.price-area>div {
	display: flex;
	flex-direction: column;
}

.price-area>div::before {
	content: "";
	display: block;
	width: 100%;
	height: 0.3rem;
	background-color: #262626;
}

.price-area>div.item::before {
	background-color: #262626;
}

.price-area>div.total::before {
	background-color: #D90D0D;
}

.price-area>div.total .price-after {
	color: #D90D0D;
}

.price-area .ttl {
	padding-top: 1rem;
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 0;
}

.price-area .ttl>span {
	font-size: 75%;
}

.price-wtap {
	display: flex;
	flex-direction: column;
	margin-top: auto;
	margin-bottom: 0;
}

.price-wtap>* {
	display: block;
}

.price-wtap .price {
	font-weight: 700;
}

.price-wtap .price .unit {
	color: #262626;
	font-weight: normal;
}

.price-wtap .price-before {
	margin-bottom: 1rem;
}

.price-wtap .price-before .price {
	display: inline-block;
	position: relative;
	font-size: 2.5rem;
}

.price-wtap .price-before .price::before {
	content: "";
	display: block;
	position: absolute;
	top: 43%;
	left: 0;
	width: 97%;
	height: 0.2rem;
	background-color: #262626;
	transform: rotate(-8deg);
}

.price-wtap .price-before .price .unit {
	font-size: 1.1rem;
}

.price-wtap .price-after {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	line-height: 1;
}

.price-wtap .price-after .arrow {
	display: flex;
	align-items: center;
	margin-right: 0.4rem;
	width: 1.5rem;
	height: 1.7rem;
}

.price-wtap .price-after .price {
	font-size: 3.4rem;
}

.price-wtap .price-after .price .unit {
	font-size: 1.3rem;
}

.price-area.none-price-after .ttl {
	margin-bottom: 1.5rem;
}

.price-area.none-price-after .price-wtap {
	margin-bottom: auto;
}

#footerbottom {
	margin: 0 auto;
	padding-top: 30px;
	padding-bottom: 30px;
}

@media screen and (min-width: 640px) {
	a:hover {
		opacity: 0.65;
	}
	.col-txt-link:hover {
		opacity: 0.65;
	}
	.header__menu--service>li a:hover>span {
		text-decoration: underline;
	}
	.header__head--inner, .breadcrumb, footer .inbox, .foot_bgcolor .inbox,
		.footerm_box_big, #footerbottom {
		width: 102rem;
	}
	.foot_bgcolor {
		padding: 50px 15px;
		min-width: unset;
	}
	.foot_bgcolor_red {
		padding: 0 15px;
		min-width: unset;
	}
	.footerm_box_big .rbox {
		width: 88rem;
	}
	label {
		cursor: auto;
	}
	label:hover {
		color: unset;
	}
	.tlink-w {
		position: relative;
	}
	.tlink-w::before {
		content: "";
		position: absolute;
		bottom: -0.2rem;
		left: 0;
		right: 0;
		margin: auto;
		width: 0%;
		height: 0.2rem;
		color: transparent;
		background: #FFF;
		transition: all 0.3s;
	}
	.tlink-w:hover {
		color: inherit;
		text-decoration: none;
		opacity: 1;
	}
	.tlink-w:hover::before {
		width: 100%;
	}
	.tlink-b {
		position: relative;
	}
	.tlink-b::before {
		position: absolute;
		bottom: -0.2rem;
		left: 0;
		right: 0;
		margin: auto;
		width: 0%;
		height: 0.2rem;
		color: transparent;
		background: #262626;
		transition: all 0.3s;
	}
	.tlink-b:hover {
		color: inherit;
		text-decoration: none;
		opacity: 1;
	}
	.tlink-b:hover::before {
		width: 100%;
	}
	.item-btn.type-normal:hover {
		margin-top: 0.3rem;
		margin-bottom: -0.3rem;
		box-shadow: unset;
		opacity: 1;
	}
	.item-btn.type-white:hover {
		margin-top: 0.3rem;
		margin-bottom: -0.3rem;
		box-shadow: unset;
		opacity: 1;
	}
	.item-btn.type-tel.pc {
		display: flex;
		flex-direction: column;
	}
	.item-btn.type-tel.sp {
		display: none;
	}
	.press-btn:hover {
		margin-top: 0.3rem;
		margin-bottom: -0.3rem;
		box-shadow: unset;
		opacity: 1;
	}
	.price-area {
		height: 11.5rem;
	}
	.footer__link li {
		margin: 0 3.5rem 0 0;
	}
	#footerb_lbox {
		width: auto;
	}
}

@media screen and (max-width: 1050px) {
	html {
		font-size: 0.95238095vw;
	}
	.breadcrumb {
		margin-left: 0;
		width: 100%;
	}
}

@media screen and (max-width: 1020px) {
	.navigation .service-nav__inner {
		width: 100%;
	}
	.con_box {
		margin: 0;
		width: 100%;
	}
}

@media screen and (max-width: 640px) {
	html {
		font-size: 2.667vw;
	}
	label:hover {
		color: unset;
	}
	.pc {
		display: none;
	}
	.pc-inline {
		display: none;
	}
	.sp {
		display: block;
	}
	.sp-inline {
		display: inline-block;
	}
	.breadcrumb {
		padding: 0 15px;
	}
	.navigation {
		overflow-x: auto;
	}
	.contents-wrapper {
		padding: 0;
		width: 34.5rem;
	}
	.pagetop a {
		bottom: 11rem;
		right: 1.5rem;
		padding: 1.2rem 0.5rem 0 0.5rem;
		width: 5rem;
		height: 5rem;
		font-size: 1.5rem;
		line-height: 3rem;
	}
	.pagetop a svg {
		margin-top: -0.7rem;
		margin-left: -0.55rem;
		width: 1.1rem;
		height: 1.1rem;
	}
	.item-btn.type-tel {
		font-size: 4rem;
	}
	.item-btn.type-tel.pc {
		display: none;
	}
	.item-btn.type-tel.sp {
		display: flex;
		flex-direction: column;
		width: 100%;
		border: 0.3rem solid #D90D0D;
		box-shadow: 0 0.3rem 0.3rem rgba(0, 0, 0, 0.3);
		cursor: pointer;
	}
	form .input-select::after {
		right: 1.55rem;
		margin-top: -0.6rem;
		border-bottom: 0.3rem solid #fff;
		border-right: 0.3rem solid #fff;
	}
	form .input-article textarea {
		padding: 1rem;
		height: 15.5rem;
		font-size: 1.6rem;
	}
	form .input-article>p {
		font-size: 1rem;
	}
	form .error-txt {
		font-size: 1rem;
	}
	.contents-agreement {
		margin-top: 3.7rem;
		font-size: 1.4rem;
	}
	.price-area .ttl {
		padding-top: 0.5rem;
		font-size: 1.4rem;
	}
	.price-wtap .price-after .arrow {
		margin-right: 1rem;
	}
	#footerbottom {
		margin-left: 15px;
		margin-right: 15px;
		padding-bottom: 20px;
	}
}

/* 新ヘッダー */
.p-header {
	background-color: #ffffff;
	line-height: 0;
	height: 11rem;
	padding-top: 1.5rem;
	align-items: center;
	display: flex;
	justify-content: center;
}

.p-headerlink {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	row-gap: .6rem;
	transition: opacity 0.3s;
	width: fit-content;
}

.p-headerlink:hover {
	opacity: 0.65;
}

.p-header__upper {
	align-items: center;
	column-gap: 1.2rem;
	display: flex;
	justify-content: center;
	padding-left: 1rem;
}

.p-header__bottom {

}

.p-header-logo {
	aspect-ratio: 242/29;
	width: 24.2rem;
}

.p-header-area {
	align-items: center;
	background-color: #000;
	color: #fff;
	display: inline-flex;
	font-size: 1.3rem;
	font-weight: 700;
	height: 2.2rem;
	justify-content: center;
	line-height: 2.6rem;
	width: 5rem;
}

.p-header-copy {
	font-size: 1.2rem;
	line-height: 2.6rem;
}

@media screen and (max-width: 640px) {
	.p-header {
		height: 6.7rem;
		padding-top: 0;
	}
	.p-header__upper {
		column-gap: 1rem;
		padding-left: 0;
	}
	.p-header-logo {
		width: 18.2rem;
	}
	.p-header-area {
		font-size: 1rem;
		height: 1.65rem;
		line-height: 1;
		width: 3.75rem;
	}
	.p-header-copy {
		font-size: 1rem;
		line-height: 1;
	}
}

/* 新フッター */

.p-footer{
  background-color: #262626;
  color: #fff;
  height: 12.6rem;
  padding-top: 2.2rem;
}
.p-footer .contents-wrapper{
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 1.5rem;
  min-width: 105rem;
  width: calc((900/1366)*100%);
}
.p-footer-nav {
  display: flex;
  justify-content:space-around;
  font-size: 1.4rem;
}
.footer-link.ext-link:after{
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-left:.4rem;
  width:1.2rem;
  height:1.2rem;
}

.p-footer__copy{
  font-size: 1.1rem;
  text-align: center;
}

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

  .p-footer{
    height:19rem;
    padding-top: 2.2rem;
  }
  .p-footer .contents-wrapper{
    padding-bottom: 1rem;
    max-width: 100%;
    margin-bottom: 0;
    min-width: unset;
    row-gap: 1.3rem;
    width: 34.5rem;
  }

  .p-footer-nav{
    column-gap: calc((32/345)*100%);
    flex-wrap: wrap;
    font-size: 1.2rem;
    line-height: 2.6rem;
    justify-content: center;
  }
  .footer-link.ext-link:after{
    margin-left: 0.4rem;
    width: 1.4rem;
    height: 1.2rem;
  }

  .p-footer__copy{
    font-size: 1rem;
    text-align: center;
  }
}