@charset "UTF-8";

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	background: #fff;
	color: #222;
	/*font-family: Noto Sans JP;*/
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Verdana", YuGothic, "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "Yu Gothic", "BIZ UDPGothic", sans-serif;
	font-size: 14px;
	font-weight: 400;
	height: 100%;
	letter-spacing: 0.05em;
	line-height: 2;
	margin: 0 auto;
	overflow-x: hidden;
	width: 100%;
}

img {
	display: block;
	max-width: 100%;
}

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

/* --------------------
smart phone
default style reset
-------------------- */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff;
	border: 2px solid #484848;
	border-radius: 5px;
	box-sizing: border-box;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Verdana", YuGothic, "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "Yu Gothic", "BIZ UDPGothic", sans-serif;
	padding: 10px;
	width: 100%;
}

input:focus,
select:focus,
textarea:focus {
	background: #fffbc9;
}

input[type="checkbox"] {
	width: auto;
}

button:hover {
	cursor: pointer;
}

/* select box , checkboxの矢印を非表示 */

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

/* placeholder color */

:-moz-placeholder-shown {
	color: #eff0f2;
}

:-ms-input-placeholder {
	color: #eff0f2;
}

:placeholder-shown {
	color: #eff0f2;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */

::-webkit-input-placeholder {
	color: #eff0f2;
}

/* Firefox 18- */

:-moz-placeholder {
	color: #eff0f2;
	opacity: 1;
}

/* Firefox 19+ */

::-moz-placeholder {
	color: #eff0f2;
	opacity: 1;
}

/* --------------------
font
-------------------- */

a,
p {
	line-height: 2;
}

p {
	margin: 0;
}

/* --------------------
link color
-------------------- */

a {
	color: #3A3A3A;
	text-decoration: none;
}

a:hover,
a:focus {
	outline: none;
	text-decoration: underline;
}

/* --------------------
hover effect
-------------------- */

a,
a img,
input {
	opacity: 1;
	transition: opacity .4s, background-color .4s;
}

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

header

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

.h {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	background: #fff;
	border-bottom: 1px solid #EAEBE9;
	box-shadow: 0 0px 0px rgba(0, 0, 0, 0.16);
	left: 0;
	position: fixed;
	top: 0;
	transform: translate3d(0, 0, 0);
	transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	width: 100%;
	z-index: 2;
}

.h.is-sticky {
	border-color: transparent;
	box-shadow: 0 1px 20px rgba(0, 0, 0, 0.16);
}

.h_container {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1552px;
	min-height: 80px;
	padding: 8px 56px;
	width: 100%;
}

.h_logo__link {
	font-size: 20px;
	/*font-family: Noto Sans JP;*/
	font-weight: bold;
	letter-spacing: 4px;
	color: #0A0A0A;
	font-weight: bold;
}

.h_logo__link:hover,
.h_logo__link :focus {
	text-decoration: none;
}

.h_logo__img {
	max-height: 64px;
}

.h_nav__hamburger {
	display: none;
}

.h_nav__list {
	display: flex;
	justify-content: space-between;
}

.h_nav__list li {
	margin-right: 48px;
}

.h_nav__list li:last-child {
	margin-right: 0px;
}

.h_nav__item {
	margin-right: 48px;
}

.h_nav__item:last-child {
	margin-right: 0;
}

.h_nav a {
	display: block;
	font-weight: 600;
	position: relative;
	font-size: 14px;
	/*font-family: Noto Sans JP;*/
	letter-spacing: 0.7px;
	color: #222222;
	font-weight: bold;

}

.h_nav a:after {
	/*background: #484848;
	bottom: -0.2em;
	content: '';
	display: block;
	height: 1px;
	left: auto;
	position: absolute;
	right: 0;
	transition: 0.2s cubic-bezier(0.19, 1, 0.22, 1);
	width: 0;*/
}

.h_nav a:hover,
.h_nav a:focus {
	text-decoration: none;
}

.h_nav a:hover:after,
.h_nav a:focus:after {
	left: 0;
	right: auto;
	width: 100%;
}

.h_nav__sub_text {
	display: block;
	font-size: 12px;
	font-style: normal;
	font-weight: normal;
	letter-spacing: 0.2rem;
	margin-top: -0.5em;
	text-align: center;
}

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

SP menu opened

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

.js-nav-open.h_nav {
	display: block;
	opacity: 1;
	transition: cubic-bezier(0.19, 1, 0.22, 1);
	visibility: visible;
}

.js-nav-open .h_nav__hamburger {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 4;
}

.js-nav-trigger .h_nav__hamburger_icon {
	background: transparent;
}

.js-nav-trigger .h_nav__hamburger_icon:before {
	top: -5px;
	transform: rotateZ(45deg);
}

.js-nav-trigger .h_nav__hamburger_icon:after {
	top: -5px;
	transform: rotateZ(-45deg);
}

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

Footer

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

.f {
	background: #f5f5f5;
}

.f_container {
	padding: 64px 0;
}

.f_head {
	display: flex;
	justify-content: space-between;
	margin-bottom: 120px;
}

.f_head__info {
	margin-right: 20px;
}

.f_head__logo {
	display: block;
	margin-bottom: 50px;
	text-decoration: none;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 4.8px;
	color: #222222;
}

.f_head__logo a:hover{
	border: none;
	text-decoration: none;
}

.f_head__logo img {
	max-width: 50%;
}

.f_address {
	font-size: 14px;
	letter-spacing: 0.7px;
	color: #222222;
}

.f_address__text {
	font-size: 14px;
	letter-spacing: 0.7px;
	color: #222222;
}

.f_address__text--postal_code {
	display: inline-block;
	margin-right: 1em;
}

.f_address__link {
	text-decoration: underline;
	font-size: 14px;
	letter-spacing: 0.7px;
	color: #222222;
}

.f_address__link:hover,
.f_address__link:focus {
	opacity: 0.5;
	text-decoration: none;
}


.f_nav {
	width: 520px;
}

.f_nav__list {
	display: flex;
	justify-content: space-between;
}

.f_nav__item {
	margin-right: 20px;
}

.f_nav__item:last-child {
	margin-right: 0;
}

.f_nav a {
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.7px;
	color: #222222;

}

.f_nav a:hover,
.f_nav a:focus {
	opacity: 0.5;
	text-decoration: none;
}

.f_nav__sub_text {
	display: block;
	font-size: 12px;
	opacity: 0.5;
}

.f_bottom {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.f_copy {
	text-align: center;
	font-size: 14px;
	letter-spacing: 1.4px;
	color: #9BA5AB;
}

.f_sns{
	margin-left: auto;
	display: flex;
	justify-content: center;
	width: 110px;
}

.f_sns li{
	width: 35px;
	height: 25px;
}

.f_sns_icon{
	width: 30px;
	color: #000;
	text-align: center;
}

.fab {
	font-size: 20px;
}



.f_privacy__link {
	/*color: #fff;*/
	margin-left: 12px;
}

.f_privacy__link:hover,
.f_privacy__link:focus {
	opacity: 0.5;
	text-decoration: none;
}

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

Layout

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

.allwrapper {
	overflow: hidden;
	position: relative;
}

.wrapper {
	box-sizing: border-box;
	padding-left: 32px;
	padding-right: 32px;
}

.container_dpf{
	width: 956px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-flow: row-reverse;
}

.container {
	margin-left: auto;
	margin-right: auto;
	max-width: 1024px;
	width: 100%;
}


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

Switch display

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

.sp_show {
	display: none !important;
}

.sp_show--ib {
	display: none !important;
}

.sp_show--ib--max1440 {
	display: none !important;
}

.sp_show--ib--max1024 {
	display: none !important;
}

.pc_show {
	display: block !important;
}

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

Background color

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

.bg_white {
	background: #fff;
}

.bg_gray {
	background: #C4C4C4;
}

.theme_color {
	background: #2c2c2c;
}

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

Effects

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

.js-fadein {
	opacity: 0;
	transform: translateY(10%);
	transition: opacity 0.6s linear, transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.js-fadein.is-active {
	opacity: 1;
	transform: translateY(0);
}

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

Common tittles

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

.main_title {
	color: #3A3A3A;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 80px;
	text-align: center;
}

.main_title--white {
	color: #fff;
}

.main_title--sub {
	display: block;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	margin-top: 1em;
}

.branch_main_title {
	color: #3A3A3A;
	font-size: 46px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 64px;
	text-align: center;
}

.branch_main_title--sub {
	display: block;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	margin-top: 1em;
}

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

Buttons

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

.main_button {
	background: #fff;
	border: 2px solid #222222;
	border-radius: 5px;
	color: #222;
	display: block;
	font-size: 16px;
	font-style: normal;
	padding: 10px 0;
	text-align: center;
	width: 274px;
	height: 56px;
	font-size: 16px;
	letter-spacing: 1.6px;
}

.main_button:hover,
.main_button:focus {
	background: #222;
	color: #fff;
	text-decoration: none;
	transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.main_button__icon {
	bottom: 0;
	height: 14px;
	left: auto;
	margin: auto auto auto 0.5em;
	position: absolute;
	right: 20px;
	top: 0;
	width: 18px;
}

.main_button__icon_path {
	stroke-linecap: round;
	stroke-width: 2px;
	stroke: #fff;
	fill: none;
}

.main_button__icon_path_color--green {
	stroke-linecap: round;
	stroke-width: 2px;
	stroke: #484848;
	fill: none;
}

.main_button__icon_path--round {
	stroke-linejoin: round;
}

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

First view/index

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

.top .first_view.is-active {
	position: relative;
}
.top .first_view.is-active .first_view__scroller {
	display: block;
}
.top .first_view {
	position: unset;
}
.top .first_view .first_view__scroller {
	display: none;
}

.top .first_view__item {
	position: relative;
	width: 100%;
}

.top .first_view__container {
	bottom: 0;
	height: 130px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.top .first_view__catch {
	color: #fff;
	font-size: 64px;
	line-height: 1.6;
	margin-bottom: 0;
	transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	text-align: center;
	font-size: 60px;
	font-weight: bold;
	letter-spacing: 6px;
}

.top .first_view__subcatch {
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	text-align: center;
	font-size: 18px;
	letter-spacing: 1.8px;
}

.top .first_view__image {
	-webkit-filter: blur(0px) brightness(90%) saturate(200%);
	filter: blur(0px) brightness(90%) saturate(200%);
	left: 0;
	margin: auto;
	min-width: 1440px;
	position: absolute;
	right: 0;
	top: 0;
	transform: scale(1.1);
	width: 100vw;
	height: 100vh;
	object-fit: cover;
	z-index: -1;
}

.top .first_view__image_box {
	height: 100vh;
	overflow: hidden;
}

.top .first_view__scroller {
	bottom: 2%;
	color: #fff;
	font-size: 12px;
	height: 32px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	text-align: center;
	width: 4em;
}

.top .first_view__scroller:after {
	-webkit-animation: scroll 2s cubic-bezier(1, 0, 0, 1) 1s infinite;
	-webkit-animation-fill-mode: both;
	animation: scroll 2s cubic-bezier(1, 0, 0, 1) 1s infinite;
	animation-fill-mode: both;
	background: #fff;
	content: '';
	height: 0;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 1px;
}

.top .first_view__scroller_text {
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: -30px;
}

.top .first_view.is-active .first_view__image {
	position: fixed;
}

@-webkit-keyframes scroll {
	0% {
		bottom: auto;
		height: 0;
		top: 0;
	}

	50% {
		height: 32px;
	}

	100% {
		bottom: 0;
		height: 0;
		top: auto;
	}
}

@keyframes scroll {
	0% {
		bottom: auto;
		height: 0;
		top: 0;
	}

	50% {
		height: 32px;
	}

	100% {
		bottom: 0;
		height: 0;
		top: auto;
	}
}

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

About/index

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

.top .About {
	padding: 120px 0 0;
}

.top .About__title {
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 20px;
}

.top .About__title_text {
	line-height: 1.6;
	font-size: 24px;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 2.4px;
	color: #222222;
	font-weight: bold;
}

.top .About__title_text--sub {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 2px;
	color: #222222;
}

.top .About__detail {
	margin: 0 auto;
	max-width: 445px;
	width: 100%;
}

.top .About__detail_text {
	margin-bottom: 40px;
	font-size: 14px;
	letter-spacing: 0px;
	color: #222222;
}

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

menu/index

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

.top .menu {
	padding: 120px 0;
}
.top .menu .main_title {
	margin-bottom: 80px;
	font-size: 40px;
	font-weight: bold;
	letter-spacing: 4px;
	color: #222222;
}

.top .menu .main_title--sub {
	font-size: 16px;
	letter-spacing: 0.8px;
	color: #222222;
}

.top .menu__card {
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
}

.top .menu_card__item {
	/*flex: 0 1 47%;*/
	margin-bottom: 40px;
	width: 30%;
	margin-right: 5%;
}

.top .menu_card__item:nth-child(3n){
	margin-right: 0;
}

.top .menu_card__item:nth-child(2n) {
	/*margin-right: 0;*/
}

.top .menu_card__item:nth-last-child(-n+2) {
	/*margin-bottom: 0;*/
}

.top .menu_card__image_wrapper {
	margin-bottom: 24px;
}

.top .menu_card__title {
	color: #484848;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 16px;
}

.top .menu_card__text {
	text-align: justify;
	min-height: 49px;
	font-size: 14px;
	letter-spacing: 0px;
	color: #222222;
}

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

News/index

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

.top .news {
	padding: 0;
}


.top .news_list__item {
	border-bottom: 1px solid #DBDBDB;
	padding: 33px 0;
}

.top .news_list__link {
	color: #484848;
	display: flex;
}

.top .news_list__link:hover,
.top .news_list__link:focus {
	text-decoration: underline;
}

.top .news_list__inner {
	display: flex;
}

.top .news_list__date {
	margin-right: 16px;
	width: 45%;
	display: block;
	text-align: right;
	font-size: 14px;
	letter-spacing: 0px;
	color: #222222;
}

.top .news_list__text {
	color: #222;
	font-weight: 500;
	width: 50%;
	display: block;
	text-decoration: underline;
	font-size: 14px;
	letter-spacing: 0px;
	color: #222222;
}

.top .news__more_button {
	margin-top: 40px;
}




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

commitment/index

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

.top .commitment {
	padding: 120px 0;
}

.top .commitment__title {
	font-weight: 700;
	margin-bottom: 20px;
	text-align: center;
	width: 480px;
	margin: 0 auto 40px;
}

.top .commitment__title_text {
	font-size: 28px;
	line-height: 48px;
	color: #fff;
	font-size: 28px;
	letter-spacing: 2.8px;
}

.top .commitment__title_text--sub {
	color: #484848;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 10px;
}

.top .commitment__detail {
	margin: 0 auto;
	max-width: 480px;
	width: 100%;
}

.top .commitment__detail_text {
	margin-bottom: 40px;
	font-size: 14px;
	line-height: 28px;
	text-align: center;
	letter-spacing: 0;
	font-size: 14px;
	letter-spacing: 0px;
	color: #FFFFFF;
}




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

information/index

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

.top .information {
	padding: 120px 0;
}
.top .information .main_title {
	margin-bottom: 63px;
	font-size: 40px;
	font-weight: bold;
}

.top .information .main_title--sub {
	font-size: 16px;
}

.top .information__title {
	font-weight: 700;
	margin-bottom: 20px;
	text-align: center;
	width: 480px;
	margin: 0 auto 40px;
}

.top .information__title_text {
	font-size: 28px;
	line-height: 48px;
	color: #fff;
}

.top .information__title_text--sub {
	color: #484848;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 10px;
}

.top .information__detail {
	margin: 64px auto 0;
	max-width: 960px;
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.top .information__detail iframe{
	width: 100%;
	height: 380px;
}

.top .information__detail_text {
	text-align: left;
	font-size: 28px;
	letter-spacing: 1.4px;
	color: #222222;
}

.top .information__table{
	width: 580px;
	border-collapse: collapse;
}

.top .information__table tr{
	border-bottom: 1px solid #DBDBDB;
	height: 74px;
}

.top .information__table tr th{
	width: 118px;
	text-align: left;
	font-size: 15px;
	font-weight: bold;
	font-weight: bold;
}

.top .information__table tr td{
	font-size: 14px;
}

.top .information__table tr td a{
	padding: 7px 20px;
	border: 1px solid #222222;
	font-size: 10px;
	display: inline-block;
	margin-left: 50px;
	color: #222;
	border-radius: 5px;
	background: #fff;
}

.top .information__table tr td a:hover,
.top .information__table tr td a:focus{
	background: #222;
	color: #fff;
	text-decoration: none;
	transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}




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

Contact/index

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

.top .contact {
	padding: 96px 0;
}

.top .contact__title {
	margin-bottom: 40px;
}

.top .contact__text {
	color: #fff;
	margin-bottom: 40px;
	text-align: left;
	font-size: 16px;
	font-weight: 700;
}

.top .contact__box {
	display: flex;
	justify-content: space-between;
}

.top .contact__button {
	background: #2c2c2c;
	border: 1px solid rgba(255, 255, 255, .3);
	display: inline-block;
	font-size: 16px;
	max-width: 436px;
	padding: 24px;
	text-align: center;
	transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	width: 100%;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 2px;
	color: #FFFFFF;
	border-radius: 5px;
}

.top .contact__button:hover,
.top .contact__button:focus {
	text-decoration: none;
}

.top .contact__button.bor:hover,
.top .contact__button.bor:focus {
	background: #484848;
	border-color: #fff;
	color: #fff;
}

.fa-phone,.fa-envelope{
	margin-right: 15px;
}

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

About

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

.about .m {
	padding-top: 0;
}

.about .branch_main_title {
	margin-bottom: 0;
}

.about .about__header {
	padding: 180px 0 140px;
}

.about .about_title {
	color: #484848;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 64px;
	text-align: center;
}

.about .about_title--sub {
	color: #3A3A3A;
	display: block;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	margin-top: 1em;
}

.about .about__msg {
	padding: 120px 0;
}

.about .msg__body {
	display: flex;
	justify-content: center;
}

.about .msg__body_img {
	margin-right: 56px;
	max-width: 426px;
	width: 100%;
}

.about .msg__body_dtl {
	max-width: 482px;
	width: 100%;
}

.about .msg__body_title {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 32px;
}

.about .msg__body_text {
	margin-bottom: 40px;
}

.about .msg__body_name {
	font-size: 16px;
}

.about .msg__body_name--position {
	font-size: 14px;
	margin-right: 1em;
}

.about__parallax {
	height: 520px;
	overflow: hidden;
	position: relative;
}

.commitment.bg_active .about__parallax_img {
	bottom: 0;
	left: 0;
	margin: auto;
	position: fixed;
	right: 0;
	top: 0;
	transform: scale(1.2);
	width: 100vw;
	z-index: -2;
	-webkit-filter: blur(5px) brightness(60%) saturate(200%);
	filter: blur(5px) brightness(60%) saturate(200%);
}

.commitment .about__parallax_img{
	display: none!important;
}
.commitment.bg_active .about__parallax_img.pc_show{
	display: block!important;
}

.about__company {
	padding: 120px 0;
}

.about .company__container {
	margin-left: auto;
	margin-right: auto;
	max-width: 844px;
	width: 100%;
}

.about .company__list {
	align-items: center;
	border-bottom: 1px solid #DBDBDB;
	display: flex;
	padding: 24px 0;
}

.about .company__list:first-child {
	padding-top: 0;
}

.about .company__name {
	flex: 0 1 80px;
	font-size: 14px;
	font-weight: 700;
	margin-right: 90px;
}

.about__access {
	padding: 120px 0;
}

.about .access__map {
	height: 380px;
	margin-bottom: 48px;
}

.about .address__head {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.about .address__button {
	font-size: 14px;
	margin-right: 0;
	padding: 4px 12px;
	width: 120px;
}

.about .address__title {
	color: #484848;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
}

.about .address__text {
	font-style: normal;
}

.about__branch {
	padding: 120px 0 80px;
}

.about .branch__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.about .branch__card {
	flex: 0 1 48%;
	margin-bottom: 40px;
	margin-right: 4%;
}

.about .branch__card:nth-child(2n) {
	margin-right: 0;
}

.about .branch__title {
	color: #3A3A3A;
	font-size: 24px;
	margin-bottom: 56px;
}

.about .branch__name {
	color: #484848;
	font-size: 18px;
	font-weight: 700;
}

.about .branch__map {
	height: 270px;
	margin-bottom: 16px;
}

.about .branch__address {
	margin-bottom: 24px;
}

.about .branch__button {
	font-size: 14px;
	margin-right: 0;
	padding: 4px 12px;
	width: 120px;
}

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

Archive

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

.archive__header {
	padding-top: 136px;
}

.archive__topics {
	padding-bottom: 120px;
}

.archive__card {
	border-bottom: 1px solid #DBDBDB;
	padding: 16px 0;
}

.archive__link {
	display: block;
}

.archive__cont {
	display: flex;
}

.archive__cont * {
	flex-shrink: 0;
}

.archive__date {
	color: #484848;
	flex: 0 1 100px;
	margin-right: 16px;
}

.archive__text {
	color: #222;
	flex: 0 1 calc(100% - 100px);
	font-weight: 500;
}

/* --------------------
pager
-------------------- */

/* 自動生成されるページャータイトルを非表示 */

.archive .screen-reader-text {
	display: none !important;
}

.archive__pager {
	margin-top: 40px;
	text-align: center;
}

.archive__pager .nav-links {
	display: inline-flex;
	justify-content: space-between;
}

.archive__pager .page-numbers {
	background: #fff;
	border-radius: 4px;
	color: #3A3A3A;
	display: block;
	height: 40px;
	line-height: 40px;
	text-align: center;
	transition: 0.3s;
	width: 40px;
}

.archive__pager .page-numbers:not(:first-child) {
	margin-left: 12px;
}

.archive__pager .page-numbers:not(.dots) {
	border: 1px solid #484848;
}

.archive__pager .page-numbers:hover:not(.dots) {
	background: #484848;
	color: #fff;
	text-decoration: none;
}

.archive__pager .page-numbers.current {
	background: #484848;
	color: #fff;
}

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

Contact

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

.contact .m {
	/*padding: 180px 0 140px;*/
	padding-bottom: 80px;
}

.contact .section {
	margin: 0 auto;
	max-width: 680px;
}

.contact .section__header {
	padding-bottom: 72px;
	text-align: center;
}

.contact .section__header-msg {
	padding-bottom: 40px;
	text-align: center;
}

.contact .section__header-msg h2 {
	color: #222;
	font-size: 22px;
	font-weight: 600;
}

.contact .section__header-msg + .s__header-text {
	padding: 40px 0 0;
}

.contact .section__header-icon {
	display: block;
	height: 36px;
	margin: 0 auto 20px;
	width: 36px;
}

.contact .section__header-icon svg {
	display: block;
	margin: 0 auto;
}

.contact .section__header-icon svg path {
	fill: #484848;
}

.contact .section__ttl {
	color: #3A3A3A;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 80px;
	text-align: center;
}

.contact .section__ttl-ja {
	display: block;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	margin-top: 1em;
}

.contact .section__ttl--complete {
	padding-bottom: 0;
	margin-bottom: 40px;
}

.contact .section__txt {
	color: #222;
}

.contact .form__list {
	padding-bottom: 60px;
}

.contact .form__list--confirm .form__item {
	padding-bottom: 30px;
}

.contact .form__item {
	padding-bottom: 28px;
}

.contact .form__item:last-child {
	padding-bottom: 0;
}

.contact .form__label {
	font-weight: 600;
	padding-bottom: 10px;
}

.contact .form__label.requied:before {
	color: #FF3F34;
	content: '※';
}

.contact .form__desc p {
	border-bottom: 1px solid #d0d8d9;
	padding-bottom: 30px;
}

.contact .form__footer {
	font-size: 14px;
	padding-bottom: 60px;
	text-align: center;
}

.contact .form__footer a {
	text-decoration: underline;
}

.contact .form__footer a:hover {
	text-decoration: none;
}

.contact .form__btn {
	padding: 0;
	text-align: center;
}

.contact .form__btn-wrapper {
	display: block;
	margin: 0 auto;
	max-width: 87.30159%;
	position: relative;
	width: 420px;
}

.contact .form__btn .btn {
	background: #484848;
	border: none;
	border-radius: 5px;
	color: #fff;
	display: inline-block;
	font-size: 16px;
	font-weight: 500;
	height: 72px;
	letter-spacing: 0.05em;
	margin: 0 auto 20px;
	position: relative;
	transition: all .4s;
	width: 100%;
}

.contact .form__btn .btn--link {
	line-height: 72px;
	text-decoration: none;
}

.contact .form__btn .btn__icon {
	bottom: 0;
	margin: auto;
	position: absolute;
	right: 20px;
	top: 0;
}

.contact .form__back-btn {
	align-items: center;
	color: #222;
	display: flex;
	font-size: 15px;
	font-weight: 500;
	height: 30px;
	margin: 0 auto;
	position: relative;
	width: 100%;
}

.contact .form__back-icon {
	bottom: 0;
	left: 80px;
	margin: auto;
	position: absolute;
	top: 25%;
	transform: translate(0, -25%);
}

.contact .form__back-input {
	border: none;
	display: inline-block;
	height: 100%;
	padding: 0;
	width: 100%;
}

.contact .form__back-input:focus {
	background: none;
	outline: none;
}

.contact .form input[type="tel"],
.contact .form input[type="email"],
.contact .form input[type="text"] {
	background: #eff0f2;
	border: none;
	padding: 10px 30px;
}

.contact .form input[type="tel"]:focus,
.contact .form input[type="email"]:focus,
.contact .form input[type="text"]:focus {
	background: #fff;
}

.contact .form input[type="tel"]::-moz-placeholder,
.contact .form input[type="email"]::-moz-placeholder,
.contact .form input[type="text"]::-moz-placeholder {
	color: #dbdbdb;
}

.contact .form input[type="tel"]:-ms-input-placeholder,
.contact .form input[type="email"]:-ms-input-placeholder,
.contact .form input[type="text"]:-ms-input-placeholder {
	color: #dbdbdb;
}

.contact .form input[type="tel"]::-ms-input-placeholder,
.contact .form input[type="email"]::-ms-input-placeholder,
.contact .form input[type="text"]::-ms-input-placeholder {
	color: #dbdbdb;
}

.contact .form input[type="tel"]::placeholder,
.contact .form input[type="email"]::placeholder,
.contact .form input[type="text"]::placeholder {
	color: #dbdbdb;
}

.contact .form select,
.contact .form textarea {
	background: #eff0f2;
	border: none;
	padding: 10px 30px;
}

.contact .form select:focus,
.contact .form textarea:focus {
	background: #fff;
}

.contact .form select::-moz-placeholder,
.contact .form textarea::-moz-placeholder {
	color: #dbdbdb;
}

.contact .form select:-ms-input-placeholder,
.contact .form textarea:-ms-input-placeholder {
	color: #dbdbdb;
}

.contact .form select::-ms-input-placeholder,
.contact .form textarea::-ms-input-placeholder {
	color: #dbdbdb;
}

.contact .form select::placeholder,
.contact .form textarea::placeholder {
	color: #dbdbdb;
}

.contact div.wpcf7 .ajax-loader {
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: -2em;
}

.contact .js-confirm {
	display: none;
}

.contact .js-contact-complete {
	display: none;
}

.contact .wpcf7c-conf {
	display: none;
}

.contact_content{
	margin-top: 170px;
}

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

Privacy policy

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

.privacy .m {
	padding: 180px 0 140px;
}

.privacy .section {
	margin: 0 auto;
	max-width: 680px;
}

.privacy__contents_title {
	font-size: inherit;
	font-weight: 500;
}

.privacy__text {
	margin-bottom: 2em;
}

.privacy__info {
	font-style: normal;
}



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

下層ページー共通

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

.concept main.m,
.menu main.m,
.commitment main.m,
.information main.m,
.contact main.m{
	margin-top: 81px;
}

/*.concept .concept_head,*/
.contact .contact_head {
	margin-bottom: 96px;
}

.concept_head img,
.contact_head img {
	width: 100%;
	max-height: 360px;
	margin: 0 auto;
	object-fit: cover;
	-webkit-filter: blur(0px) brightness(100%) saturate(200%);
	filter: blur(0px) brightness(100%) saturate(200%);
}

.concept_head img.about__parallax_img {
	position: fixed;
	z-index: -2;
}


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

下層ページーconcept

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

.concept_content{
	position: relative;
	z-index: 1;
	background: #fff;
	padding: 96px 0;
}

.concept .about__parallax {
	height: 315px;
	overflow: hidden;
	position: relative;
}

.concept .main_title {
	margin-bottom: 56px;
}
.concept .concept_head{
	/*margin-bottom: 96px;*/
}
.concept .concept_head img{

}

.concept .concept__title_text{
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 2.4px;
	color: #222222;
	text-align: center;
	font-weight: bold;
	margin-bottom: 30px;
}

.concept .concept__detail{
	width: 400px;
	margin: 0 auto 160px;
}

.concept .concept__detail .concept__detail_text{
	text-align: center;
	font-size: 14px;
	letter-spacing: 0px;
	color: #222222;
}

.concept .concept__box{

}

.concept .concept__box li{
	display: flex;
	justify-content: space-between;
	margin-bottom: 160px;
}

.concept .concept__box li:nth-child(odd){
	flex-flow: row-reverse;

}

.concept .concept__box_item{
	width: 410px;
	margin-top: auto;
	margin-bottom: auto;
}

.concept .concept__box_item_title{
	text-align: left;
	font-size: 24px;
	letter-spacing: 2.4px;
	color: #222222;
	margin-bottom: 36px;
	font-weight: bold;
}

.concept .concept__box_item_text{
	text-align: left;
	font-size: 14px;
	letter-spacing: 0px;
	color: #222222;
}

.concept .concept__box_img{
	width: 480px;
}

.concept .concept__box_img img{
	width: 480px;
	height: 360px;
	object-fit: cover;
}

.sp{
	display: none!important;
}



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

media screen

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


@media screen and (max-width: 1440px) {
	.sp_show--ib--max1440 {
		display: inline-block !important;
	}
}

@media screen and (max-width: 1024px) {
	.sp_show--ib--max1024 {
		display: inline-block !important;
	}
}

@media screen and (max-width: 960px) {
	.pc{
		display: none!important;
	}
	.sp{
		display: block!important;
	}
	.concept main.m, .menu main.m, .commitment main.m, .information main.m, .contact main.m {
		margin-top: 63px;
		padding-top: 0;
	}
	.h_container {
		max-width: 100%;
		min-height: 60px;
		padding: 12px 20px;
		position: relative;
	}

	.h_logo {
		max-width: 100%;
	}

	.h_logo__img {
		max-height: inherit;
	}

	.h_nav {
		background: #fff;
		box-sizing: border-box;
		color: #484848;
		display: none;
		height: 100vh;
		left: 0;
		opacity: 0;
		overflow: hidden;
		padding: 40px 20px;
		position: fixed;
		top: 0;
		transition: cubic-bezier(0.19, 1, 0.22, 1);
		visibility: hidden;
		width: 100%;
		z-index: 2;
	}

	.h_nav__hamburger {
		background: transparent;
		border: 0;
		box-sizing: content-box;
		cursor: pointer;
		outline: 0;
		padding: 0;
		padding: 18px .85rem;
		transform: translateZ(0);
		transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
		width: 3rem;
		z-index: 3;
	}

	.h_nav__hamburger_icon {
		display: block;
		margin-top: 10px;
		position: relative;
	}

	.h_nav__hamburger_icon:before,
	.h_nav__hamburger_icon:after {
		background: #484848;
		content: " ";
		height: 2px;
		left: 0;
		position: absolute;
		top: -10px;
		transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
		width: 100%;
	}

	.h_nav__hamburger_icon:after {
		top: 0;
	}

	.h_nav__list {
		-ms-overflow-style: none;
		scrollbar-width: none;
		display: block;
		height: 91.5%;
		overflow-x: hidden;
		overflow-y: scroll;
	}

	.h_nav__list::-webkit-scrollbar {
		display: none;
	}

	.h_nav__item {
		border-bottom: 1px solid rgba(224, 224, 224);
		margin-right: 0;
	}

	.h_nav a {
		color: #484848;
		font-size: 16px;
		padding: 24px 0;
		text-align: center;
	}

	.f_container {
		padding: 72px 0;
	}

	.f_head {
		display: block;
		margin-bottom: 72px;
	}

	.f_head__logo {
		font-size: 20px;
	}

	.f_address {
		margin-bottom: 40px;
	}

	.f_address__text--postal_code {
		display: block;
		margin-right: 0;
	}

	.f_nav {
		margin-bottom: 72px;
	}

	.f_nav__list {
		display: block;
	}

	.f_nav__item {
		margin-right: 0;
		margin-bottom: 25px;
	}
	.f_nav a {
		padding: 0;
		font-size: 14px;
	}

	.f_bottom {
		flex-flow: column-reverse;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.f_copy {
		text-align: left;
		width: 100%;
	}

	.f_privacy {
		text-align: left;
		width: 100%;
		margin-bottom: 60px;
	}

	.f_sns {
		margin-right: auto;
		display: flex;
		justify-content: space-between;
		width: 110px;
		order: 1;
		margin-left: 0;
		margin-bottom: 20px;
	}

	.f_sns .fab {
		font-family: "Font Awesome 5 Brands";
		font-size: 24px;
	}

	.wrapper {
		padding-left: 20px;
		padding-right: 20px;
	}

	.news .wrapper{
		padding: 20px
	}

	.m {
		padding-top: 60px;
	}

	.sp_show--ib {
		display: inline-block !important;
	}

	.sp_show {
		display: block !important;
	}

	.pc_show {
		display: none !important;
	}

	.main_title {
		font-size: 32px;
		margin-bottom: 40px;
	}
	.concept .main_title {
		margin-bottom: 56px;
		font-size: 32px;
	}

	.main_title--sub {
		font-size: 12px;
	}

	.branch_main_title {
		font-size: 32px;
		margin-bottom: 40px;
	}

	.branch_main_title--sub {
		font-size: 12px;
	}

	.main_button {
		/*padding: 12px 16px;*/
	}

	.top .first_view__container {
		height: 100px;
	}

	.top .first_view__catch {
		font-size: 30px;
		line-height: 1.4;
		margin-bottom: 16px;
	}

	.top .first_view__subcatch {
		font-size: 14px;
	}

	.top .first_view__image_box {
		height: 80vh;
	}

	.top .first_view__image {
		min-width: auto;
		transform: scale(1.5);
	}

	.top .first_view__scroller {
		font-size: 10px;
	}

	.top .philosophy {
		padding: 72px 0;
	}

	.top .philosophy__title {
		font-size: 22px;
		margin-bottom: 20px;
	}

	.top .philosophy__title_text--sub {
		font-size: 14px;
		margin-bottom: 16px;
	}

	.top .philosophy__detail_text {
		font-size: 14px;
	}

	.top .service {
		padding: 72px 0;
	}

	.top .service_card__item {
		margin-bottom: 40px;
		margin-right: 0;
	}

	.top .service_card__item:last-child {
		margin-bottom: 0;
	}

	.top .service_card__item:nth-last-child(-n+2) {
		margin-bottom: 40px;
	}

	.top .service_card__image_wrapper {
		margin-bottom: 20px;
	}

	.top .service_card__title {
		font-size: 18px;
	}

	.top .news {
		padding: 0;
	}

	.top .news_list__item {
		padding: 0;
		border: none;
	}
	.top .news_list__date {
		width: 30%;
		text-align: center;
	}
	.top .news_list__text {
		width: 70%;
	}

	.top .news_list__item:first-child {
		padding-top: 0;
	}

	.top .news_list__link {
		/*display: block;*/
	}


	.top .contact {
		padding: 60px 0;
	}



	.top .contact__text {
		margin-bottom: 20px;
	}

	.about .about__header {
		padding: 164px 0 96px;
	}

	.about .about_title {
		font-size: 30px;
		margin-bottom: 40px;
	}

	.about .about_title--sub {
		font-size: 12px;
	}

	.top .About__title_text {
		line-height: 1.6;
		font-size: 20px;
		font-weight: bold;
		letter-spacing: 2.4px;
		color: #222222;
		font-weight: bold;
	}

	.about .about__msg {
		padding: 72px 0;
	}

	.about .msg__body {
		display: block;
	}

	.about .msg__body_img {
		margin-bottom: 32px;
		margin-right: 0;
	}

	.about .msg__body_title {
		font-size: 18px;
		line-height: 1.6;
	}

	.about .msg__body_text {
		margin-bottom: 32px;
	}

	.about__parallax {
		/*height: 220px;*/
	}

	.about__company {
		padding: 72px 0;
	}

	.about .company__list {
		display: block;
	}

	.about .company__name {
		margin-bottom: 8px;
		margin-right: 0;
	}

	.about__access {
		padding: 72px 0;
	}

	.about .access__map {
		height: 240px;
		margin-bottom: 40px;
	}

	.about .address__body {
		margin-bottom: 24px;
	}

	.about__branch {
		padding: 72px 0 32px;
	}

	.about .branch__inner {
		display: block;
	}

	.about .branch__card {
		margin-right: 0;
	}

	.about .branch__title {
		font-size: 20px;
	}

	.about .branch__name {
		margin-bottom: 24px;
	}

	.about .branch__map {
		height: 240px;
	}

	.archive__header {
		padding-top: 36px;
	}

	.archive__cont {
		display: block;
	}

	.archive__pager .page-numbers {
		font-size: 14px;
		height: 28px;
		line-height: 28px;
		width: 28px;
	}

	.contact .m {
		padding: 164px 0 72px;
	}

	.contact .section {
		padding: 0 20px;
	}

	.contact .section__header {
		padding-bottom: 40px;
	}

	.contact .section__header-msg h2 {
		font-size: 18px;
	}

	.contact .section__header-msg + .s__header-text {
		padding: 32px 0 0;
	}

	.contact .section__ttl {
		font-size: 32px;
		margin-bottom: 40px
	}

	.contact .section__ttl-ja {
		font-size: 12px;
    margin-bottom: 40px;
	}

	.contact .section__ttl--complete {
		padding-bottom: 0;
		margin-bottom: 0;
	}

	.contact .form__list {
		padding-bottom: 40px;
	}

	.contact .form__list--confirm .form__item {
		padding-bottom: 24px;
	}

	.contact .form__item {
		padding-bottom: 24px;
	}

	.contact .form__desc p {
		padding-bottom: 24px;
	}

	.contact .form__footer {
		padding: 0 20px 40px;
		text-align: left;
	}

	.contact .form__back-btn {
		font-size: 14px;
	}

	.contact .form__back-icon {
		left: 40px;
		top: 0;
		transform: translate(0, 0);
	}

	.contact .form input[type="tel"],
	.contact .form input[type="email"],
	.contact .form input[type="text"] {
		padding: 10px 20px;
	}

	.contact .form select,
	.contact .form textarea {
		padding: 10px 20px;
	}

	.privacy .m {
		padding: 164px 0 72px;
	}

	.privacy .section {
		padding: 0 20px;
	}

	.top .commitment__title {
		font-weight: 700;
		margin-bottom: 20px;
		text-align: center;
		width: 100%;
		margin: 0 auto 40px;
	}
	.top .menu__card {
		/*display: block;
		flex-wrap: wrap;
		justify-content: space-between;*/
	}
	.top .menu_card__item {
		margin-bottom: 20px;
		/*width: 100%;*/
	}
	.container_dpf {
		width: 100%;
		margin: 0 auto;
		display: block;
		justify-content: space-between;
	}
	.top .information__detail {
		width: 100%;
		display: block;
	}
	.top .information__detail_text {
		margin-bottom: 20px;
	}
	.top .information__table {
		width: 100%;
		border-collapse: collapse;
	}
	.top .information__table tr td a {
		margin-left: 0;
		width: 274px;
		height: 56px;
		text-align: center;
		font-size: 18px;
		margin: 20px auto;
		display: block;
	}
	.top .contact__box {
		display: block;
	}
	.top .contact__button {
		text-align: left;
		width: 100%;
		margin-bottom: 10px;
	}
	.f_nav {
		width: 100%;
	}
	.h_nav__list li {
		margin-right: 0;
	}
	.top .news_list__inner {
		display: flex;
		padding: 15px 0;
	}
	.top .About {
		padding: 0px 0 5px;
	}
	.top .About .wrapper {
		padding-left: 0;
		padding-right: 0;
	}
	.top .About__title {
		padding: 50px 20px 0;
	}
	.top .About__title_text--sub {
		margin-bottom: 30px;
	}
	.top .About__detail {
		padding: 0 20px;
	}
	.top .About .main_button {
		margin: 0 auto;
	}
	.top .menu {
		padding-bottom: 120px;
		margin-top: -3px;
	}
	.top .menu .main_title {
		margin-bottom: 60px;
		font-size: 32px;
	}
	.top .menu .main_title--sub {
		font-size: 12px;
	}
	.bg_gray {
		background: #848484;
	}
	.top .commitment__title_text {
		font-size: 26px;
		font-weight: bold;
		line-height: 1.6;
	}
	.top .information .main_title {
		font-size: 32px;
	}
	.top .information .main_title--sub {
		font-size: 12px;
	}
	.top .information__table tr {
		border-bottom: 1px solid #DBDBDB;
		height: auto;
		display: block;
		padding: 20px 0;
	}
	.top .information__table tr th {
		width: 100%;
		text-align: left;
		font-size: 15px;
		font-weight: bold;
		display: block;
	}
	.top .information__table tr td {
		font-size: 14px;
		width: 100%;
		display: block;
	}

	.concept .concept__detail {
		width: 100%;
		margin: 0 auto 90px;
	}

	.concept .concept__box li {
		display: block;
		margin-bottom: 90px;
	}
	.concept .concept__box_img {
		width: 100%;
		margin-bottom: 30px;
	}
	.concept .concept__box_item {
		width: 100%;
	}
	.concept .concept__box_item_title {
		margin-bottom: 20px;
		font-size: 20px;

	}
	.concept .concept__box_img img {
		width: 100%;
		height: auto;
		object-fit: cover;
	}

	.contact_content {
		/*margin-top: 90px;*/
	}

	.top .commitment {
		padding: 72px 0;
		height: auto;
	}

	.top .information__detail iframe {
		width: 100%;
		height: 240px;
	}
	.top .information {
		padding: 72px 0;
	}

	.concept .about__parallax {
		height: 231px;
		overflow: hidden;
		position: relative;
	}

	.top .menu_card__item {
		margin-right: auto;
	}

	.top .commitment__detail_text {
		margin-bottom: 0;
	}

	.commitment.bg_active .about__parallax_img.pc_show{
		display: none;!important;
	}

	.commitment.bg_active .about__parallax_img.sp_show{
		display: block!important;
	}
}

@media screen and (max-width: 768px) {
	.top .service__card {
		display: block;
	}
	.top .menu_card__item:nth-child(3n) {
		margin-right: auto;
	}
}

@media screen and (max-width: 480px) {
	.top .first_view__container {
		/*height: 180px;*/
	}
}

@media screen and (max-width: 376px) {
	.top .first_view__container {
		height: 85px;
	}
	.top .first_view__catch {
		font-size: 26px;
	}
	.top .first_view__image_box {
		height: 75vh;
	}
	.top .commitment__title_text {
		font-size: 22px;
		font-weight: bold;
	}
}

@media screen and (max-width: 374px) {
	.contact .form__back-icon {
		left: 20px;
	}
}

@media screen and (max-width: 320px) {
	.top .first_view__container {
		height: 75px;
	}
	.top .first_view__catch {
		font-size: 20px;
	}
	.h_logo__link {
		font-weight: bold;
		font-size: 16px;
	}
	.top .commitment__title_text {
		font-weight: bold;
		font-size: 18px;
	}
	.top .news_list__date {
		width: 30%;
		text-align: center;
		font-size: 12px;
	}
	.top .news_list__text {
		width: 70%;
		font-size: 12px;
	}
}


/*ブラックバージョン*/
.h_logo__link,
.top .About__title_text--sub,
.f_head__logo a,
.concept .concept__title_text,
.concept .concept__box_item_title{
	color: #1A1A1A;
}
.main_button,
.top .information__table tr td a,
.contact .form__btn .btn{
	background: #1A1A1A;
	color: #fff;
	border: 2px solid #1A1A1A;
}
.main_button:hover,
.main_button:focus,
.top .information__table tr td a:hover,
.top .information__table tr td a:focus {
	background: #FFF;
	color: #1A1A1A;
	border: 2px solid #1A1A1A;
}
.theme_color,
.top .contact__button {
	background: #1A1A1A;
}
.top .contact__button.bor:hover, .top .contact__button.bor:focus {
	background: #4a4747;
	border-color: #fff;
	color: #fff;
}