/* :rootのCSS変数の宣言 */
:root {
	--light-gray: #f0eff4;
	--dark-gray: #40434e;
	--yellow: #f7ec59;
	--green: #06c755;
	--light-brown: #c99f69;
	--gra-blue: linear-gradient(-45deg, #216cb5, #aad2d6);
}
body {
	font-family: 'Noto Sans JP', sans-serif;
}

/* =============================================================================================
 * 基本設定
 * ========================================================================================== */
p,a,li {
    font-weight: 500;
}
.pt_0 {
	padding-top:0!important;
}
.pt_10 {
	padding-top:10px!important;
}
.pb_0 {
	padding-bottom:0!important;
}
.pb_10 {
	padding-bottom:10px!important;
}
.mt_0 {
	margin-top:0!important;
}
.mb_0 {
	margin-bottom:0!important;
}
.mr_0 {
	margin-right: 0!important;
}
.ml_0 {
	margin-left: 0!important;
}
.mt_10 {
	margin-top:10px!important;
}
.mb_10 {
	margin-bottom:10px!important;
}

.z_0 { z-index: 0; }
.z_1 { z-index: 1; }
.z_2 { z-index: 2; }
.z_3 { z-index: 3; }

.p_ab {
	position: absolute;
}
.p_rel {
	position: relative;
}
.d_flex {
	display:flex;
}
.d_flex.f_wrap {
    flex-wrap: wrap;
}
.inline_b {
	display:inline-block;
}
.js_sb {
	justify-content:space-between;
}
.js_fs {
	justify-content:flex-start;
}
.of_hd {
	overflow: hidden;
}
.smb-panels__item__action>a:focus:after {
    outline: none;
    outline-offset: 0px;
}

@media screen and (max-width: 639px) {
	.sp-spacer_10 { height: 10px!important; }
	.sp-spacer_20 { height: 20px!important; }
	.sp-spacer_30 { height: 30px!important; }
	.sp-spacer_40 { height: 40px!important; }
	.sp-spacer_50 { height: 50px!important; }
	.sp-spacer_60 { height: 60px!important; }
	.sp-spacer_70 { height: 70px!important; }
	.sp-spacer_80 { height: 80px!important; }
}

/* テキスト
--------------------------------------------------------------- */
.mincho {
	font-family: "Zen Antique Soft", serif;
}
.maru {
	font-family: 'Zen Maru Gothic', serif;
}
.mplus {
	font-family: "M PLUS 1", sans-serif;
}
.tomorrow {
	font-family: "Tomorrow", sans-serif;
}
.tate {
	writing-mode: vertical-rl;
}
p.text_justify {
	text-align: justify;
}
p {
	font-size: clamp(14px, 1.6vw, 16px);
}

.lh_1-2 { line-height: 1.2; }
.lh_1-3 { line-height: 1.3; }
.lh_1-4 { line-height: 1.4; }
.lh_1-5 { line-height: 1.5; }
.lh_1-6 { line-height: 1.6; }
.lh_1-7 { line-height: 1.7; }
.lh_1-8 { line-height: 1.8; }
.lh_1-9 { line-height: 1.9; }
.lh_2 { line-height: 2; }

.has-sm-xs-font-size { font-size: clamp(10px, 1.2vw, 12px)!important; }
.has-sm-s-font-size { font-size: clamp(12px, 1.4vw, 14px)!important; }
.has-sm-m-font-size { font-size: clamp(14px, 1.6vw, 16px)!important; }
.has-sm-l-font-size { font-size: clamp(16px, 1.8vw, 18px)!important; }
.has-sm-xl-font-size { font-size: clamp(18px, 2.4vw, 24px)!important; }
.has-sm-2-xl-font-size { font-size: clamp(20px, 2.8vw, 28px)!important; }
.has-sm-3-xl-font-size { font-size: clamp(24px, 3.2vw, 32px)!important; }
.has-sm-4-xl-font-size { font-size: clamp(28px, 3.6vw, 36px)!important; }
.has-sm-5-xl-font-size { font-size: clamp(32px, 4.0vw, 40px)!important; }

/* ===============================================================
 * 共通パーツ
 * ============================================================ */

/* 既存クラス
--------------------------------------------------------------- */
.wp-block-snow-monkey-blocks-section {/*1280px基準*/
	padding: clamp(50px, 9.375vw, 120px) 0;
}
#t-intro {
	padding: clamp(40px, 7.812vw, 100px) 0 0!important;
}
#t-news {
	padding-top: clamp(40px, 7.812vw, 100px)!important;
}
.smb-section__inner {
	width: 90vw;
	max-width: 90vw;
	margin: 0 auto;
}

/* 付与クラス
--------------------------------------------------------------- */
.box {
	padding: 60px;
	box-sizing: border-box;
}
@media screen and (max-width: 1023px) {
	.box {
		padding: 40px;
	}
}
@media screen and (max-width: 639px) {
	.box {
		padding: 20px;
	}
}

/* セクションタイトル
--------------------------------------------------------------- */
.section_title {/*1280px基準*/
	margin-bottom: clamp(30px, 3.906vw, 50px)!important;
}
.section_title h2 {
	font-size: clamp(30px, 5vw, 50px);
	letter-spacing: .1em;
}
.section_title p.subtitle {
	font-size: clamp(18px, 2.4vw, 24px);
	font-weight: 600;
	letter-spacing: .1em;
}

/* アイコン
--------------------------------------------------------------- */
svg.svg-inline--fa {
    margin-right: 7px;
}
 .p-global-nav--hover-extend-underline .c-navbar__item.cta:hover>a:after {
    width: 0;
}

/* ボタン
--------------------------------------------------------------- */
.btn_box_1 {/*1280px基準*/
	margin-top: clamp(30px,6.25vw,80px)!important;
}
.btn_1 {
	position: relative;
	width: 300px;
	height: 80px;
	background: linear-gradient(45deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%);
}
.btn_1:before {
	content: "";
	position: absolute;
	top: 7px;
	left: 7px;
	width: calc(100% - 14px);
	height: calc(100% - 14px);
	background-color: #fff;
	transform-origin: center right;
	z-index: 1;
	transition: .3s ease;
}
.btn_1:hover:before {
	transform: scale(0,1);
}
.btn_1 a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-around;
	width: 100%;
	background-color: transparent;
	color: #000;
	font-weight: 600;
	letter-spacing: .1em;
	z-index: 2;
}
.btn_1 a:hover {
	color: #fff;
}
.btn_1 a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: -40px;
	width: 80px;
	height: 1px;
	background-color: #757575;
	transition: .3s ease;
}
.btn_1 a:hover::before {
	transform: translatex(5px);
}
.btn_1 a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -40px;
	width: 20px;
	height: 1px;
	background-color: #757575;
	transform: rotate(20deg) translatey(-3.5px);
	transition: .3s ease;
}
.btn_1 a:hover::after {
	transform: rotate(20deg) translatex(5px) translatey(-5.5px);
}
.btn_1 a:hover {
	filter: brightness(100%);
}
@media screen and (max-width: 639px) {
	.btn_1 {
		width: 80%;
	}
}
.btn_box_2 {
	margin-top: 30px!important;
}
.btn_2 a {
	position: relative;
	padding: 0!important;
	padding-right: 45px!important;
	background-color: transparent!important;
	color: #000;
	font-size: 16px!important;
}
.btn_2 a::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	right: 0;
	width: 40px;
	height: 40px;
	background: linear-gradient(45deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%);
	transform: translatey(-50%);
	border-radius: 30px;
}
.btn_2 a::after {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	right: 17px;
	width: 7px;
	height: 7px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	transform: translatey(-50%) rotate(45deg);
}
.btn_2 a:hover {
	opacity: .6;
}
a.smb-btn,
.cta a span {
	background-color: var(--wp--preset--color--sm-accent);
    position: relative;
    transition: .25s;
    color: #fff;
	border-radius: 0;
	font-size: 1.1rem;
}
.cta a span {
    margin-left: 10px;
    padding: 0.5rem 1.8rem!important;
    max-height: 3rem;
}
.w_line a.smb-btn {
    border: 1px solid;
}
a.smb-btn::before,
.cta a span::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border: 2px solid transparent;
}
a.smb-btn::after,    
.cta a span::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border: 2px solid transparent;
}
a.smb-btn:hover,
.cta a:hover span {
    color: var(--wp--preset--color--sm-accent);
    box-shadow: none;
    background-color: #fff;
    transition: 1s;
    filter: brightness(100%);
}
    a.smb-btn:hover::before,
.cta a:hover span::before {
    width: 100%;
    height: 100%;
    border-top-color: var(--wp--preset--color--sm-accent);
    border-right-color: var(--wp--preset--color--sm-accent);
    transition: width .25s ease-out, height .25s ease-out .25s;
}
a.smb-btn:hover::after,
.cta a:hover span::after {
    width: 100%;
    height: 100%;
    border-bottom-color: var(--wp--preset--color--sm-accent);
    border-left-color: var(--wp--preset--color--sm-accent);
    transition: border-color 0s ease-out .5s, width .25s ease-out .5s, height .25s ease-out .75s;
}

/* テーブル
--------------------------------------------------------------- */
.wp-block-table tbody {
	border-top: solid 1px var(--accent-color);
}
.wp-block-table tr {
	border-bottom: solid 1px var(--accent-color);
}
.wp-block-table tr td {
    padding: 1rem;
	font-weight: 500;
    border: none;
}
.wp-block-table tr td:first-child {
    width: 30%;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    background-image: linear-gradient(-45deg, #3a95c74d, #aad2d64d);
}
.wp-block-table tr td:last-child {
    width: 70%;
    padding-left: 1.5rem;
}
@media screen and (max-width: 639px) {
	.wp-block-table tr td {
		display: block;
		box-sizing: border-box;
		width: 100%!important;
		padding: 1rem;
		font-size: 14px;
	}
	.wp-block-table tr td:first-child {
        text-align: left;
    }
	.wp-block-table tr td:last-child {
		padding-left: 1rem;
	}
}

/* リスト
--------------------------------------------------------------- */
ul li::marker {
	color: var(--accent-color);
}

/* ふきだし
--------------------------------------------------------------- */
.smb-balloon__body {
	background-color: #fff;
	border: solid 2px var(--accent-color);
	width: 100%;
}
@media screen and (max-width: 639px) {
	.smb-balloon__body:after {
		border-bottom-color: var(--accent-color);
	}
}
@media screen and (min-width: 640px) {
	.smb-balloon__body:after {
		border-right-color: var(--accent-color);
	}
}

/* ページネーション
--------------------------------------------------------------- */
.c-pagination__item,.c-pagination__item-link {
	font-weight: bold;
	border-radius: 0px;
}
.c-pagination__item-link svg.svg-inline--fa {
	margin-right: 0;
}
.c-pagination__item-link:hover {
	transition: .3s ease;
}

/* アニメーション
--------------------------------------------------------------- */
.mv_main_text .h_text.animate-in span {
	opacity: 1;
    transform: translateX(0);	
}
.mv_main_text .h_text span {
	display: inline-block;
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    transition-delay: calc(var(--i) * 0.05s);
}
.mv_eng_text .h_text.animate-in span {
	opacity: 1;
    transform: translateY(0);	
}
.mv_eng_text .h_text span {
	display: inline-block;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    transition-delay: calc(var(--i) * 0.05s);
}
.section_title .h_text.animate-in span {
    opacity: 1;
    transform: translateY(0);
}
.section_title .h_text span {
    display: inline-block;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    transition-delay: calc(var(--i) * 0.05s);
}
/*フェードイン*/
.fadein.animate-in {
	opacity: 1;
}
.fadein {
	opacity: 0;
	transition: opacity 0.8s ease, transform 0.8s ease;
	transition-delay: 0s;
}
/*左からフェードイン*/
.mv_sub_text_1.fadein-left.animate-in {
	opacity: 1;
	transform: translateX(0);
}
.mv_sub_text_1.fadein-left {
	opacity:0;
	transform: translateX(-10px);
	transition: opacity 0.8s ease, transform 0.8s ease;
	transition-delay: calc(var(--i) * 0.05s);
}
.section_title .fadein-left.animate-in {
	opacity: 1;
	transform: translateX(0);
}
.section_title .fadein-left {
	opacity:0;
	transform: translateX(-10px);
	transition: opacity 0.8s ease, transform 0.8s ease;
	transition-delay: calc(var(--i) * 0.05s);
}
/*左からフェードイン*/
.fadein-left.is-active {
	opacity: 1;
	transform: translateX(0);
}
/*下からフェードイン*/
.fade-bottom {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-bottom.is-active {
	opacity: 1;
	transform: translateY(0);
}

/* 流れる文字
--------------------------------------------------------------- */
.loop-wrap {
	display: flex;
	align-items: center;
	overflow: hidden;
	width: 100%;
	max-width: 100%!important;
}
.loop-area {
	display: flex;
	animation: loop-slide 55s infinite linear 1s both;
	margin: 0;
	padding: 0;
}
.loop-area p.content {
	padding-right: 0.3em!important;
	font-family: "tomorrow", sans-serif;
	font-size: clamp(34px, 15.625vw, 100px)!important;
	font-weight: 700;
	letter-spacing: .07em;
	white-space: nowrap;
	background: linear-gradient(45deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
@keyframes loop-slide {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
@media screen and (max-width: 639px) {
	.loop-area {
		animation: loop-slide 40s infinite linear 1s both;
	}
}

/* ===============================================================
 * Header
 * ============================================================ */
.l-header {
	transition: .3s ease;
	height: 70px;
	box-shadow: none;
}
.l-header__content {
	width: 95%;
	height: 100%;
	margin: 0 auto;
}
.l-1row-header {
	width: 100%;
	height: 100%;
}
.l-1row-header .c-fluid-container {
	height: 100%;
}
.c-site-branding__title {
	display: flex;
	align-items: center;
}
/*ロゴリンク*/
.custom-logo-link {
	display: inline-block;
	transition: .3s ease!important;
}
.c-site-branding__title .custom-logo {
	width: auto;
	height: 50px;
}
.l-header .c-row--lg-margin {
	--_gap: none;
}
.c-row>.c-row__col {
	padding: 0;
}
/*spの時*/
.c-drawer__controls {
	height: 70px;
}
@media screen and (max-width: 639px) {
	.l-header__content {
		width: 90%;
	}
}
@media screen and (min-width: 640px) {
	.l-header {
		height: 100px;
	}
	.c-site-branding__title .custom-logo {
		height: 70px;
	}
	.l-header .c-fluid-container {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	.l-header .c-fluid-container .c-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	.c-drawer__controls {
		height: 100px;
	}
}
@media screen and (min-width: 1024px) {
	.l-header__content {
		width: 100%;
	}
	.c-site-branding__title .custom-logo {
		margin-left: 50px;
	}
}
@media screen and (min-width: 1280px) {
	a.custom-logo-link:hover {
		opacity: .6;
	}
}

/* グローバルナビゲーション
--------------------------------------------------------------- */
/*共通*/
 .l-1row-header .c-fluid-container {
    padding-right: 0;
	padding-left: 0;
}
[data-scrolled=false] .l-header--sticky-overlay-colored-lg .p-global-nav .c-navbar__item>a {
    color: #fff;
} 
.p-global-nav .c-navbar__item.header_cta>a{
	background-color:var(--wp--preset--color--sm-accent);
    color: #fff;
}
.p-global-nav .c-navbar__item.tel>a {
    font-size: 1rem;
}
.p-global-nav .c-navbar__item.contact>a {
    font-weight: 500;
}
ul#menu-g_nav {
    height: 100px;
}
ul#menu-g_nav li a {
	font-family: "M PLUS 1", sans-serif;
	padding: var(--_padding-1) 15px;
	white-space: nowrap;
}
ul#menu-g_nav li:nth-child(4) a {
	padding-right: 35px;
}
ul#menu-g_nav li:nth-child(5) a {
	padding: 2em 50px;
	border: solid 1px var(--accent-color);
}
ul#menu-g_nav li:nth-child(5) a:hover {
	background-color: #fff;
	color: var(--accent-color);
}
li.header_cta.tel::after {
    content: "";
    width: 1px;
    height: 90%;
    position: absolute;
    top: 50%;
    left: 0;
    background-color: #fff;
    transform: translateY(-50%);
}
.p-global-nav .c-navbar__item[aria-haspopup=true]:before{
	display : none;
}
li.g_nav_sab {
    border-bottom: 1px solid #ffffff80;
}
.p-global-nav .c-navbar__item.header_cta>a:hover {
    opacity: 0.9;
    transition: 0.5s;
}
@media screen and (max-width:1280px) {
	[data-scrolled=false] .l-header--sticky-overlay-colored-lg .p-global-nav .c-navbar__item>a {
		color: #fff;
		padding-right: 15px;
		padding-left: 15px;
	}
}
/*以下ドロワーナビゲーション「オーバーオール」の時*/
@media screen and (max-width: 1024px) {
	[id=drawer-nav].c-drawer--overall .c-drawer__controls {
		display: flex;
		align-items: center;
		justify-content: end;
		width: 100%;
		left: 0;
		right: auto;
		padding-left: 2.5%;
		padding-right: 2.5%;
	}
	#hamburger-btn {
		margin-right: 1%;
	}
	ul#menu-sp_nav li a {
		text-align: center;
	}
} 
@media screen and (max-width: 639px) {
	[id=drawer-nav].c-drawer--overall .c-drawer__controls {
		padding-left: 5%;
		padding-right: 5%;
	}
	#hamburger-btn {
		margin-right: 0px;
	}
}

/* ===============================================================
 * Footer
 * ============================================================ */
.l-footer {
	border: none;
	background-color: #fff;
}
.l-footer .c-container {
	width: 90%;
	max-width: 1280px;
	padding: 0;
}
.l-footer p {
	letter-spacing: 0.05em;
}
.l-footer .c-row--lg-margin-l {
	--_gap: 0;
}
.l-footer--default .l-footer-widget-area {
	padding-top: 50px;
	padding-bottom: 30px;
}
.l-footer--footer .l-footer__body {
	border-top: none;
}
.l-footer .wp-block-image img {
	width: 100%;
	max-width: 300px;
}
.post-type-archive-works .l-footer,
.single-works .l-footer,
.blog .l-footer,
.single-post .l-footer,
.page-id-23 .l-footer,
.privacy-policy .l-footer,
.error404 .l-footer{
	border-top: solid 1px var(--accent-color);
}
@media screen and (max-width: 1023px) {
	.l-footer p {
		text-align: center;
		font-size: 13px;
	}
	.l-footer .wp-block-image {
		width: 80%;
		max-width: 300px;
	}
	.l-footer .wp-block-image img {
		text-align: center;
	}
}
@media screen and (min-width: 640px) {
	.l-footer--default .l-footer-widget-area {
		padding-top: 65px;
		padding-bottom: 50px;
	}
}
@media screen and (min-width: 1024px) {
	.l-footer .wp-block-image a {
		transition: .3s ease;
	}
	.l-footer .wp-block-image a:hover {
		opacity: .6;
	}
	.l-footer-widget-area__item:nth-of-type(1) {
		--_item-width: 58%;
	}
	.l-footer-widget-area__item:nth-of-type(2) {
		--_item-width: 42%;
	}
}

/* 電話ボタン・お問い合わせボタン
--------------------------------------------------------------- */
ul#menu-footer_contact_btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 70px;
	padding-left: 1.5em;
	padding-right: 1.5em;
	background-image: var(--gra-blue);
	border-image: var(--gra-blue);
	border-image-slice: 1;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	border: solid 3px #fff;
	transition: .3s ease;
	font-family: "M PLUS 1", sans-serif;
}
ul#menu-footer_contact_btn a:hover {
	text-decoration: none;
}
@media screen and (min-width: 640px) {
	ul#menu-footer_contact_btn {
		display: flex;
	}
	ul#menu-footer_contact_btn {
		width: 100%;
		max-width: 550px;
		margin: 0 auto;
	}
	ul#menu-footer_contact_btn li {
		display: flex;
		justify-content: center;
		width: 50%;
		margin: 0;
	}
	ul#menu-footer_contact_btn a {
		width: 100%;
		max-width: 250px;
	}
}
@media screen and (min-width: 1024px) {
	ul#menu-footer_contact_btn {
		max-width: 100%;
		margin: 0 auto 0 0;
	}
	ul#menu-footer_contact_btn li {
		justify-content: flex-start;
		width: 250px;
	}
	ul#menu-footer_contact_btn li:first-child {
		margin-right: 15px;
	}
	ul#menu-footer_contact_btn a:hover {
		background-color: #fff;
		background-image: none;
		color: var(--accent-color);
		border: solid 1px var(--accent-color);
	}
	ul#menu-footer_contact_btn li:nth-of-type(2) a:hover {
		background-color: #fff;
	}
}

/* フッターナビゲーション
--------------------------------------------------------------- */
.l-footer .widget_nav_menu {
	width: 100%;
}
ul#menu-footer {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#menu-footer li {
	margin-top: 0;
}
#menu-footer li a {
	transition: .3s ease;
	font-size: 1rem;
	font-weight: nomal;
	font-family: "M PLUS 1", sans-serif;
	color: #000;
}
#menu-footer a:hover {
	opacity: .6;
}
@media screen and (max-width: 639px) {
	ul#menu-footer::after {
		content: "";
		display: block;
		width: 50%;
	}
	#menu-footer {
		margin: 25px 0;
	}
	#menu-footer li {
		width: 50%;
		text-align: center;
		padding: 5px 0;
	}
}
@media screen and (max-width: 1190px) {
	ul#menu-footer a {
		font-size: 15px;
	}
}
@media screen and (max-width: 1023px) {
	ul#menu-footer {
		width: 100%;
		max-width: 550px;
		justify-content: space-around;
		margin: 30px auto 0;
	}
}
@media screen and (min-width: 1024px) {
	#menu-footer {
		justify-content: flex-end;
	}
	#menu-footer li:not(:first-child) {
		padding-left: 2em;
	}
}

/* コピーライト
--------------------------------------------------------------- */
.c-copyright--inverse {
	display: flex;
	background: none;
	color: #757575;
	font-size: 12px;
	height: 90px;
	align-items: center;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
	.c-copyright--inverse {
		font-size: 14px;
	}
}

/* トップに戻るボタン
--------------------------------------------------------------- */
#page-top {
	right: 10px;
	bottom: 10px;
	background: linear-gradient(45deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%);
	border-radius: 50px;
}
#page-top svg.svg-inline--fa {
	margin-right: 0;
}

/* ===============================================================
 * Main：top
 * ============================================================ */

/* メインビジュアル
--------------------------------------------------------------- */
#t-mv {
	position: relative;
	height: calc(100vh - 100px);
	min-height: 600px;
}
#t-mv::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -45%;
	width: 50%;
	height: 100%;
	background: linear-gradient(45deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%);
	z-index: -1;
}
#t-mv .smb-section__inner,
#t-mv .c-container, 
#t-mv .smb-section__contents-wrapper {
	width: 100%;
	max-width: 100%;
	height: 100%;
}
.mv_box {
	position: absolute;
	top: 0;
	left: 50%;
	width: calc(100% - 100px);
	height: calc(100% - 50px);
	transform: translatex(-50%);
}
/*英語会社名*/
.mv_main_text_boxes {
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translatex(-50%);
	padding: 0!important;
	width: calc(100% - 180px);
}
.mv_main_text_boxes p {
	position: relative;
	font-size: clamp(36px, 7.3vw, 7.3vw);
	padding: 0!important;
	background: linear-gradient(45deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	-webkit-text-stroke: 1px #fff;
	text-stroke: 1px #fff;
	paint-order: stroke;
	font-weight: 600;
	text-align: cenetr;
	letter-spacing: .07em;
	line-height: 1;
}
.mv_main_text_boxes p::after {
	content: "MARUU SEISAKUSHO";
	position: absolute;
	top: 0;
	left: 0;
	font-size: clamp(36px, 7.3vw, 7.3vw);
	text-shadow: 4px 4px 3px rgba(0,0,0,.8);
	z-index: -1;
}
/*キャッチコピー*/
.mv_text_boxes {
	position: absolute;
	bottom: 90px;
	left: 90px;
}
.mv_text_box {
	padding: .3em .4em .3em;
	background-color: var(--accent-color);
}
.mv_text_box_2 {
	padding: .6em .4em 1.0em;
}
.mv_text_box p {
	color: #fff;
	font-weight: 600;
	font-size: clamp(24px, 4.0vw, 40px);
	line-height: 1;
}
.mv_text_box p.ex {
	font-size: clamp(26px, 5.0vw, 50px);
}
p.main_text {
	background-color: #fff;
	color: var(--accent-color);
	padding: .1em .1em .25em;
}
@media screen and (max-width: 1023px) {
	.mv_box_child {
		height: 33.333%;
	}
}
@media screen and (max-width: 639px) {
	#t-mv {
		height: calc(100svh - 70px);
	}
	.mv_box {
		width: calc(100% - 40px);
		height: calc(100% - 20px);
	}
	.mv_main_text_boxes {
		top: 0;
		width: calc(100% - 80px);
	}
	.mv_main_text_boxes p {
		font-size: 10.5vw;
	}
	.mv_main_text_boxes p::after {
		font-size: 10.5vw;
	}
	.mv_text_boxes {
		bottom: 40px;
		left: 40px;
	}
	.mv_text_box {
		display: inline-block;
	}
	.mv_text_box .box02 {
		margin-top: 5px;
	}
	.mv_text_box_2 .wp-block-group-is-layout-flex {
		align-items: end;
	}
	.mv_text_box p {
		line-height: 1.2;
		font-size: 7.0vw;
	}
	.mv_text_box p.ex {
		font-size: 8.0vw;
	}
}
@media screen and (min-width: 640px) {
	.mv_text_box {
		display: inline-flex;
	}
	.mv_text_box .box01 {
		margin-right: 7px!important;
	}
}
@media screen and (min-width: 1024px) {
	.mv_box {
		display: flex;
	}
	.mv_box_child {
		width: 33.333%;
	}
}

/* 導入
--------------------------------------------------------------- */
.intro_box_1 img {
	position: relative;
	left: -6%;
}
.intro_index {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
	background-image: var(--gra-blue);
	color: #fff;
	padding: .2em .5em .3em!important;
	font-size: clamp(24px, 5vw, 50px);
}
.intro_text {
	background-color: rgba(255,255,255,.8);
	padding: 2em 2.3em;
}
@media screen and (min-width: 1024px) {
	.intro_box_1 img {
		width: 65%;
	}
	.intro_box_2 {
		position: relative;
		top: -120px;
		display: flex;
		justify-content: flex-end;
	}
	.intro_box_2 .intro_text {
		width: 57%;
		margin: 0!important;
	}
	.intro_box_2 .wp-block-image {
		display: block;
		width: 30%;
		margin: 0!important;
	}
}
@media screen and (max-width: 1023px) {
	.intro_index {
		top: auto;
		bottom: 10px;
	}
	.intro_box_2 .wp-block-image {
		top: -15vw;
		width: 60%;
		margin-right: 0!important;
		margin-left: auto!important;
		z-index: -1;
	}
	.intro_box_2 .intro_text {
		margin: 0!important;
		padding: 2em 0;
	}
}

/* 事業内容
--------------------------------------------------------------- */
.service_box {
	position: relative;
	overflow: hidden;
}
.service_box img {
	transition: .3s ease;
}
.service_box:hover img {
	transform: scale(1.1);
}
.service_box:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(77,77,77,.3);
	mix-blend-mode: multiply;
	z-index: 1;
	transition: .3s ease;
}
.service_box:hover:before {
	background-color: rgba(77,77,77,.6);
}
.service_box .text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	white-space: nowrap;
	z-index: 2;
}
.service_box h3 {
	color: #fff;
	letter-spacing: .1em;
	transition: .3s ease;
}
.service_box:hover h3 {
	letter-spacing: .2em;
}
.service_box .arrow_box {
	position: relative;
	width: 50px;
	height: 50px;
	border-radius: 30px!important;
	overflow: hidden;
	transition: .3s ease;
}
.service_box:hover .arrow_box {
	transform: translatex(5px);
}
.service_box .arrow_box::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	height: 3px;
	width: 25px;
	background-color: #000;
	z-index: 2;
}
.service_box .arrow_box::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(calc(-50% + 8px),-50%) rotate(45deg);
	width: 8px;
	height: 8px;
	border-top: solid 3px #000;
	border-right: solid 3px #000;
}
.service_box .arrow_box p {
	display: none;
}
@media screen and (max-width: 639px) {
	.service_box .arrow_box {
		width: 40px;
		height: 40px;
	}
	.service_box .arrow_box::before {
		height: 2px;
		width: 20px;
	}
	.service_box .arrow_box::after {
		border-top: solid 2px #000;
		border-right: solid 2px #000;
		transform: translate(calc(-50% + 5px),-50%) rotate(45deg);
	}
}

/* 製品紹介
--------------------------------------------------------------- */
#t-products {
	background-image: linear-gradient(-45deg, #3a95c74d, #aad2d64d);
}
.products_box {
	box-shadow: 7px 7px 7px rgba(25,42,81,.5);
	transition: .3s ease;
}
.products_box figure img {
	width: 100%;
}
.products_index {
	position: relative;
	padding-left: 1.4em!important;
}
.products_index::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	width: 1.1em;
	height: 1.1em;
	background: url("/wp-content/uploads/2025/09/icon_gear.png") center / contain no-repeat;
	transform: translatey(calc(-50% + 2px));
}
@media screen and (min-width: 782px) {
	.products_box.left {
		position: relative;
		left: -6.5%;
		padding-left: 80px;
	}
	.products_box.right {
		position: relative;
		right: -6.5%;
		flex-direction: row-reverse;
		padding-right: 80px;
	}
	.products_index {
		margin-right: .5em!important;
	}
	.products_index_box {
		display: flex;
		justify-content: flex-start!important;
		align-items: end;
	}
	.products_index_box p {
		display: inline-block;
	}
}
@media screen and (min-width: 1441px) {
	.products_box.left {
		padding-left: 28.8px;
	}
	.products_box.right {
		padding-right: 28.8px;
	}
}

/* 取引実績
--------------------------------------------------------------- */
#t-works::after {
	content: "";
	position: absolute;
	display: block;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60%;
	background-image: var(--gra-blue);
	clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 125px), 0% 100%);
	z-index: -1;
}
#works::after {
	content: "";
	position: absolute;
	display: block;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60%;
	background-image: var(--gra-blue);
	z-index: -1;
}
@media screen and (min-width: 1024px) {
	#t-works .btn_box_2,
	#works .btn_box_2 {
		position: absolute;
		top: 0;
		right: 5%;
	}
}

/*スノーモンキーブロック：リッチメディアカルーセル*/
.spider>.spider__arrow {
	width: 40px;
	height: 40px;
	background-color: #000;
	border-radius: 20px;
	transition: .3s ease;
}
.spider__arrow:hover {
	background-color: var(--accent-color);
}
.spider__arrow:before {
	width: 7px;
	height: 7px;
	border-color: #fff!important;
}
.spider__arrow[data-direction=prev] {
    left: -20px;
}
.spider__arrow[data-direction=prev]:before {
	transform: rotate(45deg) translatex(3px);
}
.spider__arrow[data-direction=next] {
    right: -20px;
}
.spider__arrow[data-direction=next]:before {
	transform: rotate(45deg) translatex(-3px);
}
.spider__dots:not([data-thumbnails=true]) .spider__dot {
	background-color: #fff;
}
@media screen and (max-width: 639px) {
	.spider__arrow[data-direction=prev] {
		left: -10px;
	}
	.spider__arrow[data-direction=next] {
		right: -10px;
	}
}
@media screen and (max-width: 1023px) {
	.c-entries-carousel .spider__dots {
		margin-top: 15px;
	}
}

/* 選ばれる3つの理由
--------------------------------------------------------------- */
.reason_box {
	position: relative;
	padding-left: 40px!important;
	padding-right: 40px!important;
	padding-bottom: 40px!important;
	background: url("/wp-content/uploads/2025/10/reasons_bg_img_1.jpg") center / cover no-repeat;
}
.reason_box:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(45deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%);
	mix-blend-mode: multiply;
}
.reason_box:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% - 30px);
	height: calc(100% - 30px);
	transform: translate(-50%,-50%);
	border: solid 1px #fff;
}
.circle_width {
	width: 100%;
	max-width: 230px;
	border-radius: 50%;
	background-color: #fff;
}
.reason_index {
	position: relative;
	display: flex;
	align-items: center;
	height: 0;
	padding-top: 100%;
}
.reason_index::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	transform: translate(-50%,-50%);
	border: solid 1px #757575;
	border-radius: 100px;
}
.reason_index h3 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	white-space: nowrap;
}
.reason_index::after {
	content: "01";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	color: #e6e6e6;
	font-family: "Tomorrow", sans-serif;
	font-size: clamp(80px, 10vw, 100px);
	font-weight: 700;
	white-space: nowrap;
}
.reason_box:nth-of-type(2) .reason_index::after {
	content: "02";
}
.reason_box:nth-of-type(3) .reason_index::after {
	content: "03";
}
.reason_box h4 {
	font-size: clamp(26px, 3vw, 30px)!important;
}
@media screen and (max-width: 781px) {
	.reason_index {
		
	}
}

/* 代表挨拶
--------------------------------------------------------------- */
#t-greeting {
	position: relative;
}
#t-greeting::after {
	content: "";
	position: absolute;
	display: block;
	top: clamp(70px, 11.718vw, 150px);
	left: 0;
	width: calc(50% + 50px);
	height: calc(100% - clamp(95px, 16.406vw, 210px));
	background-image: linear-gradient(-45deg, #3a95c74d, #aad2d64d);
	z-index: -1;
}
#t-greeting h3 {
	display: inline-block;
	background-image: var(--gra-blue);
	color: #fff;
	padding: .1em .5em .2em;
}
@media screen and (max-width: 781px) {
	#t-greeting img {
		display: block;
		margin: 0 auto;
		width: 80%;
	}
}

/* 一般のお客様へ
--------------------------------------------------------------- */
@media screen and (max-width: 639px) {
	.general_box {
		padding: 25px!important;
	}
}

/* お知らせ
--------------------------------------------------------------- */
.c-entry-summary__title {
	font-weight: 600!important;
}
.c-meta__item--published {
	font-weight: 500!important;
}
.snow-monkey-posts .c-entries__item a {
	padding-left: var(--entries--gap);
	padding-right: var(--entries--gap);
	font-family: "Tomorrow", "M PLUS 1", sans-serif;
}
.snow-monkey-posts .c-entries__item a time {
	color: #666666;
}

/* お問い合わせ(cta)
--------------------------------------------------------------- */
#cta {
	position: relative;
}
#cta::after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #4d4d4d;
	mix-blend-mode: multiply;
}
#cta .btn_contact {
	width: 100%;
	max-width: 350px;
}
/*電話ボタン共通*/
.btn_tel a {
	padding: 0;
	background-color: transparent;
	font-family: "Tomorrow", sans-serif;
	font-size: clamp(28px,4.3vw,43px);
	font-weight: bold;
	white-space: nowrap;
}
.btn_tel a:hover {
	opacity: .6;
}
.btn_tel a svg {
	color: var(--accent-color);
}
#cta .btn_contact a {
	position: relative;
	display: flex;/*必須*/
	align-items: center;/*必須*/
	justify-content: center;/*必須*/
	border-radius: 0px!important;
	border: solid 1px var(--accent-color);
	font-size: 18px;
	font-weight: bold;
	height: 60px;
	width: 100%;
	color: #fff;
	background-color: var(--accent-color);
	transition: .3s ease;
}
#cta .btn_contact a:hover {
	filter: brightness(100%);
	background-color: #fff;
	color: var(--accent-color
);
}
@media screen and (max-width: 639px) {
	#cta .btn_contact a {
		font-size: 16px;
	}
}

/* ===============================================================
 * Main：lower
 * ============================================================ */

/* 既存クラス
--------------------------------------------------------------- */
.l-contents__container {/*HOME以外のページ左右余白*/
	padding-left: 0;
	padding-right: 0;
}
.page-id-19 .l-contents__inner:last-child,
.page-id-156 .l-contents__inner:last-child {
	padding-bottom: 0;
}

/* ぱんくずリスト
--------------------------------------------------------------- */
.p-breadcrumbs-wrapper {
	position: relative;
	left: 0;
	width: 90%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0;
	border-bottom: solid 1px var(--accent-color);
}
.p-breadcrumbs-wrapper a {
	position: relative;
	color: var(--accent-color);
	z-index: 2;
}

/* 下層ページヘッダー
--------------------------------------------------------------- */
.c-page-header {
	padding-top: 100px;
	padding-bottom: 100px;
	background: url("/wp-content/uploads/2025/10/page-title_img.jpg") center / cover no-repeat;
}
.c-page-header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
	mix-blend-mode: multiply;
}
.c-page-header__title {
	font-family: "M PLUS 1", sans-serif;
	font-size: clamp(24px, 3.2vw, 32px)!important;
	color: #fff;
	letter-spacing: .1em;
}
.c-page-header__meta {
	color: #fff;
}
.c-page-header[data-has-image=true] {
    height: unset;
}
.c-page-header[data-has-image=true] .c-page-header__content {
    color: unset;
}
.c-page-header__bgimage>img, 
.c-page-header__bgimage>picture>img{
	display: none;
}
@media screen and (max-width: 639px) {
	.c-page-header {
		padding-top: 70px;
		padding-bottom: 70px;
	}
	.c-page-header__meta {
		font-size: 13px;
	}
}

/* 会社概要
--------------------------------------------------------------- */
@media screen and (max-width: 639px) {
	#access iframe {
		height: 350px;
	}
}

/* 事業内容
--------------------------------------------------------------- */
#service {
	background-image: linear-gradient(-45deg, #3a95c74d, #aad2d64d);
}
#service #menu1,
#service #menu2 {
	padding-top: clamp(30px, 6.25vw, 80px)!important;
}
.item_box {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.item_box::after {
	content: "";
	display: block;
	width: 33.33%;
}
.item_box .item {
	width: 32%;
	margin-bottom: 15px;
}
.facility_link {
	background-image: linear-gradient(-45deg, #3a95c74d, #aad2d64d);
	transition: .3s ease;
}
.facility_link::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	display: block;
	width: 50px;
	height: 50px;
	background-color: #fff;
	border-radius: 30px;
	transform: translatey(-50%);
}
.facility_link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 37px;
	display: block;
	width: 8px;
	height: 8px;
	border-top: solid 1px var(--accent-color);
	border-right: solid 1px var(--accent-color);
	transform: translatey(-50%) rotate(45deg);
}
.facility_link:hover {
	background-color: var(--accent-color);
	color: #fff;
}
@media screen and (max-width: 639px) {
	.item_box .item {
		width: 48%;
	}
	.item_box::after {
		width: 50%;
	}
	p.memo {
		text-align: left;
	}
}

/* 保有設備
--------------------------------------------------------------- */
#equipment .wp-block-table thead {
	background: transparent;
	border-bottom: solid 2px var(--accent-color);
}
#equipment .wp-block-table tr th {
	text-align: left;
	padding-left: 1.5rem;
	color: var(--accent-color);
}
#equipment .wp-block-table tr td {
    padding: 1rem 1.5rem;
	font-weight: 500;
    border: none;
}
#equipment .wp-block-table tr td:first-child {
    width: 50%;
    font-weight: normal;
    text-align: left;
    vertical-align: middle;
    background: transparent;
}
#equipment .wp-block-table tr td:last-child {
    width: 50%;
    padding-left: 1.5rem;
}
@media screen and (max-width: 639px) {
	#equipment .wp-block-table tr {
		display: flex;
	}
	#equipment .wp-block-table tr th {
		padding-left: 1rem;
		width: 50%;
	}
	#equipment .wp-block-table tr td {
		display: block;
		width: 50%!important;
		box-sizing: border-box;
		padding: 1rem;
	}
	#equipment .wp-block-table tr td:last-child {
		padding-left: 1rem;
	}
}

/* お知らせ
--------------------------------------------------------------- */
/*一覧*/
.blog .c-entries--simple .c-entries__item>a {
	padding-top: 15px;
	padding-bottom: 15px;
}
.blog .l-contents__main,
.category .l-contents__main {
	width: 90%;
	max-width: 1150px;
	margin: 0 auto;
}
.c-entry-summary__term {
	background: var(--gra-blue);
}
/*詳細*/
article.type-post {
	width: 90%;
	max-width: 1150px;
	margin: 0 auto;
}
.single-post .c-meta__item--author/*投稿者*/ {
	display: none;
}
.single-post .c-meta__item--modified/*更新日*/ {
	display: none;
}
@media screen and (max-width: 639px) {
	.blog .c-entry-summary__title {
		font-size: 14px;
	}
	.blog .c-entry-summary__meta {
		margin-top: .8em;
	}
}

/* 取引実績
--------------------------------------------------------------- */
/*一覧*/
.post-type-archive-works .l-contents__main {
	width: 90%;
	max-width: 1150px;
	margin: 0 auto;
}
.post-type-archive-works .c-entry-summary__figure {
	border-radius: 0px;
	margin-bottom: 10px;
}
.post-type-archive-works .c-entry-summary__title {
	font-size: clamp(16px, 1.8vw, 18px);
}
/*詳細*/
article.works .spider__arrow {
	background-color: var(--accent-color);
	transition: .3s ease;
	border-radius: 30px;
}
article.works .spider__arrow:hover {
	background-color: #000;
}
article.works .c-entry-summary__figure {
	border-radius: 20px;
	margin-bottom: 10px;
}
.c-prev-next-nav {
	width: 90%;
	margin: 0 auto;
}
@media screen and (max-width: 639px) {
	.post-type-archive-works .c-entry-summary__figure {
		margin-bottom: 10px;
	}
	article.works table td {
		font-size: 14px;
	}
	article.works .c-entry-summary__title,
	.post-type-archive-works .c-entry-summary__title {
		font-size: 14px;
	}
}

/* お問い合わせ
--------------------------------------------------------------- */
.page-id-23 .l-contents__inner {
	margin-top: 0;
}
#contact_tel {
	background: var(--gra-blue);
}
#contact_tel a:hover {
	opacity: .6;
}

/* お問い合わせフォーム
--------------------------------------------------------------- */
/*ボタン共通*/
.smf-action .smf-button-control__control {
	width: 100%;
    max-width: 350px;
	height: 70px;
	margin-bottom: 20px;
	padding-left: 1.5em;
	padding-right: 1.5em;
	background: var(--accent-color);
	border: solid 1px var(--accent-color)!important;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	font-family: "M PLUS 1", sans-serif;
	letter-spacing: .1em;
	border-radius: 0;
	transition: .3s ease;
}
/*確認ボタン*/
.smf-action .smf-button-control__control[data-action="confirm"]:hover {
	background-color: #fff!important;
	color: var(--accent-color)!important;
	border: solid 1px var(--accent-color)!important;
}
/*戻るボタン*/
.smf-action .smf-button-control__control[data-action="back"] {
	background: var(--sub-accent-color);
	border: solid 1px var(--sub-accent-color)!important;
	margin-left: 5px;
	margin-right: 5px;
}
.smf-action .smf-button-control__control[data-action="back"]:hover {
	background-color: #fff;
	color: var(--sub-accent-color);
	border: solid 1px var(--sub-accent-color)!important;
}
/*送信ボタン*/
.smf-action .smf-button-control__control[data-action="complete"] {
    margin-left: 5px;
	margin-right: 5px;
}
.smf-action .smf-button-control__control[data-action="complete"]:hover {
	background-color: #fff!important;
	color: var(--accent-color)!important;
	border: solid 1px var(--accent-color)!important;
}
/*余白調整*/
.smf-action .smf-button-control + .smf-button-control {
	margin-left: 0;
}
/*必須文字*/
.smf-item__description {
	margin-top: 0;
	color: var(--accent-color);
}
/*フォームスタイル「Letter」の時の必須文字*/
.smf-form--letter .smf-item__col--label {
	display: flex;
}
.smf-item__description {
	padding: 0 .3em;
	margin-top: .1em;
	margin-left: .5em;
	color: #fff;
	background-color: var(--accent-color);
}
/*フォームスタイル「Letter」の時の確認画面*/
.snow-monkey-form[data-screen="confirm"] .smf-form--letter .smf-item {
	border-bottom: solid 1px var(--sub-accent-color);
}
@media screen and (max-width: 639px) {
	.smf-action .smf-button-control__control {
		font-size: 16px;
		margin-left: 0!important;
		margin-right: 0!important;
	}
}
/* プライバシーポリシー
--------------------------------------------------------------- */
#privacy h3 {
    margin-bottom: 10px !important;
    padding-left: 10px;
    border-left: solid 3px var(--accent-color);
    font-weight: 700;
}

/* エラー404
--------------------------------------------------------------- */
.error404 .l-contents__main {
	width: 90%;
	margin: 0 auto;
}