@charset "utf-8";

#wpadminbar {
	position: fixed !important;
	display: none
}

:root {
	--color-main-1: #0A0C14;
	/*黒*/
	--color-main-2: #fff;
	/*白*/
	--color-main-3: #288296;
	/*緑系*/
	--color-body-bg: #fafbfc;
	/* body bg color */
	--color-link-1: #1967D2;
	/*リンクカラー*/
	--color-sub-1: #4c4d53;
	/*拝啓濃い目のグレー*/
	--color-sub-2: #e1fff3;
	/*シアン系*/
	--color-sub-3: #54C2B5;
	/*緑系2*/
	--color-sub-4: #F0F0F5;
	/*背景グレー*/
	--color-sub-5: #dce1e6;
	/* グレー*/
	--color-sub-6: #eaeaea;
	/* グレー　table bg*/
	--color-sub-7: #0086b3;
	/*緑系3*/
	--border-1: 1px solid #c8c8c8;
	--border-2: 1px solid var(--color-main-3);
	--header-height: 18.2rem;
}

/*----------------
Reset 
----------------*/
ul {
	list-style: none;
}

ul, li {
	margin: 0;
	padding: 0;
	text-align: left;
}

li {
	margin-bottom: 0.8rem;
	letter-spacing: 0.6px;
}

main li {
	line-height: 1.8
}

li:last-of-type {
	margin-bottom: 0;
}

img {
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}

iframe {
	max-width: 100%;
}

dl, dt, dd {
	margin: 0;
}

figure {
	margin: 0;
}

table {
	width: 100%;
	border-collapse: collapse;
}

table caption {
	text-align: left;
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 1.2rem;
}

th {
	vertical-align: middle;
	background-color: var(--color-sub-6);
}

th, td {
	padding: 4px
}

a {
	text-decoration: none;
	color: inherit;
	opacity: 1;
}

a.link {
	text-decoration: underline;
	text-underline-offset: 1px;
	color: var(--color-link-1);
}

a:hover {
	color: inherit;
	opacity: 0.68;
}

svg {
	max-width: 100%;
	width: 100%;
}

/* 見出し */
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	letter-spacing: 0.8px;
	margin-bottom: 1rem;
	line-height: 1.36;
}

h1 {
	font-size: 3.8rem;
	font-weight: 700;
}

h2 {
	font-size: 2.8rem;
	font-weight: 700;
}

h3 {
	font-size: 2.8rem;
	font-weight: 700;
}

h4, h5 {
	font-size: 2.1rem;
	font-weight: 700;
}

h1.h2 {
	text-align: center;
}

p {
	margin: 0;
	line-height: 2;
	font-size: 1.6rem;
	font-weight: 400;
	text-align: left;
}

main p {
	letter-spacing: 0.8px;
}

address, caption, em, th {
	font-style: normal;
}

figcaption {
	text-align: left;
	line-height: 1;
	letter-spacing: 0.6px;
	margin-top: 1rem;
	line-height: 1.25;
	font-size: 1.6rem;
}

/* Fluid-img */
img {
	max-width: 100%;
	height: auto;
	-o-object-fit: cover;
	object-fit: cover;
}

/* mw-wp-formのファイルアップロード部品に表示される『×』を消す */
.mwform-file-delete {
	visibility: hidden;
}

/* --------------------------------------------------
ベース
-------------------------------------------------- */
html {
	background-color: #fff;
	color: var(--color-main-1);
	font-family: 'Noto Sans JP', Helvetica, Arial, "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	font-size: 62.5%;
}

body {
	position: absolute;
	top: 0;
	min-width: 1280px;
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
	line-height: 1.5;
	background-color: #fff;
	overflow-x: hidden;
}
#body_wrapper {
	overflow-x: hidden;
}
main {
	position: relative;
	width: 100%;
	z-index: 10;
	text-align: center;
	padding-top: 7rem;
	display: block;
}

section {
	position: relative;
}

/* --------------------------------------------------
共通
-------------------------------------------------- */
.outer_wrapper {
	position: relative;
	min-width: 1280px;
	width: 100%;
}

.outer_container {
	width: 100%;
	max-width: 1280px;
	margin-right: auto;
	margin-left: auto;
}

.container {
	position: relative;
	max-width: 1080px;
	width: 100%;
	box-sizing: border-box;
	margin: auto;
}

.contents_box {
	margin: 5.4rem auto 3.5rem;
}

.flex_base.archive_box {
	flex-wrap: wrap;
	justify-content: flex-start;
}

.flex_base {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

main .flex_base>div {
	width: 45%;
}

main .flex_base>p {
	flex: 1;
}

.flex_base.base_child_half>div, .flex_base.base_child_half>p {
	width: 50%;
}

.widget {
	list-style-type: none;
}

/**** popular-posts *****/
.popular-posts {
	display: none;
}

.popular-posts.wpp-ajax {
	display: block;
}


.text_color_g {
	color: var(--color-main-3);
}


.btn_base_1 {
	position: relative;
	color: var(--color-main-3);
	text-align: center;
}

.btn_base_1 a {
	--color: var(--color-main-3);
	position: relative;
	width: 240px;
	height: 40px;
	border: var(--border-2);
	border-radius: 100px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--color);
}

.btn_base_1 a::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	right: 22px;
	background-image: url(../img/common/right_arrow_green.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 24px;
	height: calc(24px * (5/20));
}

.btn_base_2 {
	position: relative;
	color: var(--color-main-3);
	text-align: right;
	margin-top: 2rem;
}

.btn_base_2 a {
	--color: var(--color-main-3);
	position: relative;
	width: 140px;
	padding-bottom: 0.7rem;
	border-bottom: var(--border-2);
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	color: var(--color);
}

.btn_base_2 a::after {
	content: "";
	background-image: url(../img/common/right_arrow_green.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 24px;
	height: calc(24px * (5/20));
}

.btn_base_3 {
	position: relative;
	text-align: left;
}

.btn_base_3 a {
	position: relative;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: auto;
	padding-bottom: 5px;
	padding-left: 20px;
	font-size: 14px;
	color: var(--color-main-1);
	border-bottom: 1px solid var(--color-main-1);
}

.btn_base_3 a::before {
	content: "";
	position: absolute;
	left: 0;
	background-image: url(../img/common/left_arrow_black.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 30px;
	height: calc(30px * (3/20));
}

.btn_block_black {
	position: relative;
	text-align: center;
}

.btn_block_black a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 350px;
	width: 100%;
	background-color: var(--color-main-1);
	color: var(--color-main-2);
	height: 68px;
}

.form_link_btn {
	position: relative;
	text-align: center;
}

.form_link_btn a {
	display: inline-flex;
	width: 100%;
	max-width: 430px;
	height: 68px;
	align-items: center;
	justify-content: center;
	font-family: "游ゴシック", "YuGothic", "Yu Gothic", sans-serif;
	font-weight: 700;
	color: white;
	font-size: 1.8rem;
	background-color: var(--color-main-3);
}

.main_heading_box_1 {
	margin-bottom: 9rem;
}

.main_heading_box_1 h1 {
	font-size: 3.8rem;
	font-weight: 700;
	line-height: 1.38;
	margin-bottom: 1.6rem;
}

.main_heading_box_1 .heading_sub {
	color: var(--color-main-3);
	margin-bottom: 1.2rem;
	display: block;
}

.main_heading_box_1 p {
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0.6px;
}

.sub_heading_box_1 {
	margin-bottom: 5.6rem;
}

.sub_heading_box_1 h2 {
	text-align: center;
}

.contents_box h2, .heading_group_1 h2 {
	font-size: 2.8rem;
	letter-spacing: 1px;
	font-weight: 700;
	line-height: 1.58;
}

p.archive_date {
	font-size: 1.4rem;
	font-family: 'Barlow', sans-serif;
	text-align: left;
	font-weight: 400;
	color: #646464;
}

/***  parts   ***/

ul.list_initial_arrow_box li::before {
	content: "▶︎";
	color: var(--color-main-1);
	position: relative;
	display: inline-block;
	font-size: 1.4rem;
	margin-right: 0.2rem;
}

ul.list_initial_right_arrow_bg_green_box li::before {
	content: "";
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url(../img/common/list_right_arrow_bg_green.svg);
	background-repeat: no-repeat;
	background-size: cover;
	margin-right: 1rem;
	margin-top: 4px;
	transform: translatey(3px);
}

ul.list_initial_point_box li::before {
	content: "・";
	color: inherit;
	position: relative;
	display: inline-block;
	font-size: 1.4rem;
	margin-right: 0.2rem;
}

ul.list_initial_circle_box li::before {
	content: "●";
	color: inherit;
	position: relative;
	display: inline-block;
	font-size: 1.4rem;
	margin-right: 0.2rem;
}

ul.list_initial_gray_circle_box li::before {
	content: "●";
	color: #DCE1E6;
	position: relative;
	display: inline-block;
	font-size: 1.4rem;
	margin-right: 0.8rem;
}

ul.list_initial_check_box li {
	display: flex;
	align-items: flex-start;
}

ul.list_initial_check_box li::before {
	--size: 22px;
	content: "";
	min-width: var(--size);
	width: var(--size);
	height: var(--size);
	position: relative;
	top: 4px;
	display: inline-block;
	background-image: url("../img/common/list_initial_check.svg");
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 0.8rem;
}

.contents_tit_bg_black {
	background-color: var(--color-main-1);
	width: 100%;
	padding-top: 1.8rem;
	padding-bottom: 2rem;
	color: var(--color-main-2);
	text-align: center !important;
}

.contents_tit_bg_green {
	background-color: var(--color-main-3);
	width: 100%;
	padding-top: 1.8rem;
	padding-bottom: 2rem;
	color: var(--color-main-2);
	text-align: center !important;
}

.number_bg_black {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	background-color: var(--color-main-1);
	color: white;
	border-radius: 100px;
	font-size: 21px;
	font-weight: 700;
}

.attention_text {
	font-size: 1.4rem;
	font-weight: 400;
}


/***   header   ***/
.sns_link_box img {
	width: 2.9rem;
	height: auto;
	margin-right: 1.7rem;
}

.link_tel {
	font-family: 'Barlow', sans-serif;
	font-weight: 600;
}

header#header {
	--header-border: 1px solid #0A0C14;
	position: relative;
	top: -1px;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	height: var(--header-height);
	padding-top: 2.8rem;
	background: transparent;
	text-align: left;
	opacity: 1;
	z-index: 9990;
	pointer-events: none;
	transition: 0.25s ease-in-out;
}

body.home header#header {
	position: fixed;
	min-width: 1px;
}

.header__bg img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.54s ease-in-out 0.05s;
	z-index: -1;
}

body[data-full-screen-slider="1"] .header__bg img:nth-of-type(1),
body[data-full-screen-slider="2"] .header__bg img:nth-of-type(2),
body[data-full-screen-slider="3"] .header__bg img:nth-of-type(3),
body[data-full-screen-slider="4"] .header__bg img:nth-of-type(4),
body[data-full-screen-slider="5"] .header__bg img:nth-of-type(5),
body[data-full-screen-slider="6"] .header__bg img:nth-of-type(6) {
	opacity: 1;
	transition: opacity 0s ease-in-out;
	z-index: -10;
}

body[data-full-screen-slider="1"] .header__bg img:nth-of-type(1) {
	transition: opacity 0.22s ease-in-out;
	z-index: -1;
}

header a,
header label,
header span {
	pointer-events: all;
	cursor: pointer;
}


.header__inner {
	max-width: 1600px;
	margin: 0 auto;
}

.header__logo {
	width: 96%;
	max-width: 1300px;
	margin: 0 auto 2.2rem auto;
	text-align: right;
}

.header__logo img {
	max-width: 15rem;
}

.header__sp_contact {
	position: absolute;
	top: 0;
	right: 0.1rem;
	transform: translate(-100%);
	display: block;
	width: auto;
	height: 100%;
	aspect-ratio: 1 / 1;
	background: #000;
	border: 0.22rem solid #000;
	box-sizing: border-box;
}
.header__sp_contact::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translatex(-50%) translatey(-47%);
	width: 62.8%;
	height: auto;
	aspect-ratio: 4/3;
	background: #fff;
	mask-image: url(../img/common/icon/icon-mail01.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
}
.header__sp_contact:hover {
	opacity: 1;
	background: #fff;
}
.header__sp_contact:hover::before {
	background: #000;
}


.header__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	-moz-column-gap: 7.6rem;
	column-gap: 7.6rem;
	width: 96%;
	max-width: 1250px;
	margin: 0 0 0 auto;
}

.header__menu {
	flex: 1;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.header__menu_item>a,
.header__menu_item>span {
	display: block;
	font-size: 1.7rem;
	font-weight: 500;
}

.header__menu_parent {
	position: relative;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	-moz-column-gap: 0.82em;
	column-gap: 0.82em;
}

.header__menu_parent::after {
	content: "";
	position: relative;
	display: block;
	width: 0.55em;
	height: auto;
	aspect-ratio: 1/1;
	border: 2px solid #000;
	border-left: 0;
	border-top: 0;
	transform: translateY(-25%) rotate(45deg);
	pointer-events: none;
}

.header__menu_child {
	position: absolute;
	top: 100%;
	left: 0;
	padding-top: 1.3rem;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	transform: rotateX(90deg) translateZ(0);
	transform-origin: top;
	opacity: 0;
	pointer-events: none;
	transition: all 0.87s;
}

.header__menu_parent:hover .header__menu_child {
	transform: rotateX(0) translateZ(0);
	opacity: 1;
	pointer-events: all;
}

.header__menu_child ul {
	background: #fff;
	padding-bottom: 1.5rem;
	box-shadow: 0.2rem 0.2rem 0.4rem #33333355;
}

.header__menu_child li {
	margin: 0;
	padding-top: 0.2em;
	padding-left: 0.4em;
	padding-right: 0.55em;
	font-size: 1.5rem;
}

.header__menu_child li:nth-of-type(n+2) {
	padding-top: 0.82em;
}

.header__menu_child a {
	display: block;
	min-width: 6.2em;
	padding: 0.76em 0.4em 0.11em 0.55em;
	padding-top: 0.76em;
	padding-left: 0.55em;
	padding-right: 0.4em;
	border-bottom: 1px solid #3e3a3a;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.6;
	white-space: nowrap;
	pointer-events: none;
}

.header__menu_parent:hover .header__menu_child a {
	pointer-events: all;
}

.header__contact {}

.header__contact a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28rem;
	height: 4.7rem;
	padding-bottom: 0.14em;
	box-sizing: border-box;
	background: #3e3a3a;
	color: #fff;
	border: 2px solid #3e3a3a;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: 0.055em;
	line-height: 1.1;
}

.header__contact a:hover {
	opacity: 1;
	background: #fff;
	color: #3e3a3a;
}


header.reason_group_header li.header_menu_reason,
header.responsebranding_group_header li.header_menu_responsebranding,
header.service_group_header li.header_menu_service,
body.post-type-archive-works header li.header_menu_works,
body.single-works header li.header_menu_works,
body.post-type-archive-voice header li.header_menu_voice,
body.single-voice header li.header_menu_voice,
header.company_group_header li.header_menu_company {}



/* fixed */
#fixed_header {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 0.26s ease-in-out;
	height: 80px;
	background-color: white;
	box-shadow: 0px 6px 6px rgba(0, 0, 0, 0.3);
	z-index: 1;
	pointer-events: none;
}

body.home #fixed_header {
	display: none;
}


#fixed_header .header__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	-moz-column-gap: 20px;
	column-gap: 20px;
	width: 96%;
	max-width: 1400px;
	margin: 0 auto;
	box-sizing: border-box;
	height: 100%;
	padding: 2rem 0;
}

#fixed_header .header__nav {
	align-items: center;
	margin: 0;
	width: 100%;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
}

#fixed_header .header__logo {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0;
}

#fixed_header .header__logo img {
	width: 140px;
	height: auto;
	max-height: 100%;
	margin: 0;
	padding: 0;
	-o-object-fit: contain;
	object-fit: contain;
	transform: translateZ(0);
}

#fixed_header .header__menu_parent::after {
	display: none;
}

#fixed_header ul#header__menu {
	height: 40px;
}

#fixed_header ul#header__menu>li {
	color: var(--color-main-1);
	border: 0;
	border-left: var(--border-1);
	flex: 1;
	width: auto;
	height: 100%;
	margin: 0 0 0.25rem;
}

#fixed_header ul#header__menu>li>a {
	display: inline-flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	text-align: center;
}

#fixed_header .header__menu_item>a,
#fixed_header .header__menu_item>span {
	font-size: 1.4rem;
}

#fixed_header .header__menu_child a {}

#fixed_header .header__contact a {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 50px;
	border-radius: 0.56rem;
	font-size: 14px;
	font-weight: 700;
}

#fixed_header .header__contact a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translatey(-50%) translatex(-1.18em);
	display: block;
	width: 0.92em;
	height: auto;
	aspect-ratio: 1/1;
	-webkit-mask-image: url(../img/common/icon/icon-arrow01_white.svg);
	mask-image: url(../img/common/icon/icon-arrow01_white.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: transform 0.1s ease;
}


@media print, screen and (min-width : 768px) {
	.header__logo {
		width: 100%;
		max-width: 10000px;
		margin: 0 0 2.2rem auto;
		text-align: right;
	}

	.header__logo img {
		position: relative;
		display: inline-block;
		margin-left: auto;
		margin-right: 28rem;
		max-width: 15rem;
		transform: translateX(100%);
	}

	.header__sp_contact {
		display: none;
	}

	#header.fixed_header_active #fixed_header {
		display: block;
		opacity: 1;
		z-index: 100;
		pointer-events: auto;
	}

	#header:not(.fixed_header_active) #fixed_header a,
	#header:not(.fixed_header_active) #fixed_header label,
	#header:not(.fixed_header_active) #fixed_header span {
		pointer-events: none;
	}
}

@media print, screen and (max-width : 768px) {
	.header__logo {
		display: none;
	}

	.header__nav {
		position: absolute;
		top: 0;
		right: 0;
		transform: translateX(100%);
		background: #3f3d3d;
		color: #fff;
		width: 82.2%;
		min-height: 100vh;
		min-height: 100svh;
		padding: 6.9rem 2.2rem 7rem 4.0rem;
		box-sizing: border-box;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		row-gap: 4rem;
		overflow: auto;
		opacity: 0;
		transition: transform 0.76s ease, opacity 0.5s ease;
	}

	#hamburger-menu-button-check:checked~.header__nav {
		opacity: 1;
		transform: translateX(0);
	}

	.header__menu {
		width: 100%;
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
	}

	.header__menu_item {
		margin-bottom: 2.2rem;
		flex-direction: column;
		align-items: flex-start;
	}

	.header__menu_item>a,
	.header__menu_item>span {
		display: block;
		width: 100%;
		padding-bottom: 0.15em;
		border-bottom: 2px solid #fff;
	}

	.header__menu_parent::after {
		position: absolute;
		top: 0.5em;
		right: 1rem;
		width: 0.5em;
		border-color: #fff;
	}

	.header__menu_parent.is-open::after {
		transform: translateY(-17%) rotate(-135deg);
	}

	.header__menu_child {
		display: none;
		position: relative;
		top: 0;
		left: 0;
		opacity: 1;
		transform: translateZ(0);
		margin: 0;
	}

	.header__menu_parent.is-open .header__menu_child {
		display: block;
	}

	.header__menu_child ul {
		background: transparent;
		padding-bottom: 0;
	}

	.header__menu_child li {
		font-size: 1.32rem;
		padding-left: 0.1em;
	}

	.header__menu_child a {
		padding-top: 0.2em;
		text-decoration: underline;
		pointer-events: all;
		white-space: normal;
	}

	.header__contact {
		width: 100%;
	}

	.header__contact a {
		position: relative;
		width: 100%;
		height: 5.0rem;
		background: #fff;
		color: #3f3d3d;
	}

	.header__contact a::after {
		content: "";
	}

	.header__contact a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0.4em;
		;
		transform: translateY(-50%);
		display: block;
		width: 1.3em;
		height: auto;
		aspect-ratio: 1/1;
		background-image: url(../img/common/icon/link_arrow01--black.svg);
		background-repeat: no-repeat;
		background-size: contain;
		transform: translateY(-50%) rotate(1deg);
		transition: transform 0.22s;
	}

	.header__contact a:hover::after {
		transform: translateY(-50%) rotate(-30deg);
	}

	#hamburger-menu-button {
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		width: auto;
		height: 100%;
		aspect-ratio: 1/1;
		top: 0;
		right: 0;
		cursor: pointer;
		z-index: 9990;
		margin: 0;
		background-color: #3f3d3d;
		border-radius: 2px;
	}

	#hamburger-menu-button>span {
		position: relative;
		width: 60%;
	}

	#hamburger-menu-button>span,
	#hamburger-menu-button>span::before,
	#hamburger-menu-button>span::after {
		display: block;
		height: 0.2rem;
		border-radius: 0.2rem;
		background-color: var(--color-main-2);
		transition: all 0.45s ease-in-out, height 0.31s ease-in-out;
		transition: all 0.45s ease-in-out, height 0.31s ease-in-out, -webkit-all 0.45s ease-in-out, -webkit-height 0.31s ease-in-out;
		z-index: 9990;
	}

	#hamburger-menu-button>span::before,
	#hamburger-menu-button>span::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}

	#hamburger-menu-button>span::after {
		transform: translateY(1.15rem);
	}

	#hamburger-menu-button>span::before {
		transform: translateY(-1.15rem);
	}

	#hamburger-menu-button-check:checked~#hamburger-menu-button>span {
		height: 0;
	}

	#hamburger-menu-button-check:checked~#hamburger-menu-button>span::before {
		transform-origin: center center;
		transform: translatey(-1px) rotate(225deg);
		background-color: var(--color-main-2);
	}

	#hamburger-menu-button-check:checked~#hamburger-menu-button>span::after {
		transform: translatey(-1px) rotate(-225deg);
		background-color: var(--color-main-2);
	}

	/* fixed */
}


/***   パンくずリスト   ***/
body.home .breadcrumbs {
	display: none;
}

.breadcrumbs {
	margin-top: 2rem;
	font-size: 12px;
}

.breadcrumbs>span {
	padding-right: 1rem;
}

.breadcrumbs>span+span {
	padding-left: 1rem;
}

/***   footer   ***/
footer {
	background-color: var(--color-main-1);
	color: var(--color-main-2);
}

footer #footer_inner {
	padding: 80px 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

footer #footer_inner p {
	text-align: left;
}

footer .footer_inner_block {
	--footer-border: 1px solid #C4C4C4;
	box-sizing: border-box;
}

footer .footer_inner_block:nth-child(1) {
	width: 304px;
	padding-right: 60px;
}

footer .footer_logo {
	width: 150px;
	margin-bottom: 3.1rem;
}

footer .footer_logo img {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
	aspect-ratio: 1/0.386;
	-o-object-position: left;
	object-position: left;
}

footer .footer_contact_information p {
	margin-bottom: 2.2rem;
	font-size: 1.4rem;
	line-height: 2.8rem;
	letter-spacing: 0.4px;
	color: #E6E9EB;
}

footer .footer_sns_link.sns_link_box {
	margin-bottom: 4rem;
}

footer .footer_contact {
	width: 244px;
	height: 60px;
	margin-bottom: 5.6rem;
}

footer .footer_contact a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border: var(--footer-border);
}

footer .footer_contact img {
	width: 20px;
	height: 13px;
	padding-right: 8px;
}

footer #copyright_ p {
	line-height: 1;
}

footer #copyright_ small {
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.4px;
}

footer .footer_inner_block:nth-child(2) {
	width: 396px;
	padding-left: 2rem;
	padding-right: 2rem;
	border-left: var(--footer-border);
	border-right: var(--footer-border);
}

footer .footer_inner_block:nth-child(3) {
	flex: 1;
	padding-left: 2rem;
}

footer .footer_menu li {
	color: #E6E9EB;
	margin-bottom: 2.6rem;
	line-height: 1;
	font-size: 1.6rem;
	font-weight: 700;
}

footer .footer_menu_child {
	padding-top: 2rem;
	padding-left: 2rem;
	line-height: 1;
}

footer .footer_menu_child>li {
	margin-bottom: 1.4rem;
	font-size: 1.4rem;
	font-weight: 400;
}

footer .footer_menu li:last-of-type, footer .footer_menu li:last-of-type .footer_menu_child>li:last-of-type {
	margin-bottom: 0;
}

#footer_sns {
	width: 90px;
}

#footer_sns ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#footer_sns img {
	width: 30px;
	height: 30px;
}

#footer_copyright {
	text-align: center;
	font-size: 1.5rem;
}

#footer_copyright small {
	font-size: inherit;
}


/***   slick   ***/
body .slick-dots li button:before {
	font-size: 2.8rem;
	margin-top: 1.6rem;
}

body .slider {
	display: none;
	height: auto;
}

body .slider.slick-initialized {
	height: auto;
	display: block;
	/*slick-initializedが付与されたら表示*/
}

.slick-slide img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

body .slick-prev, body .slick-next {
	z-index: 9999;
	display: block;
	width: 0;
	height: 0;
}

body .slick-prev {
	left: 148px;
}

body .slick-next {
	right: 148px;
}

body .slick-prev::before, body .slick-next:before {
	content: "";
	position: absolute;
	display: block;
	width: 46px;
	height: 36px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

body .slick-prev::before {
	left: 0;
	background-image: url(../img/common/left_arrow_black.svg);
}

body .slick-next::before {
	right: 0;
	background-image: url(../img/common/right_arrow_black.svg);
}


/***   form   ***/
.mw_wp_form input[type="text"], .mw_wp_form input[type="email"], .mw_wp_form select, .mw_wp_form textarea {
	width: 100%;
	box-sizing: border-box;
	background-color: var(--color-sub-6);
	border: 0;
	border-radius: 3px;
	font-size: 1.6rem;
	color: #000;
}

.mw_wp_form span>input[type="text"] {
	width: auto;
}

.mw_wp_form input[type="text"], .mw_wp_form input[type="email"] {
	height: 44px;
	padding: 12px 8px;
}

.mw_wp_form select {
	height: 44px;
	padding-left: 10px;
	cursor: pointer;
}

.mwform-checkbox-field-text>span {
	font-size: 0.92em;
}

.mw_wp_form textarea {
	height: 140px;
	padding: 12px 8px;
	font-family: inherit;
}

.mw_wp_form input[type="checkbox"] {
	transform: scale(1.5) translatey(0.8px);
	margin-right: 0.8rem;
}

.mw_wp_form .vertical-item+.vertical-item {
	margin-top: 1rem;
}

.mw_wp_form .submit_btn_1 {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.1rem;
	width: 100%;
	max-width: 440px;
	height: 68px;
	color: var(--color-main-2);
	background-color: var(--color-main-3);
	text-align: center;
	border: 0;
	border-radius: 2px;
	margin: auto;
	cursor: pointer;
}

.mw_wp_form .prev_btn_1 {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.1rem;
	width: 100%;
	max-width: 440px;
	height: 68px;
	color: var(--color-main-2);
	background-color: var(--color-main-1);
	text-align: center;
	border: 0;
	border-radius: 2px;
	margin: auto;
	cursor: pointer;
	margin-right: 20px;
}

.mw_wp_form .contact_btn_block {
	max-width: 520px;
	width: 100%;
	margin: auto;
}

.mw_wp_form .error {
	position: relative;
	top: 0px;
	padding: 0;
	width: auto;
	min-width: 115px;
	height: 40px;
	color: #FB0909 !important;
	line-height: 1.9;
	text-align: left;
	background: transparent;
	z-index: 1;
	display: block;
	font-weight: 400;
	font-size: 1.5rem;
}

.mw_wp_form_confirm .mail_confirm_none {
	display: none !important;
}

.cotact_box {
	width: 100%;
}

.mw_wp_form dl {
	margin-bottom: 2rem;
}

.mw_wp_form dl.flex_base {
	justify-content: flex-start;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}

.mw_wp_form dl.required dt {
	position: relative;
}

.mw_wp_form.mw_wp_form_input dl.required dt::after {
	content: "必須";
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	right: 0;
	padding: 1.5px 6px;
	border-radius: 1px;
	color: white;
	font-size: 10px;
	line-height: 15px;
	background-color: var(--color-main-3);
}

.mw_wp_form dt {
	font-size: 1.4rem;
	text-align: left;
}

.mw_wp_form dd {
	font-size: 1.6rem;
	text-align: left;
}

.mw_wp_form dl.flex_base dd {
	flex: 1;
}

.mw_wp_form dd.flex_base {
	justify-content: flex-start;
}

.mw_wp_form dd>div {
	margin-bottom: 0.5rem;
}

.mw_wp_form dd.>div:last-of-type {
	margin: 0;
}

.mw_wp_form dd.flex_base>div:last-of-type {
	margin-right: 0;
}

.mw_wp_form span>input[type="text"].contact_address_zip {
	width: 80px;
}

body .mw_wp_form .error {
	height: auto;
}

/* confirm */
.mw_wp_form.mw_wp_form_confirm dt {
	word-break: break-all;
}

/* thanks */
.mw_wp_form_complete h3 {
	margin-bottom: 1.6rem;
}

.mw_wp_form_complete p {
	text-align: center;
	margin-bottom: 4.7rem;
}


/*******************
* pager
*******************/
nav.pager_box {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	flex-direction: row;
	flex-wrap: nowrap;
	text-align: center;
	height: 80px;
	border-top: 1px solid #E6E9EB;
	border-bottom: 1px solid #E6E9EB;
	margin-top: 6rem;
}

nav.pager_box ul.page-numbers {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 230px;
	width: auto;
}

nav.pager_box ul.page-numbers li {
	margin: 0;
}

nav.pager_box ul.page-numbers li a, nav.pager_box ul.page-numbers li span.page-numbers {
	display: inline-block;
	width: 32px;
	text-align: center;
	font-size: 18px;
}

nav.pager_box ul.page-numbers li .prev, nav.pager_box ul.page-numbers li .next {
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	color: #00000000;
	background-color: black;
	width: 40px;
	height: 40px;
}

nav.pager_box ul.page-numbers li .prev {
	left: -42px;
	transform: translatey(-50%) translatex(-100%);
}

nav.pager_box ul.page-numbers li .next {
	right: -42px;
	transform: translatey(-50%) translatex(100%);
}

nav.pager_box ul.page-numbers li .current {
	color: var(--color-main-3);
}

nav.pager_box ul.page-numbers li .prev::before, nav.pager_box ul.page-numbers li .next::before {
	content: "";
	--border-color: white;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translatey(-50%) translatex(-79%);
	width: 0;
	height: 0;
	border-top: 7.5px solid transparent;
	border-bottom: 7.5px solid transparent;
	border-left: 13px solid transparent;
	border-right: 13px solid white;
}

nav.pager_box ul.page-numbers li .next::before {
	border-top: 7.5px solid transparent;
	border-bottom: 7.5px solid transparent;
	border-left: 13px solid white;
	border-right: 13px solid transparent;
	transform: translatey(-50%) translatex(-21%);
}


/******************** 
* PAGE
**********************/
/***   page   ***/
body.page main p {
	letter-spacing: 0.6px;
}

body.page main .contents_text p {
	margin-bottom: 3rem;
}

body.page main .contents_text p:last-of-type {
	margin-bottom: 0;
}

body.page main .contents_text {
	margin-bottom: 4rem;
}

body.page main .flex_base>.contents_text {
	margin-bottom: 0;
}

table th, main table td {
	border: var(--border-1);
	vertical-align: middle;
	text-align: center;
	font-size: 1.4rem;
	color: var(--color-main-1);
	font-weight: 400;
}


/***   PAGE reason   ***/
#page_reason_group .contents_box {
	margin-bottom: 8rem;
	justify-content: space-between;
}

#page_reason_group .contents_box .btn_base_2 a {
	width: 210px;
	font-size: 1.4rem;
}

#page_reason_group .contents_box h2 {
	text-align: left;
	letter-spacing: 0;
	margin-bottom: 1.8rem;
}



/****************************************/
.sp_only {
	display: none;
}

.pc_only {
	display: block;
}

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

レスポンシブ対応 768px　SP

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

@media print, screen and (max-width : 768px) {
	.sp_only {
		display: block;
	}

	.pc_only {
		display: none;
	}

	:root {
		--header-height: 5.0rem;
	}

	body {
		overflow-x: hidden;
		min-width: 100%;
		width: 100%;
		position: absolute;
		top: 2px;
	}

	main {
		padding-top: 4.5rem;
	}


	.container {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	main.container {
		margin-bottom: 9rem;
	}

	.outer_wrapper {
		min-width: 100%;
		width: 100%;
	}

	.flex_base {
		flex-direction: column;
	}

	main .flex_base>div {
		width: 100%;
	}

	.flex_base.archive_box {
		flex-direction: row;
	}

	.main_heading_box_1 {
		margin-bottom: 6rem;
	}

	.main_heading_box_1 h1 {
		font-size: 3.2rem;
		margin-bottom: 1.5rem;
	}

	.main_heading_box_1 p {
		letter-spacing: 0.2px;
		line-height: 1.46;
	}

	.contents_box h2, .heading_group_1 h2 {
		font-size: 2.4rem;
	}

	.sub_heading_box_1 {
		margin-bottom: 3.8rem;
	}

	.btn_base_3 {
		text-align: right;
	}


	/*----------------
	Reset 
	----------------*/
	h1 {
		font-size: 3.2rem;
	}

	h2 {
		font-size: 2.4rem;
	}

	h3 {
		font-size: 2.4rem;
	}

	h4, h5 {
		font-size: 2.1rem
	}

	p {
		margin: 0;
		line-height: 1.9;
		font-size: 1.6rem;
		font-weight: 400;
	}

	figcaption {
		font-size: 1.6rem;
	}

	/* --------------------------------------------------
	ベース
	-------------------------------------------------- */
	/* HTML */

	/* BODY */

	/*   共通   */

	/*   headrer   */
	.sns_link_box img {
		width: 3.8rem;
	}


	/*   footer   */
	footer #footer_inner {
		padding: 6rem 0 4rem;
		flex-direction: column;
	}

	footer #footer_inner .footer_inner_block {
		width: 100%;
	}

	footer #footer_inner .footer_inner_block:nth-child(1) {
		order: 3;
		padding-left: 2rem;
		;
		padding-right: 2rem;
		display: flex;
		flex-direction: column;
	}

	footer .footer_logo {
		order: 2;
		margin-bottom: 2rem;
	}

	footer .footer_contact_information {
		order: 3;
	}

	footer .footer_sns_link.sns_link_box {
		order: 4
	}

	footer .footer_contact {
		order: 1;
		width: 100%;
		max-width: 335px;
	}

	footer #copyright_ {
		order: 5;
	}

	footer #footer_inner .footer_inner_block:nth-child(2) {
		order: 1;
		padding-right: 0;
		border: none;
	}

	footer .footer_menu li:last-of-type, footer .footer_menu li:last-of-type .footer_menu_child>li:last-of-type {
		margin-bottom: 2.5rem;
	}

	footer #footer_inner .footer_inner_block:nth-child(3) {
		order: 2;
		margin-bottom: 2rem;
	}

	footer .footer_menu_child {
		display: none;
	}

	/*   slick   */
	body .slick-prev {
		left: 10px;
	}

	body .slick-next {
		right: 10px;
	}

	/******************
	* PageNavi
	* *****************/
	nav.pager_box ul.page-numbers li .prev {
		left: -2vw;
	}

	nav.pager_box ul.page-numbers li .next {
		right: -2vw;
	}

	nav.pager_box {
		margin-top: 4rem;
	}

	/******************** 
	* PAGE
	**********************/
	/***   page   ***/
	body.page main .flex_base>.contents_img, body.page main .flex_base>.contents_text, body.page main .flex_base>div, body.page main .flex_base>p {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 2.5rem;
	}

	body.page main .flex_base.base_child_half>div, body.page main .flex_base.base_child_half>p {
		width: 100%;
		margin-bottom: 0;
	}

	body.page .contents_box {
		margin-top: 3.5rem;
	}

	body.page main .contents_text {
		margin-bottom: 2rem;
	}

	body.page main .flex_base>.contents_text {
		margin-bottom: 1.6rem;
	}

	body.page main .contents_text p {
		margin-bottom: 1.8rem;
	}

	/***   page reason   ***/
	#page_reason_group .contents_box {
		margin-bottom: 5rem;
	}

	/******   form   *****/
	.contact_wrap {
		padding: 2.2rem;
		padding-bottom: 5rem;
	}

	.mw_wp_form dl.flex_base dt {
		width: 100%;
		margin-bottom: 1rem;
	}

	.mw_wp_form dd {
		font-size: 1.4rem;
	}

	.mw_wp_form dd.flex_base {
		flex-direction: row;
	}

	.mw_wp_form dl.flex_base dd {
		width: 100%;
	}

	body.page .mw_wp_form dd.flex_base>div {
		width: 48.8%;
		margin: 0;
		margin-right: 1rem;
	}

	.mw_wp_form .vertical-item+.vertical-item {
		margin-top: 1.8rem;
	}

	.mw_wp_form .contact_btn_block {
		margin-top: 3.8rem;
		align-items: center;
	}

	.mw_wp_form .prev_btn_1 {
		margin: 0;
		margin-bottom: 2rem;
	}

	.mw_wp_form .submit_btn_1 {
		margin: 0;
	}

	.mw_wp_form.mw_wp_form_input dl.required dt::after {
		position: relative;
		top: 0;
		left: 0;
		transform: translate(0);
		margin-left: 1rem;
	}

	.mw_wp_form_complete p {
		margin-bottom: 4rem;
	}

}

@media print, screen and (min-width : 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}

	/******************** 
	* PAGE
	**********************/
	/***   page   ***/
	#page_reason_group section:nth-of-type(2n) .contents_box {
		flex-direction: row-reverse;
	}

	#page_reason_group section:nth-of-type(2n) .contents_box .btn_base_2 {
		text-align: left;
	}

	#page_reason_group .contents_box>div.contents_img {
		width: 50%;
		height: 360px;
	}

	#page_reason_group .contents_box>div.contents_text {
		width: calc(50% - 6rem);
	}


	body.page main .flex_base>.contents_text {
		margin-bottom: 0rem;
	}

	main.container {
		margin-bottom: 14rem;
	}

	/*************
	header
	**************/

	/*****   form   *******/
	.mw_wp_form dl.flex_base dt {
		width: 220px;
		margin-right: 1.6rem;
	}

	body.page .mw_wp_form dd.flex_base>div {
		width: 210px;
		margin: 0;
		margin-right: 1rem;
	}

	.mw_wp_form .contact_btn_block {
		margin-top: 6rem;
	}

	.mw_wp_form dl.flex_base.contact_content_block {
		align-items: flex-start;
	}

	.mw_wp_form dl.contact_content_block dt {
		padding-top: 1.2rem;
	}

}