@charset "UTF-8";

/*
Theme Name: maruotosou
Theme URI: https://wordpress.org/themes/twentytwentyone/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Twenty Twenty-One is a blank canvas for your ideas and it makes the block editor your best brush. With new block patterns, which allow you to create a beautiful layout in a matter of seconds, this theme’s soft colors and eye-catching — yet timeless — design will let your work shine. Take it for a spin! See how Twenty Twenty-One elevates your portfolio, business website, or personal blog.
Requires at least: 5.3
Tested up to: 6.8
Requires PHP: 5.6
Version: 2.5.151
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyone
Tags: one-column, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, blog, portfolio

Twenty Twenty-One WordPress Theme, (C) 2020 WordPress.org
Twenty Twenty-One is distributed under the terms of the GNU GPL.
*/
@import url('./layout.css');

/* Variables */
:root {

	--global--color--red: #e60012;
	--global--color--gray: #d7d7d7;
	--global--color--black: #1b1b1b;
	--global--color--green: #4db56a;
	--global--color--blue: #195de1;
	--global--color--green--hover: #40c264;
	--global--color--white: #ffffff;
	--global--color--lightgray: #f3f4f5;
	--global--color--red--hover: #ca0211;
	--global--color--line: #09a75a;
	--global--color--bggray: #f7f7f8;

	--global--button--height: 8rem;
	--global--button--height--sp: 11rem;


	--global--header--height: 11rem;
	--global--header--height--sp: 5.5rem;
	--global--header--menu--line: 2.6rem;
	
	--global--footer--height--sp: 5.5rem;

}

	img{ max-width: 100%; }
.notosans {
  font-family: 'Noto Sans JP', san-serif;
  font-style: normal;
}
.poppins {
  font-family: "Poppins", sans-serif;
  font-style: normal;
}
.homemade-apple{
  font-family: "Homemade Apple", cursive;
  font-style: normal;
}



body{
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}


/* ------------------------------------------------------------------------------------------

	共通設定

------------------------------------------------------------------------------------------ */
main{ margin-bottom: calc(var(--global--button--height) + 3rem); }
section .inners{ max-width: 69.7rem; margin: 0 auto; padding: 0 3rem; }
.headeres{ padding-bottom: 1.5rem; border-bottom: var(--global--color--red) .5rem solid; text-align: center; }
.headeres .logo{ max-width: 15rem; margin: 0 auto; }


section.separate{ padding-top: 8rem; border-top: var(--global--color--gray) .1rem solid; position: relative; }
section.separate::before{ content: "改ページ"; position: absolute; top: -.9rem; left: calc(50% - 5rem); background-color: var(--global--color--white); line-height: 1; width: 100px; text-align: center; font-size: 14px; }


/* ------------------------------------------------------------------------------------------

	報告書表紙 ｜　工事写真表紙

------------------------------------------------------------------------------------------ */

section.cover .header .date{ text-align: right; margin: 5rem 0; line-height: 1; font-size: 1.2rem; }

section.cover .header .line{ border-bottom: var(--global--color--red) 2.4rem solid; position: relative; }
section.cover .header .line .mark{ position: absolute; width: 14.5rem; height: 4.8rem; right: 1.5rem; top: -.7rem; }

section.cover .header h1{ margin: 3.7rem auto; font-size: 4rem; text-align: center; line-height: 1; }

section.cover .cover_image{ text-align: center; margin: 0 2rem; height: 50.5rem; overflow: hidden; }
section.cover .cover_image img{ max-width: 100%; width: 100%; height: 100%; object-fit: cover; }

section.cover h2{ margin: 5rem auto 0; padding-bottom: 4rem; text-align: center; font-size: 3.0rem; line-height: 1; border-bottom: var(--global--color--black) .2rem solid; }

section.cover .footer{ border-bottom: var(--global--color--red) 2.4rem solid; }

section.cover .footer dl{ display: flex; justify-content: center; align-items: flex-end; margin: 3rem auto 2.5rem; }
section.cover .footer dl dt{ width: 20.1rem; }
section.cover .footer dl dt img{ width: 100%; }
section.cover .footer dl dd{ margin-left: 4.0rem; font-size: 1.3rem; }

section.cover .footer .info{ border: var(--global--color--black) .1rem solid; border-radius: .5rem; text-align: center; line-height: 1; padding: 1.2rem 0; margin-bottom: 3rem; }
section.cover .footer .info p{ font-size: 1.4rem; }


/* 工事写真表紙 */
section.cover_photo{ page-break-before: always; margin-top: 8rem; }





/* ------------------------------------------------------------------------------------------

	診断報告書

------------------------------------------------------------------------------------------ */
section.page{ page-break-before: always; margin-top: 8rem; }

section.page .page-diagnosis-list{ margin: 0 1rem; }
section.page .page-diagnosis-list .page-diagnosis{ padding: 2rem 0; border-bottom: var(--global--color--gray) .1rem solid; display: flex; align-items: flex-start; height: 32.8rem; overflow: hidden; }
section.page .page-diagnosis-list .page-diagnosis .photo{ max-height: 50rem; width: 35rem; }
section.page .page-diagnosis-list .page-diagnosis .photo img{ max-width: 100%; object-fit: cover; }
section.page .page-diagnosis-list .page-diagnosis .texts{ width: calc(100% - 35rem); padding-left: 3rem; }
section.page .page-diagnosis-list .page-diagnosis .texts span{ font-size: 1.8rem !important; }
section.page .page-diagnosis-list .page-diagnosis .texts dl{ display: flex; }
section.page .page-diagnosis-list .page-diagnosis .texts dl.texts01{ align-items: flex-end; }
section.page .page-diagnosis-list .page-diagnosis .texts dl *{ font-size: 1.4rem; }
section.page .page-diagnosis-list .page-diagnosis .texts dl dt{ width: 8.5rem; text-align: center; }
section.page .page-diagnosis-list .page-diagnosis .texts dl dd{ width: calc(100% - 8.5rem); }





/* ------------------------------------------------------------------------------------------

	工事写真帳

------------------------------------------------------------------------------------------ */
section.album{ page-break-before: always; margin-top: 8rem; }


.page-album-list{ display: flex; justify-content: center; flex-wrap: wrap; margin: 0 2%; }

.page-album-list dl{ width: 47%; border-bottom: var(--global--color--gray) .1rem solid; margin-top: 5rem; }
.page-album-list dl:nth-child(odd){ margin-right: 2%; }
.page-album-list dl dd{ padding: 2rem 0; text-align: center; line-height: 1; }
.page-album-list dl dt{ height: 22rem; }
.page-album-list dl dt img{ max-width: 100%; width: 100%; height: 100% !important; object-fit: cover; }





/* ------------------------------------------------------------------------------------------

	備考

------------------------------------------------------------------------------------------ */
section.remarks{ page-break-before: always; margin-top: 8rem; }
section.remarks .remarks-box{ margin: 5rem 3rem 0; }




/* ------------------------------------------------------------------------------------------

	印刷ボタン

------------------------------------------------------------------------------------------ */
.button{ position: fixed; height: var(--global--button--height); width: 100%; bottom: 0; background-color: var(); }
.button ul{ display: flex; }
.button a{ display: flex; width: 100%; height: var(--global--button--height); background-color: var(--global--color--green); color: var(--global--color--white); align-items: center; justify-content: center; text-align: center; flex-direction: column; }
.button a:hover{ background-color: var(--global--color--green--hover); }

.button.button1 li{ width: 100%; }


.button.button2 li{ width: 49.99%; }

.button.button3 li{ width: 33.33%; }
.button.button li:not(:last-child){ border-right: .1rem solid var(--global--color--white); }

.button.button li a.btnOnly1{ background-color: var(--global--color--red); }
.button.button li a.btnOnly2{ background-color: var(--global--color--red); }

.button.button li a.btnOnly1.active,
.button.button li a.btnOnly2.active{ background-color: var(--global--color--gray); color: var(--global--color--black); }





header{ position: fixed; height: 10rem; background-color: var(--global--color--white); width: 100%; display: flex; align-items: center; justify-content: center; }
header img{ width: 20rem; }

section.lists{ padding: 12rem 3rem 5rem; max-width: 110rem; margin: 0 auto;  }
section.lists .lists-inbox{ border: var(--global--color--gray) .1rem solid; border-bottom: none; display: flex; flex-wrap: wrap; }
section.lists .lists-inbox a{ width: calc(25% - .1rem); height: 15rem; border-right: var(--global--color--gray) .1rem solid; border-bottom: var(--global--color--gray) .1rem solid; }
section.lists .lists-inbox a:nth-child(4n){ border-right: none; }
section.lists .lists-inbox a:hover{ background-color: var(--global--color--red); color: var(--global--color--white); }
section.lists .lists-inbox .inbox{ display: flex; align-items: center; justify-content: center; height: 100%; text-align: center; padding: 1rem 2rem; }
section.lists .lists-inbox .inbox dl dt{ font-size: 1.2rem; margin-bottom: .5rem; }
section.lists .lists-inbox .inbox dl dd{ font-size: 1.4rem; }


.disnone{ display: none !important; }

@media screen and (max-width: 850px){
	.button.button3 li a{ font-size: 1.4rem; }
}

@media screen and (min-width: 751px){
	.mini-sp{ display: none !important; }
}
@media screen and (max-width: 750px){
	.mini-pc{ display: none !important; }
	main{ margin-bottom: calc(var(--global--button--height--sp) + 3rem); }

	.button,
	.button a{ height: var(--global--button--height--sp); }
}



@media print{

	html, body{
		margin: 0;
		padding: 0;
		font-size: 62.5%;
		font-weight: 400;
		font-style: normal;
		letter-spacing: .1rem;
		line-height: 1.8;
		margin: 0;
		padding: 0;
	}

	body *{
		font-family: 'Noto Sans JP', "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Osaka", Osaka, Verdana, "ＭＳ Ｐゴシック", "MS P Gothic", san-serif;

	}

		section.cover .header .date{ margin-top: 0; }

		section.cover .header .date{ margin-top: 0; }

		
	main{ margin-bottom: 0; }
	section.page .page-diagnosis-list .page-diagnosis .photo{ max-height: 50rem; background-color: var(--global--color--gray); width: 35rem; }

	section.cover,
	section.page,
	section.cover_photo,
	section.album,
	section.remarks{ margin-top: 0; }


	.button{ display: none; }


	section.separate{ padding-top: 0; border-top: none; position: relative; }
	section.separate::before{ display: none; }
}




main.top p{ max-width: 1400px; margin: 0 auto; }
main.top p img{ max-width: 1400px; width: 100%; }





/*----- corporate -----*/

.tit01{
	text-align: center;
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.2;
}
.tit01 span{
	font-size: 2.4rem;
	color: var(--global--color--red);
	display: block;
	line-height: 1;
	margin-bottom: 1.2rem;
}





/* -------------------------------------------------------------------------------------------------------------------------------------------------

	corporate - header

------------------------------------------------------------------------------------------------------------------------------------------------- */
header.corporate{
	height: var(--global--header--height);
	justify-content: space-between;
	background-color: rgba(255,255,255,.6);
	top: 0;
	transition: .5s all;
}
header.corporate .header-inner{
	display: flex;
	align-items: center;
	height: var(--global--header--height);
	padding: 0 1.5rem;
	width: 100%;
}
header.corporate .header-inner .logo,
header.corporate .header-inner .logo a{
	display: flex;
	align-items: center;
	height: var(--global--header--height);

}

header.corporate *,
.header-menu *,
dl, dt, dd, div,
h1, h2, h3, h4, p, span, img,
input,
div::before,
section::before{
	transition: .5s all;
}


.header-menu{
	position: fixed;
	right: 0;
	top: 0;
	z-index: 11;
	height: var(--global--header--height);
	padding-right: 2rem;
	display: flex;
	align-items: center;
}
.header-menu .header-menu-inner,
.header-menu ul{
	display: flex;
	align-items: center;
}
.header-menu ul li{
	margin-right: 3rem;
}
.header-menu ul li a{
	display: flex;
	align-items: center;
	height: var(--global--header--height);
	font-size: 1.6rem;
	font-weight: 700;
}

.header-menu .tit{ color: var(--global--color--red); font-size: 1.5rem; }

.contact-button a{
    display: flex;
    width: 16rem;
	height: 5rem;
	align-items: center;
    text-align: center;
    justify-content: center;
	background-color: var(--global--color--red);
	color: var(--global--color--white);
	border-radius: 10rem;

}

.corporate main{
	padding-top: var(--global--header--height);
	margin-bottom: 0;
}
.corporate .inner{
	max-width: 118rem;
	margin: 0 auto;
	padding: 0 2rem;
}

.corporate header{
	z-index: 10;
}

section.footer-contact{
	margin-top: 15rem;
}


	section.footer-skyview{
		display: flex;
		overflow: hidden;
		overflow: hidden;
	}
	section.footer-skyview img{
		width: 100%;
		max-width: 100%;
	}
	section.footer-skyview .footer-skyview-l{ width: 36%; height: 66.6rem; overflow: hidden; position: relative; }
	section.footer-skyview .footer-skyview-r{ width: 64%; height: 66.6rem; overflow: hidden; position: relative; }

	section.footer-skyview .footer-skyview-l img,
	section.footer-skyview .footer-skyview-r img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	section.footer-skyview .footer-skyview-inner{
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}

section.footer-skyview .footer-skyview-l .footer-skyview-inbox{
	max-width: 30rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	height: 100%;
	border-top: var(--global--color--blue) 1.5rem solid;
	flex-direction: column;
}
section.footer-skyview .footer-skyview-l .footer-skyview-inbox .text{
	color: var(--global--color--white);
	font-weight: 900;
	font-size: 2rem;
	display: table;
	margin: 4.5rem auto 6.5rem;
}



section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons{
	margin-top: 2rem;
	margin-bottom: .5rem;
}
section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 8rem;
	background-color: var(--global--color--white);
	border-radius: 11rem;
}
section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons a:hover{
	background-color: var(--global--color--blue);
}
section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons a span{
	font-size: 1.78rem;
    display: flex;
	justify-content: space-between;
    height: 100%;
    align-items: center;
	width: 80%;
    padding-left: 1.5rem;
	font-weight: 700;
	margin-top: 0;
}
section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons a span img{
	width: 4.5rem; height: 4.5rem;
}
section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons a:hover span{
	color: var(--global--color--white);
}
section.footer-skyview .footer-skyview-r .footer-skyview-inner{
	display: flex;
	width: 100%;
	height: 100%;
	align-items: flex-end;
	justify-content: flex-end;
}
section.footer-skyview .footer-skyview-r p{
	max-width: 54.7rem;
	margin-right: 3.5rem;
	margin-bottom: 4.5rem;
}


/* -------------------------------------------------------------------------------------------------------------------------------------------------

	footer

------------------------------------------------------------------------------------------------------------------------------------------------- */

.corporate footer{
	background: url('./assets/images/footer-bg01.png') no-repeat 0 100% / 105vw 54vh;
	position: relative;
	margin-top: -6rem;
}
.corporate footer::after{
	content: "";
	position: absolute;
	width: 65.5rem;
	height: 44.7rem;
	background: url('./assets/images/footer-bg02.png') no-repeat 0 0 / 100% auto;
	bottom: 0;
	right: 0;
}
.corporate footer .inner{
	padding-top: 12rem;
	padding-bottom: 5rem;
	display: flex;
}


section.footer-contact .tit{
	margin-bottom: 1rem;
}
section.footer-contact .tit,
section.footer-contact .tit *{
	font-size: 10rem;
	line-height: 1;
	font-weight: 700;
}
section.footer-contact .tit span{
	color: var(--global--color--red);
}
section.footer-contact .tit-j{
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: 4.0rem;
}


section.footer-contact .catch{
	margin-bottom: 3rem;
}
section.footer-contact .catch h4{
	font-size: 3.6rem;
	font-weight: 700;
}
section.footer-contact .catch p{
	line-height: 2;
	font-weight: 500;
}


.corporate footer .footer-menu-01 *,
.corporate footer .footer-menu-02 *{
	font-weight: 500;
}
.corporate footer .footer-menu-01 .logo{
	text-align: center;
	margin-bottom: 3.5rem;
}
.corporate footer .footer-menu-01 .logo a,
.corporate footer .footer-menu-01 .logo a span{
	display: block;

}
.corporate footer .footer-menu-01 .logo span{
	font-size: 1.2rem;
	text-align: center;
	display: block;
	margin-top: -1rem;
}
.corporate footer .footer-menu-01 .information{
	margin-left: 1.5rem;
}
.corporate footer .footer-menu-01 .information p{
	font-size: 1.4rem;
}
.corporate footer .footer-menu-01 .information p span{
	font-size: 1.2rem;
}
.corporate footer .footer-menu-01 small{
	margin-top: 4rem;
	font-size: 1.4rem;
	display: block;
	line-height: 1;
}
.corporate footer .footer-menu-02{
	margin-left: 10rem;
	margin-top: 2rem;
}
.corporate footer .footer-menu-02 .menu li{
	margin-bottom: 2rem;
}
.corporate footer .footer-menu-02 .menu li a{
	padding-left: 2.7rem;
	background: url('./assets/images/arrow_right01.svg') no-repeat 0 50% / 2.2rem auto;
	display: block;
}
.corporate footer .footer-menu-02 .menu li a:hover{
	color: var(--global--color--red);
}
.corporate footer .footer-menu-02 .submenu li a{
	font-size: 1.4rem;
	padding-left: 1.5rem;
	background: url('./assets/images/arrow_right02.svg') no-repeat 0 50% / .5rem auto;
	display: block;
}


/*
a.ul-lr{
	position: relative;
}



a.ul-lr::after {
  background-color: #333; 
  bottom: -4px; 
  content: ""; 
  height: 2px; 
  left: 0;
  position: absolute;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
  width: 100%;
}

a.ul-lr:hover::after {
  transform: scale(1, 1);
}
*/

.footer-contact-box{
	padding: 4rem 6rem;
	background-color: var(--global--color--lightgray);
	border-radius: 3rem;
	position: relative;
	z-index: 2;
}
.footer-contact-box h4{
	text-align: center;
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 3rem;
}
.footer-contact-box h4 span{
	font-size: 3.6rem;
	color: var(--global--color--red);
}
.footer-contact-inbox{
	display: flex;
	justify-content: space-between;
	margin-bottom: 2.5rem;
}

.footer-contact-inbox-l{
	max-width: 49rem;
	width: 100%;
}
.footer-contact-inbox-l *{
	font-weight: 600;
}
.footer-contact-inbox-l a{
	display: block;
	width: 100%;
	text-align: center;
}
.footer-contact-inbox-l a img{
	width: 100%;
}
.footer-contact-inbox-l span{
	display: block;
	text-align: center;
	font-size: 1.5rem;
	margin-top: .5rem;
}


.footer-contact-inbox-l .buttons{
	margin-top: 2rem;
	margin-bottom: .5rem;
}
.footer-contact-inbox-l .buttons a{
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--global--color--white);
	width: 100%;
	height: 11rem;
	background-color: var(--global--color--red);
	border-radius: 11rem;
}
.footer-contact-inbox-l .buttons a:hover{
	background-color: var(--global--color--red--hover);
}
.footer-contact-inbox-l .buttons a span{
	font-size: 2.4rem;
    display: flex;
    height: 100%;
    align-items: center;
    background: url('./assets/images/arrow_right03.svg') no-repeat 100% 50% / 5.4rem auto;
	width: 87%;
    padding-left: 1.5rem;
	margin-top: 0;
}
.footer-contact-inbox-r{
	background-color: var(--global--color--white);
	padding: 2.5rem 3rem 2.5rem 4rem;
	border-radius: 2rem;
	max-width: 50rem;
	width: calc(100% - 4rem);
	position: relative;
}

.footer-contact-inbox-r dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer-contact-inbox-r dl dd a{
	background-color: var(--global--color--line);
	border-radius: 10rem;
	color: var(--global--color--white);
	font-size: 1.8rem;
	font-weight: 600;
	padding: 1.5rem 2rem;
	line-height: 1;
}
.footer-contact-inbox-r .tit2{
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 1.5rem;
}
.footer-contact-inbox-r .tit2 span{
	color: var(--global--color--line);
	font-size: 2.7rem;
	font-weight: 700;
}
.footer-contact-inbox-r .tit1{
	position: relative;
	color: var(--global--color--line);
	margin-left: -1rem;
}

.footer-contact-inbox-r .tit1:before,
.footer-contact-inbox-r .tit1:after {
  position: relative;
  display: inline-block;
  content: "";
  background: var(--global--color--line);
  width: .2rem;
  height: 2rem;
  margin: 0 1em;
  margin-top: -.2em;
  vertical-align: middle;
}
.footer-contact-inbox-r .tit1:before {
  transform: rotate(-35deg);
}
.footer-contact-inbox-r .tit1:after {
  transform: rotate(35deg);
}
.footer-contact-inbox-r .curpon{
	position: absolute;
    right: -2rem;
    top: -7rem;
}
.footer-contact-inbox-r .curpon img{
	width: 100%;
}

.footer-contact-box dl dt{ max-width: 24.6rem; width: 100%; }

.footer-contact-box dl.area{
	display: flex;
	align-items: center;
	margin-left: 1.5rem;
}
.footer-contact-box dl.area dt{
	background-color: var(--global--color--white);
	font-weight: 500;
	border: #c9c9c9 .1rem solid;
	border-radius: .5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 12rem;
	height: 4.5rem;
}
.footer-contact-box dl.area dd{
	width: calc(100% - 12rem);
	padding-left: 2rem;
	font-size: 1.5rem;
    letter-spacing: .05rem;
}






/*

	TOPPAGE

*/

.corporate main.front{
	padding-top: 0;
}

section.mains{
	position: relative;
	max-height: 100vh;
	overflow: hidden;
}
section.mains img.bg{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section.mains .cover{
	position: absolute;
	display:flex;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
section.mains .cover .inner{
	width: 100%;
	display: flex;
	align-items: flex-end;
	margin-bottom: 8rem;
	flex-direction: column;
	justify-content: flex-end;
}
section.mains .cover h1{
	width: 100%;
	text-align: right;
}
section.mains .cover .contacts{
	width: 100%;
	margin-top: 9rem;
	display: flex;
}
section.mains .cover .contacts .lines,
section.mains .cover .contacts .tels{
	width: 50%;
	display: flex;
	height: 12rem;
}
section.mains .cover .contacts .lines{
	background-color: var(--global--color--black);
	padding: 0 4rem 0 12rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
section.mains .cover .contacts .tels{
	background-color: var(--global--color--white);
	border-radius: 0 2rem 2rem 0;
}
section.mains .cover .contacts .tels a{
	display: flex;
	width: 100%;
	height: 100%;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
section.mains .cover .contacts .tels a .t{
	font-size: 1.8rem;
	margin-bottom: .5rem;
}
section.mains .cover .contacts .tels a .t span{
	color: var(--global--color--red);
	font-size: 2.2rem;
}
section.mains .cover .contacts .tels a .i img{
	max-width: 36.9rem;
}

section.mains .cover .contacts .lines .curpon{
    position: absolute;
    left: -6rem;
}
section.mains .cover .contacts .lines .curpon img{
	max-width: 100%;
}
section.mains .cover .contacts .lines .logo{
	max-width: 22.3rem;
}
section.mains .cover .contacts .lines .logo img{
	max-width: 100%;
}
section.mains .cover .contacts .lines .btn a{
    background-color: var(--global--color--line);
    border-radius: 10rem;
    color: var(--global--color--white);
    font-weight: 600;
    padding: 1.5rem 2rem;
    line-height: 1;
}
section.mains .cover .contacts .tels a .r{
	font-size: 1.2rem;
	margin-top: .3rem;
}


section.about{
	margin: 12rem 0 8rem;
}

section.about h2,
section.about h2 *{
	font-size: 10rem;
	font-weight: 900;
	line-height: 1;
}
section.about h2 span{
	color: var(--global--color--red);
}
section.about .tit-j{
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 7rem;
}
section.about dl{
	display: flex;
	max-width: 100rem;
	margin: 0 auto;
	align-items: center;
}
section.about dl dt{
	max-width: 45rem;
	width: 100%;
	font-size: 3.6rem;
	font-weight: 700;
}
section.about dl dt span{
	font-size: 2.4rem;
	color: var(--global--color--red);
	display: block;
}
section.about dl dd{
	width: calc(100% - 50rem);
}









section.sns{
	background-color: #f3f4f5;
}
section.sns .inner{
	display: flex;
	justify-content: space-between;
	padding: 11rem 0;
}
section.sns .sns-news-box,
section.sns .sns-instagram-box{
	width: 50%;
	padding: 0 3.5rem;
}
section.sns .sns-news-box h3,
section.sns .sns-instagram-box h3{
	font-weight: 700;
	margin-bottom: 5rem;
}
section.sns .sns-news-box h3 span,
section.sns .sns-instagram-box h3 span{
	font-size: 7.8rem;
	color: var(--global--color--red);
	font-weight: 700;
	display: block;
	line-height: 1.2;
}

.page-front .pickups{
	padding-top: 13rem;
	padding-bottom: 15rem;
}
.page-front .pickups .page-title h2.tit span{ display: inline-block; margin-right: 1rem; }


.page-front .pickups .pager-article{
	padding-top: 0;
	border-top: none;
	margin-top: 7rem;
}

.page-front .sns-news-inbox dl dt{

}
.page-front .sns-news-inbox dl{
    display: block;
	padding: 1rem 0;
}

.page-front .sns-news-inbox a{
	display: block;
	border-bottom: #c9c9c9 .1rem solid;
}
.page-front .sns-news-inbox a dl dt{
    font-size: 1.5rem;
    font-weight: 500;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.page-front .sns-news-inbox a dl dt .date{
	color: var(--global--color--red);
	margin-right: 1rem;
}
.page-front .sns-news-inbox a dl dt div span {
    font-size: 1.4rem;
    display: flex;
    width: 9rem;
    height: 2.4rem;
    border-radius: 9rem;
    background-color: var(--global--color--black);
    text-align: center;
    justify-content: center;
    align-items: center;
    color: var(--global--color--white);
    line-height: 1;
}
.page-front .sns-news-inbox a dl dd{
	font-weight: 700;
}


section.sns .sns-news-box .pager-article{
	margin-top: 0;
	border-top: none;
}
section.sns .sns-news-box .pager-article a{
	width: 26rem;
}


.business-box01-inbox .midashi,
.business-box01-inbox .midashi *{
	font-size: 3.6rem;
	font-weight: 900;
}
.business-box01-inbox .midashi span{
	color: var(--global--color--red);
	margin-right: 1rem;
}

.business{
	background-color: #f2f3f4;
	padding: 7.5rem 0 18.5rem 0;
	margin-top: 26rem;
}


.business .business-header{
	position: relative;
    margin-top: -13rem;
}

.business .business-header .txt{
	padding: 4rem 0 6rem;
}




.business .business-header h3,
.business .business-header h3 *{
	font-size: 10rem;
	font-weight: 900;
	line-height: 1;
}
.business .business-header h3 span{
	color: var(--global--color--red);
}
.business .business-header .tit-j{
	font-size: 2.4rem;
	font-weight: 700;
}


.business .business-box01{ position: relative; }
.business .business-box01 img{ max-width: 100%; }

.business .business-box01-inbox{
	max-width: 61rem;
	width: 100%;
	padding: 10rem 4rem 7rem;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: #f2f3f4;
	border-radius: 0 2rem 0 0;
}
.business .business-box01-inbox h4{
	font-weight: 700;
	margin-bottom: 2rem;
	font-size: 4.3rem;
	line-height: 1.4;
}


.business-box02{
	display: flex;
	justify-content: space-between;
	margin-top: 7rem;
}
.business-box02 .ph{
	max-width: 72rem;
	width: 100%;
}

.business-box02 .skyview-text{
	padding-right: 5rem;
}

.business-box02 .painting-text{
	padding-left: 5rem;
}

.business-box02 .painting-text .tit01,
.business-box02 .skyview-text .tit01{
	text-align: left;
	margin-top: 3rem;
	margin-bottom: 3rem;
}
.business-box02 .painting-text .tit01 span,
.business-box02 .skyview-text .tit01 span{
	margin-bottom: 2.5rem;
}
.business-box02 .painting-text .tit01 strong,
.business-box02 .skyview-text .tit01 strong{
	display: block;
	font-size: 1.8rem;
}
.business-box02 .buttons{
	margin-top: 3.5rem;
	display: flex;
	justify-content: center;
}
.business-box02 .buttons a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30rem;
	height: 8rem;
	background-color: var(--global--color--white);
	border-radius: 30rem;
	border: #e6e6e6 .1rem solid;

}
.business-box02 .buttons a:hover{
	background-color: var(--global--color--red);
}
.business-box02 .buttons a span{
	font-size: 1.8rem;
    display: flex;
	justify-content: space-between;
    height: 100%;
    align-items: center;
	width: 26rem;
    padding-left: 1.5rem;
	font-weight: 700;
	margin-top: 0;
}
.business-box02 .buttons a:hover span{
	color: var(--global--color--white);
}
.business-box02 .buttons a span img{
	width: 4.5rem; height: 4.5rem;
}


.painting{ flex-direction: row-reverse; }









.page-title .inner .text{
	font-weight: 700;
}



.page-case .page-title .tits{
	max-width: 57rem;
	width: 100%;
	padding-right: 3rem;
}
.page-case .page-title .ph{
	width: calc(100% - 57rem);
}
.page-case .page-title .inner{
	display: flex;
	padding-right: 0;
}
.page-case .page-title .inner .ph img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-case .page-title .inner .text{
	font-size: 1.8rem;
	line-height: 1.8;
}

.page-case{
	margin-bottom: 17rem;
}
.page-case .page-title::before{
	content: "";
    display: block;
    width: 53vw;
    height: 52rem;
    margin-left: 50%;
    background: url(./assets/images/case/case_ph01.png) no-repeat 50% 50% / cover;
    position: absolute;
    border-radius: 5rem 0 0 0;
}
.page-guide .page-title::before{
	content: "";
    display: block;
    width: 53vw;
    height: 52rem;
    margin-left: 50%;
    background: url(./assets/images/guide/guide_ph01.png) no-repeat 50% 50% / cover;
    position: absolute;
    border-radius: 5rem 0 0 0;
}

.page-about .page-title::before{
	content: "";
    display: block;
    width: 53vw;
    height: 52rem;
    margin-left: 50%;
    background: url(./assets/images/about/about_ph02.png) no-repeat 50% 50% / cover;
    position: absolute;
    border-radius: 5rem 0 0 0;
}

.page-contact .page-title::before{
	content: "";
    display: block;
    width: 53vw;
    height: 52rem;
    margin-left: 50%;
    background: url(./assets/images/contact/contact_ph01.png) no-repeat 50% 50% / cover;
    position: absolute;
    border-radius: 5rem 0 0 0;
}



.message::before{
	content: "";
    display: block;
    width: 45vw;
    height: 52rem;
    margin-left: 0;
    background: url(./assets/images/about/about_ph01.jpg) no-repeat 100% 0% / cover;
    position: absolute;
}













/*

	CONTACT

*/
.page-contact .page-title{
	min-height: 52rem;
}
.page-contact .page-title .tits{
	max-width: 57rem;
	width: 100%;
	padding-right: 3rem;
}
.page-contact .page-title .ph{
	width: calc(100% - 57rem);
}
.page-contact .page-title .inner{
	display: flex;
	padding-right: 0;
}
.page-contact .page-title .inner .ph img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-contact .page-title .inner .text{
	font-size: 1.8rem;
	line-height: 1.8;
}

/*
    width: calc(110vw);
    display: block;
    width: 50vw;
    max-width: fit-content;
    object-fit: cover;
   height: 100%;
	*/


.page-contact .page-title .tits,
.page-contact .page-title .tits *{
	font-size: 10rem;
	line-height: 1;
	font-weight: 700;
}
.page-contact .page-title .tits span{
	color: var(--global--color--red);
	display: block;
}
.page-title .tit-j{
	font-size: 2.4rem !important;
	font-weight: 600 !important;
	margin-bottom: 4.0rem;
}

.contacts-box{
	margin-top: 13rem;
}

.contacts-box .footer-contact-inbox-r{
	background-color: #f7f7f8;
}

.page-contact .contacts-box .inner{
	max-width: 108rem;
}
.page-contact .contacts-box h4{
	text-align: center;
	font-size: 2.4rem;
	margin-bottom: 1.5rem;
}

.page-contact .contacts-box dl.area{
	display: flex;
	align-items: center;
	margin-top: 1.5rem;
}
.page-contact .contacts-box dl.area dt{
	background-color: var(--global--color--white);
	font-weight: 500;
	border: #c9c9c9 .1rem solid;
	border-radius: .5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 10rem;
	font-size: 1.4rem;
	height: 4.5rem;
}
.page-contact .contacts-box dl.area dd{
	width: calc(100% - 10rem);
	padding-left: 1rem;
    letter-spacing: .05rem;
	font-size: 1.4rem;
}
.page-contact .contacts-box .footer-contact-inbox{
	margin-bottom: 0;
}


.contacts-form-box{
	margin-top: 13rem;
	padding: 9rem 0 13rem 0;
	background-color: var(--global--color--bggray);
}
.contacts-form-box h3 span{
	text-align: center;
	font-size: 2.4rem;
	color: var(--global--color--red);
	font-weight: 700;
	display: block;
	line-height: 1;
}
.contacts-form-box h3{
	text-align: center;
	font-size: 3.6rem;
	font-weight: 700;
	margin-bottom: 5rem;
}
.contacts-form-box .text{
	text-align: center;
	line-height: 1.8;
}



/* branch */
.branch{
	margin-bottom: 16.5rem;
}
.branch ul{
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}
.branch ul li,
.branch ul li *{
	font-size: 1.2rem;
	font-weight: 700;
}
.branch ul li{
	color: var(--global--color--red);
}
.branch ul li:not(:first-child){
	margin-left: 1rem;
	padding-left: 1.5rem;
	background: url(./assets/images/arrow_right05.svg) no-repeat 0 50% / .5rem auto;
}



.page-title h2.tit,
.page-title h2.tit *{
	font-size: 10rem;
	line-height: 1;
	font-weight: 900;
}

.page-title h2.tit span{
	color: var(--global--color--red);
    display: block;
}



/* news */
.page-news{
	margin-bottom: 20rem;
}
.news-list a:first-child{
	border-top: #e6e6e6 .1rem solid;
}
.news-list .inner{
	max-width: 124rem;
}
.news-list a{
	display: block;
	padding: 2.5rem 0;
	border-bottom: #e6e6e6 .1rem solid;
}
.news-list a dl{
	display: flex;
	align-items: center;
}
.news-list a dl dt{
	color: var(--global--color--red);
	font-size: 1.5rem;
	font-weight: 500;
	max-width: 22rem;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.news-list a dl dt span{
	font-size: 1.4rem;
	display: flex;
	width: 9rem;
	height: 2.4rem;
	border-radius: 9rem;
	background-color: var(--global--color--black);
	text-align: center;
	justify-content: center;
	align-items: center;
	color: var(--global--color--white);
	line-height: 1;
}
.news-list a dl dd{
	width: calc(100% - 25rem);
	padding-left: 3rem;
	padding-right: 3rem;
	font-size: 1.8rem;
	font-weight: 500;
	background: url('./assets/images/arrow_right06.svg') no-repeat 98.5% 50% / .8rem auto;
}
.news-list a:hover dl dd{
	background: url('./assets/images/arrow_right06.svg') no-repeat 100% 50% / .8rem auto;

}


.pager{
	margin-top: 4rem;
}

 .pager .wp-pagenavi{
	display: flex;
	justify-content: center;
}
.pager .wp-pagenavi a,
.pager .wp-pagenavi span{
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Poppins", sans-serif;
	font-style: normal;
	font-weight: 400 !important;
	border: #848484 .1rem solid;
	width: 4rem;
	height: 4rem;
	line-height: 1;
	border-radius: 4rem;
	padding: 0;
	margin: 0 .5rem;
}
.pager .wp-pagenavi a:hover,
.pager .wp-pagenavi span{
	color: var(--global--color--white);
	background-color: var(--global--color--black);
	border: var(--global--color--black) .1rem solid;
}
.pager .wp-pagenavi a.previouspostslink{
	border:none;
	margin-right: 5rem;
	text-indent: -999rem;
	background: url('./assets/images/arrow_left01.svg') no-repeat 50% 50% / 1.1rem auto;
}
.wp-pagenavi a.nextpostslink{
	border:none;
	text-indent: -999rem;
	margin-left: 5rem;
	background: url('./assets/images/arrow_right07.svg') no-repeat 50% 50% / 1.1rem auto;
}
.news-article .title{
	border-bottom: #e6e6e6 .2rem solid;
	margin-bottom: 4rem;
}
.news-article .title .date{
	display: flex;
	align-items: center;
	color: var(--global--color--red);
	font-size: 1.5rem;
	font-weight: 500;
	margin-bottom: 2rem;
}
.news-article .title .date span{
	font-size: 1.4rem;
	display: flex;
	width: 9rem;
	height: 2.4rem;
	border-radius: 9rem;
	background-color: #40c264;
	text-align: center;
	justify-content: center;
	align-items: center;
	color: var(--global--color--white);
	line-height: 1;
	margin-left: 2rem;
}
.news-article .title h3{
	font-size: 2.4rem;
	font-weight: 900;
	margin-bottom: 2rem;
}
.news-article .article-content p{
	min-height: 3rem;
}
.news-article .article-content img{
	max-width: 100%;
}


.pager-article{
	margin-top: 4rem;
	padding-top: 4rem;
	border-top: #e6e6e6 .2rem solid;
}

.pager-article .buttons{
	display: flex;
	justify-content: center;
}
.pager-article .buttons a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30rem;
	height: 8rem;
	background-color: var(--global--color--white);
	border-radius: 30rem;
	border: #e6e6e6 .1rem solid;

}
.pager-article .buttons a:hover{
	background-color: var(--global--color--red);
}
.pager-article .buttons a span{
	font-size: 1.8rem;
    display: flex;
	justify-content: space-between;
    height: 100%;
    align-items: center;
	width: 80%;
    padding-left: 1.5rem;
	font-weight: 700;
	margin-top: 0;
}
.pager-article .buttons a:hover span{
	color: var(--global--color--white);
}
.pager-article .buttons a span img{
	width: 4.5rem; height: 4.5rem;
}








.category-list{
	margin-top: 10rem;
	margin-bottom: 7rem;
}
.category-list .inner{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 7rem;
	max-width: 122rem;
}
.category-list .tit{
	font-weight: 700;
	margin-right: 3.5rem;
}
.category-list ul{
	display: flex;
}
.category-list ul li:not(:last-child){
	margin-right: 1.5rem;
}

.category-list ul li a{
	border-radius: 10rem;
	border: #a8a8a8 .2rem solid;
	font-size: 1.5rem;
	line-height: 1;
	padding: .3rem 2.5rem;
	color: #a8a8a8;
}
.category-list ul li a.here,
.category-list ul li a:hover{
	border: var(--global--color--red) .2rem solid;
	background-color: var(--global--color--red);
	color: var(--global--color--white);

}



/* ===========================================================================================================================================================

	404

 =========================================================================================================================================================== */
.contents-404{
	margin-bottom: 16.5rem;
	text-align: center;
}
.contents-404 .pager-article{
	border-top: none;
}
.contents-404 h3,
.contents-404 h3 span{
	font-weight: 900;
	font-size: 8rem;
}
.contents-404 h3 span{
	color: var(--global--color--red);
}
.contents-404 p{
	font-size: 1.4rem;
}


/* ===========================================================================================================================================================

	GUIDE

 =========================================================================================================================================================== */
.page-guide{
	margin-bottom: 10rem;
}
 .page-guide .page-title{
	margin-bottom: 11.0rem;
}
.page-guide .page-title .tits{
	max-width: 57rem;
	width: 100%;
	padding-right: 3rem;
}
.page-guide .page-title .ph{
	width: calc(100% - 57rem);
	border-radius: 4rem 0 0 0;
	overflow: hidden;
}
.page-guide .page-title .inner{
	display: flex;
	/*padding-right: 0;*/
}
.page-guide .page-title .inner .ph img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-guide .page-title .inner .text{
	font-size: 1.8rem;
	line-height: 1.8;
}


.page-guide .pager-article .buttons a{
	width: 40rem;
}



section.besttiming{
	background-color: #f3f4f5;
	padding-top: 11rem;
	padding-bottom:  9rem;
}
section.besttiming .msg{
	padding: 0 2rem;
	margin-top: 3.5rem;
}




.besttiming-inbox{
	background-color: var(--global--color--white);
	border-radius: 2rem;
	padding: 8rem 5rem;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 4rem;
}

.besttiming-inbox dl{
	width: 32%;
	display: block;
	margin-right: 2%;
}

.besttiming-inbox dl:nth-child(3),
.besttiming-inbox dl:nth-child(5){
	margin-right: 0;
}
.besttiming-inbox dl dt img{
	max-width: 100%;
}
.besttiming-inbox dl:nth-child(1),
.besttiming-inbox dl:nth-child(2),
.besttiming-inbox dl:nth-child(3){
	margin-bottom: 4rem;
}
.besttiming-inbox dl dd.tit{
	text-align: center;
	font-size: 2.1rem;
	font-weight: 700;
	padding: 1rem 0;
}
.besttiming-inbox dl dd.tit span{
	font-size: 1.6rem;
}



.totalcheck .tit01{
	text-align: left;
	margin-bottom: 3.5rem;
}

.totalcheck .msg{
	margin-bottom: 4rem;
}
.totalcheck .ph{
	text-align: center;
}
.totalcheck .ph img{
	max-width: 100%;
}


.material{
	margin-top: 15rem;
}
.material .inner{
	display: flex;
	justify-content: space-between;
}
.material .ph{
	max-width: 48rem;
	width: 100%;
}
.material .material-box{
	width: calc(100% - 48rem - 5rem);
}
.material .material-box .msg{
	padding-top: 1.5rem;
	padding-bottom: 5rem;
}
.material .titles{
	display: flex;
}
.material .titles h3{
	text-align: left;
	margin-top: 2rem;
}
.material .titles .logo{
	max-width: 18rem;
	width: 100%;
	margin-left: 3rem;
}
.material .titles .logo img{
	max-width: 100%;
	width: 100%;
}

.simulation{
	margin-top: 15rem;
	margin-bottom: 8rem;
}
.simulation .inner{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.simulation .titles{
	display: flex;
}

.simulation .ph{
	max-width: 48rem;
	width: 100%;
}
.simulation .simulation-box{
	width: calc(100% - 48rem - 5rem);
}
.simulation h3{
	text-align: left;
	margin-bottom: 4rem;
}
.simulation ul{
	margin-top: 2rem;
	display: flex;
	justify-content: space-around;
}

.catches{
	display: block;
	margin-bottom: 11rem;
}
.catches h3{
	font-size: 4.8rem;
	font-weight: 900;
}
.catches h3 span{
	font-size: 5.4rem;
	color: var(--global--color--red);
}

.catches h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}

.catches h3::before,
.catches h3::after {
  width: .3rem;
  height: 6rem;
  content: "";
  background-color: var(--global--color--red);
}

.catches h3::before {
  margin-right: 3rem;
  transform: rotate(-30deg);
}

.catches h3::after {
  margin-left: 3rem;
  transform: rotate(30deg);
}




.page-guide .pickups{ padding-top: 13rem; }
.page-guide .pickups .page-title h2.tit span{ display: inline-block; margin-right: 1rem; }

.page-guide .pickups .page-title{ margin-bottom: 5rem; }

.pickups-list-pc .inner{
	display: flex;
}

	.pickups-list-pc a{
		width: 32%;
		display: block;
	}

	
	.pickups-list-pc a:not(:last-child){
		margin-right: 2%;
	}


	.pickups-list-pc a dl dt{
		width: 100%;
		height: 100%;
		aspect-ratio: 4 / 3;
		aspect-ratio: 3 / 2;
		background-color: var(--global--color--lightgray);
		border-radius: 2rem;
		overflow: hidden;
	}
	.pickups-list-pc a dl dt img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.pickups-list-pc a dl dd.dates{
		margin-top: 1.2rem;
		display: flex;
		align-items: baseline;
	}
	.pickups-list-pc a dl dd.dates span.date{
		color: var(--global--color--red);
		font-weight: 600;
		width: 10rem;
	}
	.pickups-list-pc a dl dd.dates div{
		width: calc(100% - 10rem);
		display: flex;
		flex-wrap: wrap;
	}
	.pickups-list-pc a dl dd.dates div span{
		color: var(--global--color--white);
		font-size: 1rem;
		line-height: 1;
		padding: .5rem .8rem;
		border-radius: 1rem;
		margin-left: 1rem;
		margin-bottom: .5rem;
	}
	.pickups-list-pc a dl dd.title{
		font-size: 1.4rem;
		font-weight: 700;
	}

.page-guide .pickups .pager-article{
	padding-top: 0;
	border-top: none;
	margin-top: 7rem;
}

.page-guide .flow{
	padding-bottom: 11rem;
	background-color: #f3f4f5;;
}


.page-guide .flow .flow-box{
	background-color: var(--global--color--white);
	padding: 4.5rem 5rem;
	border-radius: 2rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 4rem
}
.page-guide .flow .flow-box .no{
	width: 8.5rem;
	position: relative;
}
.page-guide .flow .flow-box .no.none::after{
	display: none;
}
.page-guide .flow .flow-box .no::after{
	content: "";
	position: absolute;
    width: .4rem;
    height: 290%;
    background-color: var(--global--color--red);
    left: calc(50% - .2rem);
    top: calc(8.5rem + 1rem);
}


.page-guide .flow .flow-box{
	margin-bottom: 2.5rem;
}
.page-guide .flow .flow-box .no span{
	display: flex;
	width: 8.5rem;
	height: 8.5rem;
	background-color: var(--global--color--red);
	color: var(--global--color--white);
	font-family: "Poppins", sans-serif;
	font-style: italic;
	font-size: 3.2rem;
	border-radius: 16rem;
	justify-content: center;
	align-items: center;
}

.page-guide .flow .flow-box .ph{
	max-width: 33rem;
}
.page-guide .flow .flow-box dl{
	width: 52rem;
}
.page-guide .flow .flow-box dl dt{
	font-size: 2.1rem;
	font-weight: 700;
	margin-bottom: 1rem;
}
.page-guide .flow .separate{
	font-size: 3rem;
	color: var(--global--color--red);
	font-weight: 700;
	border: var(--global--color--red) .3rem solid;
	border-radius: 2rem;
	text-align: center;
	padding: 1.3rem 2rem;
}








/* ===========================================================================================================================================================

	ABOUT

 =========================================================================================================================================================== */
.page-about{
	margin-bottom: 20rem;
}
 .page-about .page-title{
	margin-bottom: 11.0rem;
}
.page-about .page-title .tits{
	max-width: 57rem;
	width: 100%;
	padding-right: 3rem;
}
.page-about .page-title .ph{
	width: calc(100% - 57rem);
	border-radius: 4rem 0 0 0;
	overflow: hidden;
}
.page-about .page-title .inner{
	display: flex;
	/*padding-right: 0;*/
}
.page-about .page-title .inner .ph img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-about .page-title .inner .text{
	font-size: 1.8rem;
	line-height: 1.8;
}



/* message */
section.message{
	background-color: var(--global--color--black);
	position: relative;
	z-index: 1;
	overflow: hidden;
}
section.message .inner{
	display: flex;
	justify-content: space-between;
}

section.message .inner .message-box{
	max-width: 57rem;
	width: 100%;
	padding: 9.5rem 0;
}
section.message .inner .message-box h3{
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--global--color--white);
}
section.message .inner .message-box h3 span{
	display: block;
	color: var(--global--color--red);
	font-weight: 700;
	margin-bottom: 2.5rem;
}
section.message .inner .message-box p{
	margin-top: 5rem;
	font-size: 1.8rem;
	color: var(--global--color--white);
}
section.message .inner .message-photo{
	width: 38%;
}
section.message .inner .message-photo img{
    width: calc(100% + 8rem);
    max-width: calc(100% + 8rem);
	width: 100%;
	max-width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}




/* Profile */
.page-about .profile{
	margin-top: 17rem;
}
.page-about .profile h3{
	margin-bottom: 4.5rem;
}

.page-about .profile .profile-box{
	max-width: 91rem;
	margin: 0 auto;
}
.page-about .profile .profile-box dl{
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.page-about .profile .profile-box dl dt{
	width: 19rem;
	padding: 1.5rem 0;
	border-bottom: var(--global--color--black) .1rem solid;
	font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.page-about .profile .profile-box dl dd{
	width: calc(100% - 22rem);
	padding: 1.5rem 0;
	border-bottom: #c9c9c9 .1rem solid;
}
.page-about .access{
	margin-top: 15rem;
}
.page-about .access h3{
	margin-bottom: 7.5rem;
}
.page-about .access .map{
	border-radius: 2rem;
	overflow: hidden;
}
.page-about .access .map-box{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.page-about .access .map-box .map{
	max-width: 72rem;
	width: 100%;
}
.page-about .access .map-box .map iframe{
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
}
.page-about .access .map-box .map-inbox{
	width: calc(100% - 75rem);
}
.page-about .access .map-box .map-inbox dl:not(:last-child){
	margin-bottom: 3rem;
}
.page-about .access .map-box .map-inbox dl dt{
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1rem;
}
.page-about .access .map-box .map-inbox .pager-article{
	padding-top: 0;
	border-top: none;
}
.page-about .access .map-box .map-inbox .pager-article .buttons{
	justify-content: flex-start;
}


.slider-photo{
	margin-top: 3rem;
}
.slider-photo p{
	padding: 0 1rem !important;
}

.slick-slider div { transition: none; }



.scroll-text{ position: relative; bottom: -2.4rem; z-index: 1; }
.scroll-text ol{
  display: flex;
  width: 100%;
  overflow: hidden;
}
.scroll-text ol li{
	
  line-height: 1;
  font-size: 16rem;
  font-weight: 900;
  flex: 0 0 auto;
  white-space: nowrap;
  overflow: hidden;
  width: auto !important;
  font-style: italic;
  padding-right: 2rem;

}

.scroll-text ol li:nth-child(odd) {
  animation: loop 60s -30s linear infinite;
	color: var(--global--color--red);
}

.scroll-text ol li:nth-child(even) {
  animation: loop2 60s linear infinite;
	color: var(--global--color--black);
}


@keyframes loop {
    0% {
      transform: translateX(100%);
    }
    to {
      transform: translateX(-100%);
    }
}

@keyframes loop2 {
    0% {
      transform: translateX(0);
    }
    to {
      transform: translateX(-200%);
    }
}





.case-list .inner .case-list-box{
	display: flex;
	flex-wrap: wrap;
}

.case-list .inner .case-list-box a{
	width: 32%;
	margin-right: 2%;
	margin-bottom: 2%;
}
.case-list .inner .case-list-box a dl dt{
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	aspect-ratio: 3 / 2;
	background-color: var(--global--color--lightgray);
	border-radius: 2rem;
	overflow: hidden;
}
.case-list .inner .case-list-box a dl dt img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.case-list .inner .case-list-box a dl dd.dates{
	margin-top: 1.2rem;
	display: flex;
	align-items: baseline;
}
.case-list .inner .case-list-box a dl dd.dates span.date{
	color: var(--global--color--red);
	font-weight: 600;
	width: 10rem;
}
.case-list .inner .case-list-box a dl dd.dates div{
	width: calc(100% - 10rem);
	display: flex;
	flex-wrap: wrap;
}
.case-list .inner .case-list-box a dl dd.dates div span{
	color: var(--global--color--white);
	font-size: 1rem;
	line-height: 1;
	padding: .5rem .8rem;
	border-radius: 1rem;
	margin-left: 1rem;
	margin-bottom: .5rem;
}
.case-list .inner .case-list-box a dl dd.title{
	font-size: 2rem;
	font-weight: 700;
}

.pickups-list a dl dd.dates div span:not(:first-child){
	display: none;
}




/*

	COTNACT

*/

.form-inbox{
	max-width: 100rem;
	margin: 0 auto;
	background-color: var(--global--color--white);
	margin-top: 4rem;
	padding: 6rem 7rem;
	border-radius: 2rem;
}
.form-inbox dl{
	display: flex;
	align-items: stretch;
	margin-bottom: 3rem;
}
.form-inbox dl dt{
	width: 25rem;
	padding-right: 2.5rem;
	display: flex;
	justify-content: flex-end;
	align-items: baseline;
	font-weight: 700;
	padding-top: .5rem;
}
.form-inbox dl dt span{
	border: var(--global--color--red) .1rem solid;
	border-radius: .5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 1rem;
	font-size: 1.2rem;
	height: 2.5rem;
	height: 2rem;
	line-height: 1;
	width: 4rem;
	font-weight: 400;
	color: var(--global--color--red)
}
.form-inbox dl dt span.n{
	background-color: var(--global--color--red);
	color: var(--global--color--white);
}

.form-inbox dl dd input::placeholder {
  color: #c9c9c9;
  font-size: 1.4rem;
}
.form-inbox dl dd input.name{
	width: 65%;
}
.form-inbox dl dd{
	width: calc(100% - 27.5rem);
}

.form-inbox dl dd .zips{ margin-bottom: 1rem; display: flex; align-items: baseline; }
.form-inbox dl dd .zips div{ width: 45%; }

.form-inbox dl dd .zips a{
	margin-left: 2rem;
    display: flex;
    height: 4.5rem;
    width: 15rem;
    justify-content: center;
    align-items: center;
    background-color: var(--global--color--black);
    color: var(--global--color--white);
    border-radius: 10rem;
}

.form-inbox dl dd .zips input{
	padding-left: 4rem;
}
.form-inbox dl dd .zips .wpcf7-form-control-wrap::before{
    content: "〒";
    position: absolute;
    top: -3px;
    height: 100%;
    left: 12px;
}


.form-inbox dl dd input,
.form-inbox dl dd textarea{
	width: 100%;
	border: #c9c9c9 .1rem solid;
	border-radius: .5rem;
	padding: 1rem 2rem;
	background-color: #f7f7f8;
}


.privacy-agreement{
	max-width: 100rem;
	margin: 7rem auto 0;
	text-align: center;
}

.privacy-agreement .accept{ text-align: center; font-size: 1.4rem; margin-top: 3rem; }

.privacy-agreement .accept label{ display: flex; align-items: center; justify-content: center; }

.privacy-agreement .accept input[type="checkbox"] {
  position: relative;
  width: 2.4rem;
  height: 2.4rem;
  margin-right: 1.5rem;
  padding: 0;
  border: var(--global--color--black) .1rem solid;
  background-color: var(--global--color--white);
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.privacy-agreement .accept input[type="checkbox"]:checked:before {
	position: absolute;
    top: 4px;
    left: 8px;
    transform: rotate(50deg);
    width: 4px;
    height: 10px;
    border-right: 2px solid var(--global--color--red);
    border-bottom: 2px solid var(--global--color--red);
	content: '';
}
.privacy-agreement .accept a{
	position: relative;
}
.privacy-agreement .accept a::before{
	content: "";
	width: 100%;
	height: .1rem;
	background-color: var(--global--color--black);
	position: absolute;
	bottom: -.5rem;
}



.contacts-form-box .buttons{
	margin: 6rem 0 0;
}
.contacts-form-box .buttons input{
	display: flex;
    align-items: center;
    justify-content: center;
    width: 40rem;
    height: 8rem;
	background: url(./assets/images/arrow_right08.svg) var(--global--color--white) no-repeat 90% 50% / 5.4rem auto;
    border-radius: 30rem;
    border: #e6e6e6 .1rem solid;
	margin: 0 auto;
    font-size: 1.8rem;
	padding: 0 4rem;
	text-align: left;
	font-weight: 700;
}
.contacts-form-box .buttons input:hover{
	background: url(./assets/images/arrow_right08.svg) var(--global--color--red) no-repeat 90% 50% / 5.4rem auto;
	color: var(--global--color--white);
}


.contacts-form-box-confirm{
	margin-top: 5rem;
}
.contacts-form-box-confirm .form-inbox dl dt{
	padding-top: 0;
}
.contacts-form-box-confirm ul li:not(:last-child){
	margin-bottom: 1rem;
}
.contacts-form-box-confirm ul{
	display: flex;
	justify-content: center;
}
.contacts-form-box-confirm ul li:not(:last-child){
	margin-right: 2rem;
}
.contacts-form-box-confirm .buttons li.back input{
	background: url(./assets/images/arrow_right03.svg) var(--global--color--white) no-repeat 90% 50% / 5.4rem auto;
}
.contacts-form-box-confirm .buttons li.back input:hover{
	background: url(./assets/images/arrow_right03.svg) var(--global--color--black) no-repeat 90% 50% / 5.4rem auto;
}



.contacts-form-box-completion{
	margin-top: 5rem;
}
.contacts-form-box-completion h4{
	font-weight: 700;
	font-size: 2rem;
	margin-bottom: 1.5rem;
}
.contacts-form-box-completion .inner{
	max-width: 65rem;
}
.contacts-form-box-completion .pager-article{
	border-top: none;
	padding-top: 0;
}
.contacts-form-box-completion .buttons{
	margin-top: 0;
}


.contacts-form-box .zips{
	display: flex;
}



.case-article{
	margin-bottom: 17rem;
}




.article-construction-list{
	margin-bottom: 9rem !important;
}
.article-construction-list .profile{
	max-width: 91rem;
	margin: 0 auto;
}

.article-construction-list.page-about{
	margin-bottom: 0;
}

.page-about .profile .profile-box dl dd{
	width: calc(100% - 26rem);
    padding: 1.5rem 2rem;
}
.page-about .profile h4{
	font-weight: 700;
    font-size: 2.1rem;
    margin-bottom: 2rem;
}



.case-article .title h3{
	font-size: 2.4rem;
	font-weight: 700;
	padding-bottom: 1.5rem;
	margin-bottom: 2rem;
	border-bottom: #e6e6e6 .2rem solid;
}


.case-article .title .dates{
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
}

.case-article .title .dates .date{
	color: var(--global--color--red);
	font-size: 1.5rem;
	font-weight: 700;
}
.case-article .title .dates .cats{
	display: flex;
}
.case-article .title .dates .cats span{
	margin-left: 1rem;
	color: var(--global--color--white);
    font-size: 1rem;
    line-height: 1;
    padding: .2rem .8rem;
    border-radius: 1rem;
    margin-left: 1rem;
    display: flex;
    height: 1.5rem;
    justify-content: center;
    align-items: center;
}



.article-construction-list{
	margin-top: 8rem;
}
.before{
	max-width: 68rem;
	margin: 5rem auto 0;
}
.after{
	max-width: 90rem;
	margin: 5rem auto 0;
}
.before h3,
.after h3{
	text-align: center;
	font-size: 3.2rem;
	font-weight: 500;
	margin-bottom: 3rem;
}
.before img,
.after img{
	max-width: 100%;
}

.before_thumbnail{ display: flex; }

.before_thumbnail .slick-current::before,
.after_thumbnail .slick-current::before{
	content: "";
	width: calc(100% - .8rem);
	height: calc(100% - .8rem);
	position: absolute;
	border: var(--global--color--red) .4rem solid;
}


.before_thumbnail,
.after_thumbnail{
	margin-top: 1.5%;
}
.before_thumbnail div.photo,
.after_thumbnail div.photo {
  width: 13.0% !important;
  margin-right: 1.5%;
  margin-bottom: 1.5%;
  position: relative;
    height: 13%;
    aspect-ratio: 1 / 1;
}
.before_thumbnail div.photo:nth-child(7n),
.after_thumbnail div.photo:nth-child(7n){
	margin-right: 0;
}
.before_thumbnail div.photo img,
.after_thumbnail div.photo img{
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}



.before_thumbnail .slick-track,
.after_thumbnail .slick-track {
  transform: unset !important;
  width:100% !important;
}


.slick-prev, .slick-next{
	width: 8.1rem !important;
	height: 8.1rem !important;
	z-index: 1 !important;
}
.slick-prev::before,
.slick-next::before{
	display: none !important;
}
.slick-prev{
	left: -4.05rem !important;
	background: url('./assets/images/case/prev.svg') no-repeat 0 0 / 8.1rem auto !important;
}

.slick-next{
	right: -4.05rem !important;
	background: url('./assets/images/case/next.svg') no-repeat 0 0 / 8.1rem auto !important;
}





.page-contact-completion .page-title::before{
	display: none;
}
.page-contact-completion .page-title{
	min-height: inherit !important;
}





/* -------------------------------------------------------------------------------------------------------------------------------------------------

	privacy

------------------------------------------------------------------------------------------------------------------------------------------------- */
.page-privacy{
	margin-bottom: 13rem;
}
.page-privacy .privacy{
	max-width: 90rem;
	margin: 0 auto;
}
.page-privacy .privacy-box:not(:last-child){
	margin-bottom: 4.5rem;
}
.page-privacy .privacy-box h4{
	font-weight: 700;
	font-size: 2rem;
}







@media screen and (max-width: 1500px){
	.corporate footer::after{ width: 40vw; height: stretch; background: url(./assets/images/footer-bg02.png) no-repeat 0 100% / 100% auto; }
}



@media screen and (max-width: 1300px){

	section.mains .cover h1 img{ width: 50vw; }

	section.mains .cover .contacts .lines,
	section.mains .cover .contacts .tels{ height: 9rem; }
	
	section.mains .cover .inner{ margin-bottom: 5vw; }

	section.mains .cover .contacts{ justify-content: flex-end; margin-top: 6vw; }
	section.mains .cover .contacts .tels{ width: calc(50% - 6rem); }



	section.mains .cover .contacts .lines{ padding-right: 2.5vw; }
	section.mains .cover .contacts .lines .logo{ width: 100%; max-width: 18vw; }
	
	section.mains .cover .contacts .lines .btn a{ font-size: 1.4rem; }

	section.mains .cover .contacts .tels a .t{ font-size: 1.4rem; }
	section.mains .cover .contacts .tels a .t span{ font-size: 1.8rem; }
	section.mains .cover .contacts .tels a .i img{ max-width: 30rem; }

}


@media screen and (max-width: 1180px){

	.footer-contact-inbox-l{ max-width: inherit; width: 47%; }
	.footer-contact-inbox-r{ max-width: inherit; width: 50%; }

	.footer-contact-inbox-l .buttons a span{ font-size: 1.8rem;     background: url(./assets/images/arrow_right03.svg) no-repeat 100% 50% / 3.4rem auto; }
	.footer-contact-inbox-r dl dd a{ font-size: 1.4rem; }
	.catches h3,
	.catches h3 span{ font-size: 4rem; }

	.business .business-box01-inbox{ padding-top: 5vw; padding-bottom: 4vw; }
	



	
	.page-guide .page-title .tits,
	.page-case .page-title .tits,
	section.message .inner .message-box{ width: 52%; }
	.page-guide .page-title::before,
	.page-case .page-title::before{ width: 43vw; margin-left: 57%; }

	.message::before{
		width: 43vw;
		height: 60rem;
	}


	
}



@media screen and (max-width: 1120px){
	
	.header-menu ul li{ margin-right: 1.5rem; }


	.page-about .access .map-box .map-inbox{ width: 31.5rem; }
	.page-about .access .map-box .map{ width: calc(100% - 34rem); }
	section.sns .sns-news-box h3 span,
	section.sns .sns-instagram-box h3 span{ font-size: 5.8rem; }

	.page-guide .flow .flow-box dl{ width: calc(100% - 33rem - 8.5rem); }
	
	.page-guide .flow .flow-box .ph{ max-width: 27rem; margin-left: 3rem; }


}


@media screen and (max-width: 1100px){


	.footer-contact-box{ padding: 4rem 4rem; }

	.footer-contact-box dl dt img{ width: 100%; }
	.footer-contact-box dl dd{ font-size: 1.4rem; padding-left: 1.5rem;  }
	.footer-contact-box dl dt{ width: 55%; }

	
	section.footer-skyview .footer-skyview-r p{ max-width: 40rem; margin-left: 3rem; margin-bottom: 4rem; margin-right: 2.5rem; }
	section.footer-skyview .footer-skyview-r .buttons{ margin: 0 auto;
    width: 100%;
    max-width: 30rem; }

	.page-contact .contacts-box dl.area dt{ font-size: 1.2rem; }
	.page-contact .contacts-box dl.area dd{ font-size: 1.2rem; }

	.page-guide .page-title .tits{ max-width: inherit; padding-right: 0; width: 50%; padding-right: 3%; }
	.page-guide .page-title .ph{ width: 48%; }

	    .page-guide .page-title h2.tit, .page-guide .page-title h2.tit * {
        font-size: 5rem;
    }    .page-guide .page-title .tit-j {
        font-size: 1.8rem !important;
        margin-bottom: 2rem;
    }
    .page-guide .page-title .inner .text {
        font-size: 1.5rem;
    }
	
	.page-about .page-title .inner{ display: flex; }
	.page-about .page-title .tits{ max-width: inherit; padding-right: 0; width: 50%; padding-right: 3%; }
	.page-about .page-title h2.tit,
	.page-about .page-title h2.tit *{ font-size: 5rem; }
	.page-about .page-title .tit-j{ font-size: 1.8rem !important; margin-bottom: 2rem; }
	.page-about .page-title .ph{ width: 48%; }
	.page-about .page-title .inner .ph img{ height: inherit; object-fit: initial; }
	.page-about .page-title .inner .text{ font-size: 1.5rem; }

	
	.page-contact .page-title .inner{ display: flex; }
	.page-contact .page-title .tits{ max-width: inherit; padding-right: 0; width: 50%; padding-right: 3%; }
	.page-contact .page-title h2.tit,
	.page-contact .page-title h2.tit *{ font-size: 5rem; }
	.page-contact .page-title .tit-j{ font-size: 1.8rem !important; margin-bottom: 2rem; }
	.page-contact .page-title .ph{ width: 48%; }
	.page-contact .page-title .inner .ph img{ height: inherit; object-fit: initial; }
	.page-contact .page-title .inner .text{ font-size: 1.5rem; }


	section.message .inner .message-box h3{ font-size: 3.2rem; }
	section.message .inner .message-box p{ font-size: 1.5rem; }


	.page-case .page-title h2.tit, .page-case .page-title h2.tit * {
        font-size: 5rem;
    }    .page-case .page-title .tit-j {
        font-size: 1.8rem !important;
        margin-bottom: 2rem;
    }
    .page-case .page-title .inner .text {
        font-size: 1.5rem;
    }

	.page-contact .page-title::before,
	.page-about .page-title::before,
	.page-guide .page-title::before,
	.page-case .page-title::before{ height: 35rem; }


	.page-contact .page-title{ min-height: 35rem; }


}


@media screen and (max-width: 1050px){
	

	.corporate footer .footer-menu-02{ margin-left: 4rem }


	.footer-contact-box h4{ margin-bottom: 7rem; }




}

@media screen and (max-width: 1040px){
	header img{ width: 15vw; }
	
	.header-menu ul li a,
	.contact-button a span{ font-size: 1.4rem; }
	
	.contact-button a{ width: 14rem; }

	.footer-contact-inbox-r{ padding: 2.5rem 2rem 2.5rem 1.5rem; }

	.footer-contact-inbox-r .tit1{ font-size: 1.2rem; }

	.footer-contact-inbox-r .tit1:before,
	.footer-contact-inbox-r .tit1:after{ height: 1.5rem; }

	.footer-contact-inbox-r .tit2{ font-size: 2rem; }
	.footer-contact-inbox-r .tit2 span{ font-size: 2.4rem; }
	.footer-contact-inbox-r dl dd a{ padding: 2rem 2rem 2rem 1.5rem; font-size: 1.2rem; }

	section.footer-skyview .footer-skyview-l .footer-skyview-inbox{ max-width: 26rem; }
	section.footer-skyview .footer-skyview-l .footer-skyview-inbox .text{ font-size: 1.6rem; }
	section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons a{ height: 6rem; }
	section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons a span{ font-size: 1.5rem; }
	section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons a span img{ width: 3rem; height: 3rem; }
	
	section.footer-skyview .footer-skyview-l,
	section.footer-skyview .footer-skyview-r{ height: 55rem; }
}




@media screen and (max-width: 1000px){
	section.mains .cover .contacts .lines .curpon{ width: 12rem; }
	section.mains .cover .contacts .lines{ padding-left: 8rem; }
	.catches h3,
	.catches h3 span{ font-size: 3rem; }
}




@media screen and (max-width: 960px){

	.page-contact .contacts-box dl.area{ display: block; }
	.page-contact .contacts-box dl.area dt{ height: 2.8rem; width: 100%; }
	.page-contact .contacts-box dl.area dd{ margin-top: .5rem; padding-left: 0; text-align: center; width: 100%; }

	.page-about .access .map-box .map{ height: 40rem; }
	.page-about .access .map-box .map iframe{ aspect-ratio: 1 / 1; max-height: inherit !important; }


	section.mains .cover .contacts .tels a .t{ margin-bottom: 0; }
	section.mains .cover .contacts .tels a .t,
	section.mains .cover .contacts .tels a .t span{ font-size: 1.2rem; }
	section.mains .cover .contacts .tels a .i img{ max-width: 22rem; }
	section.mains .cover .contacts .tels a .r{ font-size: 1rem; }

	section.mains .cover .contacts .lines .btn a{ font-size: 1.2rem; }

	.business-box01-inbox .midashi,
	.business-box01-inbox .midashi *{ font-size: 3rem; }
	.business .business-box01-inbox h4{ font-size: 3.2rem; }
	.business .business-box01-inbox{ max-width: 50rem; }

}





@media screen and (max-width: 890px){
	.header-menu ul li a,
	.contact-button a span{ font-size: 1.2rem; }
	.contact-button a{ width: 12rem; }


	.catches h3,
	.catches h3 span{ font-size: 2.8rem; }
	
	section.about dl{ align-items: flex-start; }

	section.about h2, section.about h2 *{ font-size: 5rem; }
	section.about .tit-j{ font-size: 2rem; }

	
	section.mains .cover .contacts .lines .curpon{ width: 10rem; }
	section.mains .cover .contacts .lines{ padding-left: 5rem; }


	.contacts-box .footer-contact-inbox-r .curpon{ right: 0; }
	.contacts-box{ margin-top: 7rem; }

	section.footer-contact .catch h4{ font-size: 2.6rem; }
	section.footer-contact .catch p{ font-size: 1.6rem; line-height: 1.6; }


	section.footer-contact .tit,
	section.footer-contact .tit *{ font-size: 8rem; margin-bottom: 0; }
	section.footer-contact .tit-j{ font-size: 2rem; }


	.corporate footer .footer-menu-01 .logo{ width: 25rem; }
	.corporate footer .footer-menu-01 .logo img{ width: 100%; }
	.corporate footer .footer-menu-01 .logo span{ font-size: 1rem; }

	.corporate footer .footer-menu-01 .information{ margin-left: .5rem; }
	.corporate footer .footer-menu-01 .information p{ font-size: 1.2rem; }
	.corporate footer .footer-menu-01 small{ font-size: 1.2rem; }

	.corporate footer .footer-menu-02 .menu li{ margin-bottom: 1.5rem; }
	.corporate footer .footer-menu-02 .menu li a{ font-size: 1.4rem; padding-left: 2.3rem; background: url(./assets/images/arrow_right01.svg) no-repeat 0 50% / 1.8rem auto; }
	

	.footer-contact-box h4{ font-size: 2.4rem; margin-bottom: 5rem; }
	.footer-contact-box h4 span{ font-size: 3rem; }


	.footer-contact-inbox-l span{ font-size: 1.3rem; }
	.footer-contact-inbox-l .buttons a{ height: 8rem; }
	.footer-contact-inbox-l .buttons a span{ font-size: 1.5rem;  background: url(./assets/images/arrow_right03.svg) no-repeat 100% 50% / 2.8rem auto; }

	.footer-contact-inbox-r .tit1{ margin-left: -1rem; }
	.footer-contact-inbox-r .tit1 span{ font-size: 1.4rem; }
	.footer-contact-inbox-r .tit2{ line-height: 1.4; font-size: 1.6rem; }
	.footer-contact-inbox-r .tit2 span{ font-size: 2rem; }

	.footer-contact-inbox-r .curpon {
		position: absolute;
		right: -3rem;
		top: -5rem;
		width: 10rem;
	}

	.footer-contact-inbox{ align-items: center; }
	.footer-contact-box dl dt{ width: 50%; }


	.footer-contact-inbox-r dl dt{ width: 16rem; }
	.footer-contact-inbox-r dl dt img{ max-width: 100%; }


	section.sns .sns-news-box h3 span,
	section.sns .sns-instagram-box h3 span { font-size: 4.8rem; }


	.page-guide .flow .separate{ font-size: 2.5rem; }
	.besttiming-inbox dl dd.tit{ font-size: 1.8rem; }
	.besttiming-inbox dl dd.txt,
	.besttiming-inbox dl dd.tit span{ font-size: 1.4rem; }

	section.besttiming .tit01{ font-size: 3rem; }

	.totalcheck .ph{ width: 80%; margin: 0 auto; }
	
	.simulation .ph,
	.material .ph{ max-width: inherit; width: 40%; }

	.simulation .simulation-box,
	.material .material-box{ width: calc(100% - 40% - 5rem); }
	.material .ph{ max-width: inherit; }

	.material .titles .logo{ max-width: 10rem; }

	.simulation h3,
	.material .titles h3{ font-size: 2rem; }


}





@media screen and (max-width: 810px){



	section.footer-skyview .footer-skyview-l .footer-skyview-inbox{ max-width: 22rem; }
	section.footer-skyview .footer-skyview-l .footer-skyview-inbox .text{ font-size: 1.4rem; }
	section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons a{ height: 6rem; }
	section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons a span{ font-size: 1.5rem; }
	section.footer-skyview .footer-skyview-l .footer-skyview-inbox .buttons a span img{ width: 3rem; height: 3rem; }

	.footer-contact-inbox-r dl dt{ width: 14rem; }

}


@media screen and (min-width: 769px){

	.header-menu ul li a:hover{ color: var(--global--color--red); }

	
	.case-list .inner .case-list-box a:nth-child(3n){
		margin-right: 0;
	}
}


@media screen and (max-width: 768px){


	
	.footer-contact-inbox-r .tit2 span{ font-size: 2.2rem; }

	.page-contact .page-title::before, .page-about .page-title::before, .page-guide .page-title::before, .page-case .page-title::before,.message::before{ display: none; }

	section.about{ margin-top: 4.5rem; margin-bottom: 2rem; }
	section.about h2, section.about h2 *{ font-size: 3.6rem; }
	section.about .tit-j{ font-size: 1.8rem; margin-bottom: 3rem; }
	section.about dl{ display: block; }
	section.about dl dt,
	section.about dl dd{ max-width: inherit; width: 100%; }



	.business{ margin-top: 5rem; }




	section.about dl dt span{ font-size: 1.8rem; }
	section.about dl dt{ font-size: 2.2rem; margin-bottom: 2rem; }

	.case-list .inner .case-list-box a dl dd.dates{
		justify-content: space-between;
	}
	.case-list .inner .case-list-box a dl dd.dates div{
		justify-content: flex-end;
	}
	.case-list .inner .case-list-box a dl dd.dates div span{
		text-align: center;
		display: block;
		margin: 0;
		padding: .5rem .8rem;
	}
	.case-list .inner .case-list-box a dl dd.dates div span:not(:first-child){
		display: none;
	}
	.case-list .inner .case-list-box a dl dd.title{ font-size: 1.4rem; }

	
	.case-list .inner .case-list-box a{
		width: 49%;
	}
	.case-list .inner .case-list-box a:nth-child(even){
		margin-right: 0;
	}
	.contacts-box{ margin-top: 4rem; }

	.page-contact .page-title h2.tit,
	.page-contact .page-title h2.tit *{ font-size: 4.8rem; }

	.contacts-form-box-confirm,
	.contacts-form-box-completion{ margin-top: 0 !important; }
	.contacts-form-box-completion h4{ font-size: 1.6rem; }
	.contacts-form-box-completion p{ font-size: 1.4rem; }

	.tit01 span{ font-size: 1.2rem; }
	.tit01{ font-size: 1.9rem; }

	/* ----- header ----- */
	header.corporate{ height: var(--global--header--height--sp); }

	.header-menu{ display: none; }
	.header-menu.active{ display: inherit; width: 100%;
        height: 100%;
        background-color: var(--global--color--black); }
	
	.header-menu.active .header-menu-inner{
		display: block;
		width: 100vw;
		height: 100%;
        padding: 6rem 4rem;
        position: relative;
        overflow-y: scroll;
	}
	.header-menu .header-menu-inner,
	.header-menu ul{
		display: block;
	}


	header .logo{ margin-top: 4rem; }
	header .logo a{ height: auto; }
	header .logo a img{ max-width: 5.75rem; }
	
	.tel-icon{
		z-index: 999 !important;
		padding: 0;
		width: var(--global--header--height--sp);
		height: var(--global--header--height--sp);
		position: fixed;
		top: 0;
		right: var(--global--header--height--sp);
	}
	.tel-icon a{
		display: flex;
		align-items: center;
		justify-content: center;height: 100%;
	}
	.tel-icon a img{
		max-width: 3rem;
	}

		
	.form-inbox dl dd input.name{
		width: 100%;
	}
	.form-inbox dl dd .zips a{
		font-size: 1.2rem;
	}


	/* humberger */
	.humberger{
		z-index: 1002 !important;
		padding: 0;
		width: var(--global--header--height--sp);
		height: var(--global--header--height--sp);
		position: fixed;
		top: 0;
		right: 0;background-color: var(--global--color--black);
	}
	.humberger .menu-trigger,
	.humberger .menu-trigger span{
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.humberger .menu-trigger{
		position: relative;
		width: var(--global--header--height--sp);
		height: var(--global--header--height--sp);
	}
	.humberger .menu-trigger span{
		position: absolute;
		left: calc(50% - calc(var(--global--header--menu--line) / 2));
		width: var(--global--header--menu--line);
		height: .3rem;
		background: var(--global--color--white);
		border-radius: 1rem;
	}
	.humberger .menu-trigger span:nth-of-type(1) { top: calc(50% - 1.2rem); }
	.humberger .menu-trigger span:nth-of-type(2) { top: calc(50% - .15rem); }
	.humberger .menu-trigger span:nth-of-type(3) { top: calc(50% + .9rem); }
	.humberger .menu-trigger.active span{ background-color: var(--global--color--white); }
	.humberger .menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(8px) rotate(-45deg);
				transform: translateY(8px) rotate(-45deg);
					top: calc(50% - .9rem);
	}
	.humberger .menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.humberger .menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
				transform: translateY(-6px) rotate(45deg);
					top: calc(50% + .5rem);
	}

	.header-menu ul li a{
		height: auto;
		padding: 1.5rem 0;
		color: var(--global--color--white);
		font-size: 1.6rem;
		padding-left: 1rem;
	}


	.header-contact-box{ margin-top: 2.5rem; }
	.header-contact-box h4{ text-align: center; font-weight: 700; line-height: 1.5; color: var(--global--color--white); }
	.header-contact-box h4 span{ font-size: 2.0rem; color: var(--global--color--red); }

		
	.header-contact-box .buttons{
		margin-top: 2rem;
		margin-bottom: .5rem;
		margin: 2rem 1.5rem 0;
	}
	.header-contact-box .buttons a{
		display: flex;
		align-items: center;
		justify-content: center;
		color: var(--global--color--white);
		width: 100%;
		height: 5.5rem;
		background-color: var(--global--color--red);
		border-radius: 11rem;
	}
	.header-contact-box .buttons a:hover{
		background-color: var(--global--color--red--hover);
	}
	.header-contact-box .buttons a span{
		font-size: 1.4rem;
		display: flex;
		height: 100%;
		font-weight: 700;
		justify-content: center;
		align-items: center;
		background: url('./assets/images/arrow_right03.svg') no-repeat 100% 50% / 3.1rem auto;
		width: 90%;
		margin-top: 0;
	}

	.header-line-box{
		margin-top: 3.5rem;
	}
	.header-line-box dl{
		display: flex;
	}
	.header-line-box a{
		color: var(--global--color--white);
	}
	.header-line-box dl{
		display: flex;
		height: 5rem;
		justify-content: center;
		align-items: center;
	}
	.header-line-box dl dt,
	.header-line-box dl dd{ width: 50%; }
	.header-line-box dl dt a{
		padding-right: 1.5rem;
		border-right: var(--global--color--white) .1rem dashed;
        display: flex;
        justify-content: flex-end;
	}
	.header-line-box dl a{
		padding-left: 1.5rem;
		display: flex;
		align-items: center;
		font-size: 1.2rem;
		height: 5rem;
	}
	.header-line-box dl dd a img{
		width: 3rem;
		margin-right: .5rem;
	}
	.header-line-box dl dt a img{
		width: 20rem;
	}


	.branch{ margin: 2rem 0 2.5rem 0; }


	.page-title h2.tit,
	.page-title h2.tit *{ font-size: 4.8rem; }
	
	.page-title .tit-j{ font-size: 1.8rem !important; margin-bottom: 3.5rem !important; }



	.news-list a dl{ display: block; }
	.news-list a dl dt{ max-width: inherit; justify-content: flex-start; font-size: 1.2rem; }
	.news-list a dl dt span{ margin-left: 1rem; font-size: 1.1rem; }
	.news-list a dl dd{ padding: 0; font-size: 1.4rem; background: none !important; width: 100%; }
	.news-list a:hover dl dd{ background: none !important; }

	.news-list .pager .wp-pagenavi a.previouspostslink{ margin-right: 2.5rem; }
	.news-list .pager .wp-pagenavi a.nextpostslink{ margin-left: 2.5rem; }



	section.mains .cover .inner{ padding-top: var(--global--header--height--sp); margin-bottom: 0; justify-content: center; }
	section.mains .cover h1{ text-align: center; }


	.corporate main{ padding-top: var(--global--header--height--sp); }



	section.footer-skyview .footer-skyview-l .footer-skyview-inner{ position: relative; background: url('./assets/images/footer_skyview01_sp.png') no-repeat 50% 50% / cover; }



	section.footer-skyview{ display: block; }
	section.footer-skyview .footer-skyview-l,
	section.footer-skyview .footer-skyview-r{ width: 100%; height: auto; }

	section.footer-skyview .footer-skyview-l .footer-skyview-inbox{ max-width: 33.7rem; padding: 4rem 0; }
	section.footer-skyview .footer-skyview-l .footer-skyview-inbox .text{ margin: 3rem auto 0; }


	section.footer-skyview .footer-skyview-r .footer-skyview-inner{ margin-top: 3rem; flex-direction: column; justify-content: center; }




	.footer-contact-inbox{ display: block; }
	.footer-contact-inbox-l,
	.footer-contact-inbox-r{ width: 100%; max-width: inherit; }

	.footer-contact-box h4{ margin-bottom: 3rem; }

	.footer-contact-inbox-r{ margin-top: 6rem; }
	
	.footer-contact-inbox-l a{ max-width: 55rem; margin: 0 auto; }
	.footer-contact-inbox-l span{ font-size: 1.1rem; }

	.footer-contact-inbox-l .buttons a{ height: 5.5rem; }
	.footer-contact-inbox-l .buttons a span{ font-size: 1.4rem; justify-content: center; background: url(./assets/images/arrow_right03.svg) no-repeat 100% 50% / 3.2rem auto; }




		.footer-contact-box dl dt{ height: auto; max-width: inherit; }
		.footer-contact-box dl dd{
	display: block;
		position: relative;
	}

	.footer-contact-inbox-r dl dd a {
			padding: 2rem 0 2rem 0;
        font-size: 1.4rem;
		text-align: center;
        display: block;
        width: calc(100%);border-radius: 0 0 1rem 1rem; }

	.footer-contact-box dl.area{ display: block; margin-left: 0; }
	.footer-contact-box dl.area dt{ width: 100%; height: 2.8rem; }
	.footer-contact-box dl.area dd{ width: 100%; padding-left: 0; font-size: 1.1rem; }


	.corporate footer{ margin-top: 0; }
	.corporate footer .inner{ padding-top: 8rem; display: block; }


	section.footer-contact .tit, section.footer-contact .tit *{ font-size: 3.6rem; }
	section.footer-contact .tit-j{ margin-bottom: 2.5rem; }
	section.footer-contact .tit-j,
	section.footer-contact .catch h4{ font-size: 1.8rem; }
	
	section.footer-contact .catch h4{ margin-bottom: 1.5rem; }


	
	.footer-contact-box{ padding: 3rem 2rem; border-radius: 1.5rem; }
	.footer-contact-box h4{ font-size: 1.8rem; line-height: 1.5; }
	.footer-contact-box h4 span{ font-size: 2.2rem; }
	.footer-contact-box dl{ margin-left: 0; display: block; }
	.footer-contact-box dl dt{ width: 100%; font-size: 1.2rem; height: 3rem; margin-bottom: 1.5rem; }
	.footer-contact-box dl dd{ width: 100%; padding-left: 0; font-size: 1.1rem; }

	.corporate footer .footer-menu-01 .logo{ margin-bottom: 2rem; }
	.corporate footer .footer-menu-01 .information{ margin-left: 0; }

	.corporate footer .footer-menu-01 .logo{ width: 100%; }
	.corporate footer .footer-menu-01 .logo a{ max-width: 21rem; margin-left: -1.5rem; }
	.corporate footer .footer-menu-01 .logo span{ text-align: left; margin-top: -1rem; margin-left: 0; }

	.corporate footer .footer-menu-01 small{ display: none; }

	.corporate footer .footer-menu-02{ margin-left: 0; }
	.corporate footer .footer-menu-02 .menu li{ margin-bottom: 1.5rem; }
	.corporate footer .footer-menu-02 .menu li a{ font-size: 1.2rem; background: url(./assets/images/arrow_right01.svg) no-repeat 0 50% / 1.6rem auto; }


	.corporate footer .footer-menu-02 .submen{ margin-top: 1rem; }
	.corporate footer .footer-menu-02 .submenu li{ margin-bottom: 1.0rem; }
	
	.corporate footer .footer-menu-02 .submenu li a{
		font-size: 1.1rem;
		padding-left: 1.8rem;
		background: url('./assets/images/arrow_right02.svg') no-repeat .5rem 50% / .5rem auto;
		display: block;
	}

	.corporate footer small{ margin-top: 4rem; display: block; font-size: 1.1rem; }

	
	.footer-contact-inbox-r{ padding: 2.5rem 2rem 0; }
	.footer-contact-inbox-r dl dt{ height: auto; }
	.footer-contact-inbox-r dl dd{ left: -2rem; width: calc(100% + 4rem); }

	.footer-contact-inbox-r .curpon{ width: 16rem; right: -1rem; top: -3rem; }


	.footer-contact-box dl dt img{ max-width: 34.6rem; }



	.corporate footer{ margin-bottom: var(--global--footer--height--sp); }


	.footer-fixed-button{ position: fixed; width: 100%; height: var(--global--footer--height--sp); background-color: var(--global--color--black); z-index: 11; bottom: 0; display: flex; justify-content: space-between; }

	.footer-fixed-button .contacts{ width: calc(100% - 23rem); padding: 0 1rem; }
	.footer-fixed-button .contacts *{ color: var(--global--color--white); }
	.footer-fixed-button .contacts a{ display: flex; align-items: center; justify-content: space-around; height: 100%; }

	.footer-fixed-button .contacts .contacts1 .tit{ font-size: 1.1rem; color: var(--global--color--red); line-height: 1; }
	.footer-fixed-button .contacts .contacts1 p{ font-size: 1.4rem; line-height: 1; }
	.footer-fixed-button .contacts .contacts1 p span{ font-size: 1.8rem; color: var(--global--color--red); line-height: 1; }
	
	.footer-fixed-button .contacts .contacts2 *{ text-align: center; }
	.footer-fixed-button .contacts .contacts2 .tit{ font-size: 1.0rem; color: var(--global--color--red); line-height: 1; letter-spacing: 0; font-weight: 700; margin-bottom: .3rem; }
	.footer-fixed-button .contacts .contacts2 .tel{ font-size: 1.3rem; line-height: 1; letter-spacing: 0; font-weight: 500; }
	.footer-fixed-button .contacts .contacts2 .time{ font-size: 1.0rem; line-height: 1; letter-spacing: 0; }

	.footer-fixed-button a.line{ max-width: 23rem; width: 100%; display: flex; justify-content: center; align-items: center; height: 100%; background-color: var(--global--color--line); }
	.footer-fixed-button a.line img{ max-width: 17.5rem; }





	
	section.footer-skyview .footer-skyview-r .footer-skyview-inner .buttons{
		margin-top: 2rem;
		margin-bottom: .5rem;
	}
	section.footer-skyview .footer-skyview-r .footer-skyview-inner .buttons a{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 8rem;
		background-color: var(--global--color--white);
		border-radius: 11rem;
	}
	section.footer-skyview .footer-skyview-r .footer-skyview-inner .buttons a:hover{
		background-color: var(--global--color--blue);
	}
	section.footer-skyview .footer-skyview-r .footer-skyview-inner .buttons a span{
		font-size: 1.78rem;
		display: flex;
		justify-content: space-between;
		height: 100%;
		align-items: center;
		width: 80%;
		padding-left: 1.5rem;
		font-weight: 700;
		margin-top: 0;
	}
	section.footer-skyview .footer-skyview-r .footer-skyview-inner .buttons a span img{
		width: 4.5rem; height: 4.5rem;
	}
	section.footer-skyview .footer-skyview-r .footer-skyview-inner .buttons a:hover span{
		color: var(--global--color--white);
	}


	.material .ph{ width: 100%;}

	.contacts-form-box{ margin-top: 5rem; padding: 3.5rem 0 5rem; }
	.contacts-form-box h3{ font-size: 1.8rem; margin-bottom: 2.5rem; }
	.contacts-form-box h3 span{ font-size: 1.4rem; }
	.contacts-form-box .text{ text-align: left; }


	.category-list{ margin-bottom: 3rem; margin-top: 4rem; }
	.category-list .inner{ margin-bottom: 0; display: block; }
	.category-list .inner .tit{ text-align: center; margin-right: 0; font-size: 1.8rem; margin-bottom: 2.5rem; }

	.category-list ul{ justify-content: center; flex-wrap: wrap; }
	.category-list ul li{ margin-bottom: 1rem; }


	.page-news{ margin-bottom: 11rem; }


	.pager-article .buttons a{ height: 5rem; font-size: 1.5rem; }
	.pager-article .buttons a span{ font-size: 1.5rem; }
	.pager-article .buttons a span img{ width: 2.75rem; height: 2.75rem; }

	.news-article .title .date{ font-size: 1.2rem; margin-bottom: 1rem; }
	.news-article .title .date span{ margin-left: .5rem; font-size: 1.1rem; }
	.news-article .title{ margin-bottom: 3rem; }
	.news-article .title h3{ font-size: 1.8rem; margin-bottom: 1rem; }


	
	/* 404 */
	.contents-404{ margin-top: 16.5rem; margin-bottom: 16.5rem; text-align: center; }
	.contents-404 h3,
	.contents-404 h3 span{ font-weight: 900; font-size: 4rem; line-height: 1.2; }
	.contents-404 h3 span{ display: block; }
	.contents-404 p{ font-size: 1.2rem; }
	.contents-404 .pager-article{ border-top: none; }


	/* About */
	.page-about{ margin-bottom: 13rem; }
	.page-about .page-title{ margin-bottom: 3.5rem; }
	.page-about .page-title .ph{ display: none; }
	.page-about .page-title .tits{ width: calc(100%); padding-right: 0; max-width: inherit; }
	.page-about .page-title .tit-j{ margin-bottom: 2.5rem !important; }
	.page-about .page-title .inner{ padding-right: auto; }
	.page-about .page-title .inner .text{ font-size: 1.6rem; }


	.page-about .profile h3{ margin-bottom: 3rem; }
	.page-about .profile .profile-box dl dt{ font-size: 1.5rem; justify-content: flex-start; padding-left: 1rem; width: 8rem; }

	.page-about .profile .profile-box dl dd{ font-size: 1.5rem; width: calc(100% - 10.5rem); padding-left: 1rem; }

	.scroll-text{ bottom: 0; }
	.scroll-text ol li{ font-size: 5rem; }


	.slider-photo p img{ width: 30rem; }

	section.message .inner{ display: block; }

	section.message .inner .message-box{ padding: 6rem 0; }
	section.message .inner .message-box h3{ font-size: 2.2rem; line-height: 1.6; }
	section.message .inner .message-box h3 span{ font-size: 1.8rem; margin-bottom: 1rem; }
	section.message .inner .message-box p{ font-size: 1.6rem; margin-top: 2rem; }

	.page-about .profile{ margin-top: 5rem; }


		
	.page-about .access{
		margin-top: 7rem;
	}
	.page-about .access h3{ margin-bottom: 3.5rem; }
	.page-about .access .map-box{ display: block; }

	.page-about .access .map-box .map{ display: flex; width: 100%; height: auto; }
	.page-about .access .map-box .map iframe{ aspect-ratio: 1 / 1; }
	
	.page-about .access .map-box .map-inbox{ margin-top: 2rem; width: 100%; }
	.page-about .access .map-box .map-inbox dl{ display: flex; justify-content: space-between; margin-bottom: 0 !important; }
	.page-about .access .map-box .map-inbox dl dt {
        font-size: 1.5rem;
        justify-content: flex-start;
        padding-left: 1rem;
        width: 8rem;
		padding: 1.5rem 0;
    	border-bottom: var(--global--color--black) .1rem solid;
	margin-bottom: 0;
    }
	.page-about .access .map-box .map-inbox dl  dd {
        font-size: 1.5rem;
        width: calc(100% - 9.5rem);
        padding-left: 1rem;
    padding: 1.5rem 0 1.5rem 1rem;
		border-bottom: #c9c9c9 .1rem solid;
    }
	.page-about .access .map-box .map-inbox .pager-article .buttons{ justify-content: center; }

	section.message .inner .message-photo{ width: calc(100% + 4rem); margin-left: -2rem; }

	section.message .inner .message-box{ padding: 3.5rem 0 4rem; }


	.header-photo{ width: 100%; display: flex; justify-content: flex-end; }
	.header-photo img{ max-width: 75%; width: 100%; }




	.page-contact .page-title .inner .text{ font-size: 1.6rem; }

	.form-inbox dl{ display: block; }
	.form-inbox dl dt{ justify-content: flex-start; margin-bottom: 1rem; }
	.form-inbox dl dd{ width: 100%; }

	.form-inbox{ padding: 4rem 1.5rem .1rem; }

	.contacts-form-box-confirm ul{ flex-direction: column-reverse; }
	.contacts-form-box-confirm ul li:not(:last-child){ margin-right: 0; }

	.contacts-form-box .buttons input{ width: 100%; text-align: center; }

	.privacy-agreement{ margin-top: 3.5rem; }
	.privacy-agreement p{ font-size: 1.1rem; text-align: left; }

	.privacy-agreement .accept *{ font-size: 1.4rem; }


	.contacts-form-box .buttons{ margin-top: 3rem; }
	.contacts-form-box .buttons input{ background: url(./assets/images/arrow_right08.svg) var(--global--color--white) no-repeat 90% 50% / 2.75rem auto; }
	.contacts-form-box .buttons input:hover{ background: url(./assets/images/arrow_right08.svg) var(--global--color--red) no-repeat 90% 50% / 2.75rem auto; }
	.contacts-form-box-confirm .buttons li.back input,
	.contacts-form-box-confirm .buttons li.back input:hover { background: url(./assets/images/arrow_right03.svg) var(--global--color--white) no-repeat 90% 50% / 2.75rem auto; color: var(--global--color--black); }



	.page-contact .page-title .inner{ padding-right: 2rem; width: 100%; max-width: inherit; display: block; }
	.page-contact .page-title .tit{ max-width: inherit; padding-right: 0; }
	.page-contact .page-title .tits{ width: calc(100%); padding-right: 0; max-width: inherit; }



	.page-contact .contacts-box .inner{ background-color: #f3f4f5; margin: 0 2rem; padding: 3.5rem 2rem; border-radius: 1.5rem; }

	.footer-contact-inbox-l .buttons a span{ padding-left: 0; }

	.contacts-box .footer-contact-inbox-r{ background-color: white; }
	.contacts-box .footer-contact-inbox-r .buttons{ margin-top: 2rem; }
	.contacts-box .footer-contact-inbox-r .buttons a{ font-size: 14px; display: flex; justify-content: center; align-items: center; height: 3.5rem; color: var(--global--color--white); background-color: var(--global--color--line); border-radius: 0 0 2rem 2rem; margin-left: -2rem; width: calc(100% + 4rem); }




	/* CASE */
	.page-case .page-title .inner{ padding-right: 2rem; }
	.page-case .page-title .tits{ max-width: inherit; padding-right: 0; width: 100%; }
	.page-case .page-title .inner .text{ font-size: 1.6rem; }



	.pickups{ margin-top: 5rem; }
	
	.pickups h4.tit,
	.pickups h4.tit *{ font-size: 4.8rem; }
	
	.pickups .tit-j{ font-size: 1.6rem !important; margin-bottom: 3.5rem !important; font-weight: 700; }

	.pickups h4.tit,
	.pickups h4.tit *{
		font-size: 3.6rem;
		line-height: 1;
		font-weight: 900;
	}

	.pickups  h4.tit span{
		color: var(--global--color--red);
		display: block;;
	}



	.pickups-list a{
		width: 90%;
		display: block;
		margin: 0 .5rem;
	}
	.pickups-list a dl dt{
		width: 100%;
		height: 100%;
		aspect-ratio: 4 / 3;
		aspect-ratio: 3 / 2;
		background-color: var(--global--color--lightgray);
		border-radius: 2rem;
		overflow: hidden;
	}
	.pickups-list a dl dt img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.pickups-list a dl dd.dates{
		margin-top: 1.2rem;
		display: flex;
		align-items: baseline;
	}
	.pickups-list a dl dd.dates span.date{
		color: var(--global--color--red);
		font-weight: 600;
		width: 10rem;
	}
	.pickups-list a dl dd.dates div{
		width: calc(100% - 10rem);
		display: flex;
		flex-wrap: wrap;
	}
	.pickups-list a dl dd.dates div span{
		color: var(--global--color--white);
		font-size: 1rem;
		line-height: 1;
		padding: .5rem .8rem;
		border-radius: 1rem;
		margin-left: 1rem;
		margin-bottom: .5rem;
	}
	.pickups-list a dl dd.title{
		font-size: 1.4rem;
		font-weight: 700;
	}




	.case-article .title .dates .date{ font-size: 1.2rem; width: 8rem; }
	.case-article .title .dates .cats{ width: calc(100% - 10rem); flex-wrap: wrap; }
	.case-article .title .dates .cats span{ margin-bottom: .5%; }

	.case-article .title h3{ font-size: 1.8rem; }


	.before,
	.after{ margin-top: 3.5rem; }

	.before h3, .after h3{ font-size: 1.8rem; margin-bottom: 1rem; }

	.slick-prev, .slick-next {
		width: 4rem !important;
		height: 4rem !important;
		z-index: 1 !important;
	}
	.slick-prev{
		left: -1.8rem !important;
		background: url('./assets/images/case/prev.svg') no-repeat 0 0 / 4rem auto !important;
	}

	.slick-next{
		right: -1.8rem !important;
		background: url('./assets/images/case/next.svg') no-repeat 0 0 / 4rem auto !important;
	}

	.article-construction-list::before{ content: ""; position: absolute; top: 2rem; left: -2rem; width: calc(100% + 4rem); height: calc(100%); background-color: #f7f7f8; z-index: -1; }
	.article-construction-list{ margin-top: 4.5rem; margin-bottom: 0 !important; padding: 4rem 0; position: relative; }

	.article-construction-list h4{ text-align: center; font-size: 1.9rem; margin-bottom: 0; }

	.article-construction-list.page-about .profile .profile-box dl dd{ width: calc(100% - 12.5rem); }

	.case-article .pager-article{ border-top: none; margin-top: 0; padding-top: 6rem; }


	.case-article{ margin-bottom: 3rem; }


	section.footer-contact{ margin-top: 7rem; }

	.page-front .pickups{ padding-top: 1rem; padding-bottom: 6rem; }

	.page-front .pickups .pager-article{ margin-top: 2.5rem; }

	.business{ margin-top: 7rem; padding-bottom: 7rem; }
	.business .business-header{ margin-top: -9.5rem; }
	.business .business-header .tit-j{ font-size: 1.6rem; }
	.business .business-header .txt { padding: 2.5rem 0 3.5rem; }

	.business .business-header h3,
	.business .business-header h3 span{
		font-size: 3.6rem;
	}

	.business-box02.painting{ flex-direction: column-reverse; }

	.business-box02 .ph img{ max-width: 100%; width: 100%; }
	.business-box02 .painting-text{ padding-left: 0; }
	.business-box02 .painting-text .tit01,
	.business-box02 .skyview-text .tit01{ margin-top: 1.5rem; margin-bottom: 1.5rem; }

	.business-box02 .painting-text .tit01 span,
	.business-box02 .skyview-text .tit01 span{ margin-bottom: 1.5rem; }

	.business-box02 .buttons a{ width: 24rem; height: 5rem; }
	.business-box02 .buttons a span{ width: 20rem; font-size: 1.5rem; }
	.business-box02 .buttons a span img{ width: 2.5rem; height: 2.5rem; }

	.business-box02{ flex-direction: column-reverse; }
	.business-box02 .painting-text .tit01 strong, .business-box02 .skyview-text .tit01 strong{ font-size: 1.2rem; }


	.page-guide .pickups{ padding-top: 0; }
	.page-guide .pickups .pager-article{ margin-top: 3.5rem; }


	section.sns .inner{ display: block; padding: 4rem 2rem; }

	section.sns .sns-news-box,
	section.sns .sns-instagram-box{ width: 100%; padding: 0; }

	section.sns .sns-news-box h3, section.sns .sns-instagram-box h3{ font-size: 1.6rem; margin-bottom: 1rem; }
	section.sns .sns-news-box h3 span, section.sns .sns-instagram-box h3 span{ font-size: 3.6rem; }

	section.sns .sns-news-box .pager-article{ padding-top: 2.5rem; }

	.sns-instagram-box{ margin-top: 4rem; }



	/* privacy ------------------------------------------------------------------------------------------ */
	.page-privacy{ margin-bottom: 5rem; }
	.page-privacy .privacy-box:not(:last-child){
		margin-bottom: 4.5rem;
	}
	.page-privacy .privacy-box h4{
		font-weight: 700;
		font-size: 1.8rem;
	}
	.page-privacy .privacy-box p,
	.page-privacy .privacy-box ul li{ font-size: 1.4rem; }



	.page-guide .flow .flow-box dl{ width: calc(100% - 7rem); }




	.business .business-box01 .ph{ width: calc(100% + 4rem); margin-left: -2rem; }

	.business .business-box01 .business-box01-inbox{ position: relative; min-height: 28rem; margin-left: -2rem; width: 80%; padding: 3.5rem 2.2rem; margin-top: 15rem; margin-top: -35vw; }

	.business-box01-inbox .midashi,
	.business-box01-inbox .midashi *,
	.business .business-box01-inbox h4{ font-size: 1.8rem !important; }

	.business .business-box01 .business-box01-inbox p{ font-size: 1.4rem; }


	/* guide */
	.page-guide .page-title .tits{ max-width: inherit; padding-right: 0; width: 100%; }

	.material{ margin-top: 5rem; }

	.material .inner{ flex-direction: column-reverse; }
	.material .material-box{ width: 100%; }



	.simulation{ margin-top: 5rem; }
	.simulation ul{ justify-content: space-between; }
	.simulation .simulation-box{ width: 100%; }
	.simulation .inner{ flex-direction: column-reverse; }

	.simulation .simulation-box .tit01{ margin-bottom: 0; }
	.simulation .simulation-box .msg{ padding: 1.5rem 0 2.5rem; }



	.simulation .ph{ width: 50%; }
	
	.material .titles .logo{ max-width: 9rem; }
	.material .material-box .msg{ padding-bottom: 2.5rem; }

	.material .ph img{ max-width: 100%; width: 100%; }
	.simulation .ph{ max-width: inherit; margin-top: 1.5rem; }
	.simulation .ph img{ max-width: 100%; width: 100%; }

	
	.material .banner{ margin: 5rem auto 0; text-align: center; }
	.material .banner a{ display: block; max-width: 24rem; }


	section.besttiming{ padding-top: 4rem; padding-bottom: 4rem; }

	section.besttiming .msg{ margin-top: 1.5rem; }
	.besttiming-inbox{ margin-top: 2rem; padding: 4rem 2rem; justify-content:flex-start }

	.besttiming-inbox dl{ width: 49%; }
	.besttiming-inbox dl:nth-child(even){ margin-right: 0; }
	.besttiming-inbox dl:nth-child(3){margin-right: 2%; }

	.besttiming-inbox dl dd.tit span{ display: block; font-size: 1.1rem; }
	.besttiming-inbox dl dd.tit{ font-size: 1.4rem; }
	.besttiming-inbox dl dd.txt{ font-size: 1.2rem; }


	.page-guide .flow .separate{ font-size: 2.2rem; }
	.page-guide .flow .flow-box{ padding: 2rem; border-radius: 1rem; }

	.page-guide .flow .flow-box dl{ margin-left: 1.5rem; }
	.page-guide .flow .flow-box dd.ph{ margin-left: 0; margin-bottom: 1rem; }
	.page-guide .flow .flow-box dl dt{ font-size: 1.4rem; margin-bottom: .5rem; }
	.page-guide .flow .flow-box dl dd{ font-size: 1.2rem; }

	.page-guide .flow .flow-box .no{ width: 7rem; display: flex; justify-content: center; }
	.page-guide .flow .flow-box .no span{
		width: 4.3rem;
		height: 4.3rem;
		font-size: 1.6rem;
		border: var(--global--color--white) .5rem solid;
		position: relative;
		z-index: 1;

	}
	.page-guide .flow .flow-box .no::after{
		width: .4rem;
		height: 830%;
		background-color: var(--global--color--red);
		left: calc(50% - .2rem);
		top: 2%;
		z-index: 0;
	}
	.page-guide .flow{ padding-bottom: 4.8rem; }

	.page-guide .flow .flow-box dd.ph img{ max-width: 100%; width: 100%; }

	.page-guide .flow .flow-box .ph{ max-width: inherit; }


	.catches .catches-tit{ display: flex; align-items: center; justify-content: center; }
	.catches h3{ display: block; font-size: 2.4rem;line-height: 1.4; text-align: center; }
	.catches h3 span{ font-size: 2.4rem; }
	.catches h3::before, .catches h3::after{ display: none; }

	
	.page-guide .page-title{ margin-bottom: 5rem; }
	.catches{ margin-bottom: 5rem; }
	.catches .catches-tit::before,
	.catches .catches-tit::after {
	width: .3rem;
	height: 8rem;
	content: "";
	background-color: var(--global--color--red);
	}

	.catches .catches-tit::before {
	margin-right: 3rem;
	transform: rotate(-20deg);
	}

	.catches .catches-tit::after {
	margin-left: 3rem;
	transform: rotate(20deg);
	}

	

}


.page-guide .pickups .page-title::before{
	display: none;
}

@media screen and (max-width: 550px){

	

	.footer-contact-inbox-l .buttons a span{ font-size: 1.2rem; }
	.page-contact .contacts-box dl.area dd{ font-size: 1.1rem; }
	/*.footer-contact-inbox-l a{ max-width: 27.5rem; margin: 0 auto; }*/


	.footer-contact-inbox-r .curpon{ width: 8rem; }
	.footer-contact-box dl dt img{ max-width: 20.3rem; }

	.header-contact-box .buttons{ margin: 2rem 0 0; }
	.header-menu.active .header-menu-inner{ padding: 6rem 2rem; }
	
	.header-line-box a dl dt{
		padding-right: 1.5rem;
		border-right: var(--global--color--white) .3rem dashed;
		width: 10.3rem;
		height: 3rem;
		display: flex;
		align-items: center;
	}
	.header-line-box a dl dt img{ width: 100%; }
	.header-line-box a dl dd{
		padding-left: 1.5rem;
		display: flex;
		align-items: center;
		font-size: 1.2rem;
	}
	.header-line-box a dl dd img{
		width: 2rem;
		margin-right: .5rem;
	}

	
	.footer-fixed-button .contacts{ width: 60%; }
	.footer-fixed-button a.line{ width: 40%; }
	.footer-fixed-button a.line img{ max-width: max-content; width: 70%; }


	.footer-contact-inbox-r dl dt img{ max-width: 20rem; }


	.header-line-box dl dd a img{
		width: 2rem;
		margin-right: .5rem;
	}
	.header-line-box dl dt a img{
		width: 10rem;
	}



	section.mains .cover h1 img{
		max-width: 80%;
		width: 100%;
	}


	.page-guide .flow .flow-box .no::after{
		height: 700%;
	}


}






@media screen and (max-width: 460px){

	.footer-fixed-button .contacts .contacts1 p{ font-size: 1.2rem; }
	.footer-fixed-button .contacts .contacts1 p span{ font-size: 1.4rem; }

	.footer-fixed-button .contacts .contacts2 .tit,
	.footer-fixed-button .contacts .contacts2 .time{ font-size: .8rem; }
}