@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-1: 87px;
	--header-height-2: 80px;
	--header-height: calc(var(--header-height-1) + var(--header-height-2));
}

/*----------------
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: var(--color-body-bg);
}

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%;
	-webkit-transform:translatey(-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;
	-webkit-transform:translatey(3px);
	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;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--header-height);
	background: var(--color-main-2);
	text-align: left;
	opacity:1;
	z-index:9990;
}

header#header p{text-align: left;}

header .header_inner {
	width: 90%;
	height:var(--header-height-1);
	padding:0;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

header .header_inner .logo_phrase {
	width:auto;
	height: 100%;
	margin-right: 48px;
	align-items: center;
	font-weight: 700;
	padding-top: 1px;
}
header .header_inner .logo_phrase .header_text {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.5;
}
header .header_inner .logo_phrase .header_text_bigger {
	font-size: 2.0rem;
}

header .header_inner .logo_svg {
	width: 158px;
	height:auto;
	padding-right: 18px;
}

header .header_inner .header_box{
	height: 0;
	align-items:center;
}
@media print, screen and (min-width : 768px) {
	header .header_inner .header_box{
		height: 100%;
		align-items:center;
	}
}
header .header_inner .header_main_tel {
	margin-right: 1.18rem;
}
header .header_inner .header_main_tel p{
	font-size: 1.2rem;
	line-height: 1.1;
	letter-spacing: 0;
}
header .header_inner .header_main_tel .header_main_tel__tel {
	margin-bottom: 0.4rem;
	font-size: 2.5rem;
	font-weight: 500;
}

header .header_inner .header_main_tel .header_main_tel__time {
	font-size: 1rem;
	letter-spacing: -0.04em;
}

header .header_inner .header_sub_tel li,header .header_inner .header_sub_tel p{
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0;
	line-height:1.5rem;
}
header .header_contact {
	width: auto;
}
header .header_contact a {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 44px;
	padding: 0.38em 2.9em 0.47em 1.3em;
	border-radius: 0.56rem;
	background-color: var(--color-sub-7);
	color: var(--color-main-2);
	font-size: 1.3rem;
	font-weight: 700;
}
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;
	background-image: url(../img/common/icon/icon-arrow01_white.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transition: transform 0.1s ease;
}
header .header_contact a:hover::after {
	transform: translatey(-50%) translatex(-0.69em);
}

header .header_inner .header_nav {
	height: 100%;
	font-size: 1.4rem;
	font-weight: 400;
}
header ul#header_menu {
	position:relative;
	display: flex;
	justify-content: center;
	align-items:center;
	height:100%;
}
header ul#header_menu li {
	position:relative;
	width: 180px;
	box-sizing: border-box;
	height: 100%;
	border-right: var(--header-border);
	margin-bottom: 0;
}
header ul#header_menu li a{
	display: inline-flex;
	width: 100%;
	height:100%;
	align-items:center;
	justify-content: center;
	text-align: center;
	font-size: 1.4rem;
}
header p{
	margin: 0;
}

header ul#header_menu .contact a {
	position:relative;
	padding-left: 1.6em;
	z-index: 10;
}

header .sub-menu {
	position: absolute;
	top: 1em;
	left: 50%;
	-webkit-transform:translatex(-50%) translatey(-24px) translatez(0);
	transform:translatex(-50%) translatey(-24px) translatez(0);
	text-align:center;
	opacity: 0;
	transition:all 0.38s ease-in-out;
	pointer-events: none;
	z-index: 1;
}
header ul#header_menu li:hover a + .sub-menu{
	-webkit-transform: translatex(-50%) translatey(0) translatez(0);
	transform: translatex(-50%) translatey(0) translatez(0);
	opacity: 1;
	pointer-events: all;
}
header .sub-menu li {
	margin-top: 2.2rem;
}
header ul#header_menu .contact a {
	--color_: var(--color);
}
header ul#header_menu .contact a:hover {
	--color_: var(--color-hover);
}
header ul#header_menu .contact a::before, header ul#header_menu .contact a::after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 0;
	height: 0;
	transition:var(--transition_);
}
header ul#header_menu .contact a:hover::before, header ul#header_menu .contact a:hover::after {
	transition: -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
	transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
	transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
header ul#header_menu .contact a::before{
	-webkit-transform: translatey(-49%);
	transform: translatey(-49%);
	width: 0.95em;
	height: 0.7em;
	border: 1.4px solid var(--color_);
	border-radius: 2px;
}
header ul#header_menu .contact a::after{
	width: 0.72em;
	height: 0.66em;
	border-left: 1.6px solid var(--color_);
	border-bottom: 1.6px solid var(--color_);
	-webkit-transform-origin: left bottom;
	transform-origin: left bottom;
	-webkit-transform: translatey(-100%) translatex(66%) rotatex(55deg) rotatez(-45deg);
	transform: translatey(-100%) translatex(66%) rotatex(55deg) rotatez(-45deg);
}

header#header.fixed_header_active #fixed_header {
	display:block;
	opacity: 1;
	z-index: 100;
	pointer-events:auto;
}
header#header #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;
}

header ul#header_menu div.menu_child {
	width: 260px;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
}
header ul#header_menu div.menu_child ul {
	color:var(--color-main-1);
	text-align: left;
}
header ul#header_menu div.menu_child li{
	border: none!important;
}
header ul#header_menu div.menu_child li a:hover {
	background-color: var(--color-sub-6);
	opacity: 1;
}

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 {
	border-bottom: 2px solid var(--color-main-3);
}


/***   パンくずリスト   ***/
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;
	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"] {
	-webkit-transform: scale(1.5) translatey(0.8px);
	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%;
	-webkit-transform: translatey(-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%;
	-webkit-transform:translatey(-50%);
	transform:translatey(-50%);
	color: #00000000;
	background-color:black;
	width: 40px;
	height: 40px;
}
nav.pager_box ul.page-numbers li .prev {
	left: -42px;
	-webkit-transform: translatey(-50%) translatex(-100%);
	transform: translatey(-50%) translatex(-100%);
}
nav.pager_box ul.page-numbers li .next {
	right: -42px;
	-webkit-transform: translatey(-50%) translatex(100%);
	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%;
	-webkit-transform:translatey(-50%) translatex(-79%);
	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;
	-webkit-transform:translatey(-50%) translatex(-21%);
	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: 130px;
	}
	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;
	}

	header#header {
		z-index: 9990;
		box-shadow: 0px 6px 6px 0px #0000004D;
	}
	header#header .header_box p{text-align: center;}

	#hamburger-menu-button {
		position: fixed;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		top: 2.2rem;
		right: 2.2rem;;
		cursor: pointer;
		z-index: 9995;
		margin: 0;
		background-color: var(--color-main-3);
		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: 2.8px;
		border-radius: 1px;
		background-color: var(--color-main-2);
		transition: -webkit-transform 0.45s ease-in-out,-webkit-height 0.31s ease-in-out;
		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 {
		-webkit-transform: translateY(8.8px);
		transform:translateY(8.8px);
	}
	#hamburger-menu-button>span::before {
		-webkit-transform:translateY(-8.8px);
		transform: translateY(-8.8px);
	}
	#hamburger-menu-button-check:checked ~ #hamburger-menu-button>span {
		height: 0;
	}
	#hamburger-menu-button-check:checked ~ #hamburger-menu-button>span::before {
		-webkit-transform-origin: center center;
		transform-origin: center center;
		-webkit-transform:translatey(-1px) rotate(225deg);
		transform:translatey(-1px) rotate(225deg);
		background-color: var(--color-main-2);
	}
	#hamburger-menu-button-check:checked ~ #hamburger-menu-button>span::after {
		-webkit-transform:translatey(-1px) rotate(-225deg);
		transform:translatey(-1px) rotate(-225deg);
		background-color: var(--color-main-2);
	}

	header .header_inner {
		flex-direction: column;
		width: 100%;
		padding-top: 2rem;
	}

	header .header_inner .logo_phrase {
		align-items: flex-start;
		width: auto;
		height:auto;
		margin: 0;
		padding: 0;
		padding-left: 20px;
		width: 100%;
		box-sizing: border-box;
	}
	header .header_inner .logo_svg {
		width: 119px;
		border: none;
		margin-bottom:1.3rem;
	}
	header .header_inner .logo_phrase .header_text {
		font-size: 1rem;
		white-space: nowrap;
		letter-spacing: -0.05em;
	}
	header .header_inner .logo_phrase .header_text_bigger {
		font-size: 1.7rem;
	}
	
	header .header_inner .header_box {
		position: fixed;
		top:0;
		width:100%;
		height: 0;
		padding-top: 0;
		justify-content: flex-start;
		z-index: 9990;
		background-color:white;
		overflow-y: hidden;
		box-sizing: border-box;
		-ms-overflow-style: none;
		scrollbar-width: none;
		transition: all ease-in-out 0.52s;
	}
	header .header_inner .header_box .logo_phrase {
		margin-bottom:3rem;
		transition: all ease-in-out 0.52s;
	}
	#hamburger-menu-button-check:checked ~ .header_box {
		height: calc(100vh);
		padding-bottom:60px;
		padding-top: 2.44rem;
		overflow-y: scroll;
		opacity: 1;
	}
	header .header_inner .header_box::-webkit-scrollbar {
		display: none;
	}
	header .header_inner .header_box > div,header .header_inner .header_box > nav {
		margin-left:auto;
		margin-right: auto;
	}
	header .header_inner .header_box > div {
		padding: 0 20px;
		text-align: center;
		box-sizing: border-box;
	}
	header .header_inner .header_nav {
		position:relative;
		top: 0;
		left: 0;
		order:1;
		width: 100%;
		height: auto;
		-webkit-transform: translatez(0);
		transform: translatez(0);
		background-color: white;
		margin-bottom: 4rem;
	}

	header ul#header_menu {
		flex-direction: column;
	}
	header ul#header_menu li {
		border: none;
		width: 100%;
		height: 60px;
		text-align: left;
		border: none;
		border-bottom: var(--border-1);
	}
	header ul#header_menu li.menu_parent {
		height:auto;
	}
	header ul#header_menu li:first-of-type {
		border-left:none!important;
		border-top:  var(--border-1);
	}
	header ul#header_menu li a {
		position:relative;
		width:100%;
		height: 60px;
		padding: 20px;
		box-sizing: border-box;
		font-weight:700;
		font-size: 1.6rem;
		color: var(--color-main-1);
		justify-content: space-between
	}
	header ul#header_menu li a::after {
		content:"";
		position:relative;
		background-image: url(https://d-z.co.jp/cmstestserver.d-z.co.jp/test/wp-content/themes/dz-theme/img/common/right_arrow_black.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 44px;
		height: calc(44px * (5/20));
	}

	header .header_inner .header_contact {
		width: 100%;
		order: 2;
		margin-bottom: 3.47rem;
	}
	header .header_inner .header_contact a {
		max-width: 100%;
		width:335px;
		height: 60px;
		margin: auto;
		font-size: 1.7rem;
		box-sizing: border-box;
	}
	header .header_inner .header_main_tel {
		order:3;
		margin-bottom: 4.4rem;
	}
	header .header_inner .header_main_tel .header_main_tel__tel {
		font-size: 2.8rem;
	}
	header .header_inner .header_main_tel .header_main_tel__time {
		font-size: 1.18rem;
		margin-left: 0.62em;
	}
	

	header .header_inner .header_sub_tel li{
		font-size: 1.8rem;
		line-height: 1;
		margin-bottom: .8rem;
	}
	header .header_inner .header_sns_link {
		order: 5;
		margin-bottom: 4.2rem;
	}
	header .header_inner .header_sns_link img {
		width: 3.8rem;
		margin-right: 2.2rem;
	}
	header .header_inner .header_sns_link a:last-of-type img{
		margin-right: 0;
	}

	header#header #fixed_header .logo_phrase {
		margin-top: 0.4rem;
	}

	header ul#header_menu div.menu_child {
		width: 100%;
		display: block;
	}
	header ul#header_menu div.menu_child ul {
		display: block;
		display: none;
		-webkit-transform:translatez(0);
		transform:translatez(0);
	}
	header ul#header_menu div.menu_child li a {
		background-color: var(--color-sub-6);
	}
	header ul#header_menu li.menu_parent.menu_active {
		border: none;
	}
	header ul#header_menu div.menu_child li a {
		border-bottom: var(--border-1);
	}
	header ul#header_menu li a:hover {
		opacity: 1;
	}
	header ul#header_menu li.menu_parent a.menu_parent_title::before ,
	header ul#header_menu li.menu_parent a.menu_parent_title::after {
		--transition-time: 0.32s;
		position: absolute;
		content: "";
		top: 50%;
		right: 34px;
		width: 20px;
		height: 2px;
		-webkit-transform: translatez(0);
		transform: translatez(0);
		background-color: #080808;
		transition: var(--transition-time) linear;
	}
	header ul#header_menu li.menu_parent a.menu_parent_title::before {
		-webkit-transform:translatez(0) translateY(-50%) rotate(90deg);
		transform:translatez(0) translateY(-50%) rotate(90deg);
		transition-duration: calc(var(--transition-time)/2);
	}
	header ul#header_menu li.menu_parent a.menu_parent_title::after  {
		-webkit-transform:translatez(0) translateY(-50%);
		transform:translatez(0) translateY(-50%);
	}
	header ul#header_menu li.menu_parent.menu_active a.menu_parent_title::before {
		-webkit-transform:translatez(0) translateY(-50%) rotate(0deg);
		transform:translatez(0) translateY(-50%) rotate(0deg);
		transition-delay: calc(var(--transition-time)/2);
		transition-duration: calc(var(--transition-time)/2);
	}
	header ul#header_menu li.menu_parent.menu_active a.menu_parent_title::after  {
		-webkit-transform:translatez(0) translateY(-50%) rotate(-180deg);
		transform:translatez(0) translateY(-50%) rotate(-180deg);
	}

	/*   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;
		-webkit-transform:translate(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
	**************/
	header #main_header {
		opacity: 1;
		position:relative;
		z-index: 10;
	}
	header #main_header.header_inner .header_nav {
		width: 100vw;
		position: absolute;
		top: var(--header-height-1);
		height: var(--header-height-2);
		left: 50%;
		-webkit-transform: translatex(-50%);
		transform: translatex(-50%);
		color: var(--color-main-2);
		background-color: var(--color-sub-1);
	}
	header#header.fixed_header_active #main_header {
		opacity:1;
	}
	header#header #fixed_header .header_inner {
		position:relative;
		box-sizing:border-box;
		width: auto;
		height: 100%;
		padding: 2rem 0;
		justify-content:center;
	}

	header#header #fixed_header .header_inner .logo_phrase {
		width:auto;
		height:100%;
		padding-top: 0;
		margin-right: 0;
	}
	header#header #fixed_header .header_inner .logo_svg {
		width: 158px;
		border: 0;
	}
	header#header #fixed_header .header_inner .header_box {
		padding-top: 0;
		height: 100%;
	}
	header#header #fixed_header .header_inner .header_nav {
		width: auto;
		position: static;
		height: 100%;
		font-size: 1.2rem;
		background-color:transparent;
	}
	header#header #fixed_header ul#header_menu li {
		color: var(--color-main-1);
		border: 0;
		border-left: var(--border-1);
		width: 134px;
		height: 100%;
	}
	header #main_header ul#header_menu li:first-of-type {
		border-left: var(--header-border);
	}
	header#header #fixed_header ul#header_menu li a {
		font-size: 1.2rem
	}
	header#header #fixed_header .header_inner .header_contact a {
		font-size: 1.2rem;
	}

	header ul#header_menu div.menu_child {
		padding-top: 6px;
		pointer-events: none;
	}
	header#header ul#header_menu li:hover div.menu_child  {
		pointer-events: auto;
	}
	header ul#header_menu div.menu_child ul{
		background: #FFFFFF;
		box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.12);
	}
	header#header #fixed_header ul#header_menu div.menu_child {
		position:relative;
		top: 0;
		padding-top: 22px;
	}
	header ul#header_menu div.menu_child li,header#header #fixed_header ul#header_menu div.menu_child li{
		width: 260px;
		width: auto;
		min-width: 100%;
		height: 40px;
	}

	header ul#header_menu div.menu_child li a {
		text-align:left;
		justify-content: flex-start;
		padding-left: 25px;
		padding-right: 40px;
		box-sizing: border-box;
	}

	header ul#header_menu li.menu_parent div {
		position: absolute;
		top: 80px;
		min-width: 100%;
		transition: opacity 0.38s;
		opacity: 0;
	}
	header ul#header_menu li.menu_parent:hover div{
		opacity: 1;
	}
	header ul#header_menu li:hover {
		z-index: 10;
	}

	/*****   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;
	}

}