@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

html{ font-size: 62.5%; scroll-behavior: smooth;visibility: hidden;}
html.wf-active *{ visibility: visible;}

body {
	width: 100%;
	height: 100%;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	color:#595757;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	font-feature-settings: "palt";
	text-align: justify;
	background:#FFF;
	line-height:1.6;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*{-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}

img{
	width: 100%;
	height: auto;
}
img { -ms-interpolation-mode: bicubic; }

a{
	text-decoration: none;
	outline: none;
}

a:hover{
	text-decoration: none;
}

header {
	width: 100%;
}

main{
	width: 100%;
	overflow: hidden;
}

footer{
    width: 100%;
	line-height: 1;
}


/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){
	.sp{
		display: none!important;
	}
	
	a.tel[href^="tel:"] {
       pointer-events: none;
       text-decoration: none;
    }
	
	body {
		padding-top: 9.3vw;
	}
	
	body #modal,.hamburger {
		display: none;
	}
	
	a.opacity {
		transition-duration: 0.5s;
		transition-property: opacity, color;
	}
	
	a.opacity:hover {
		opacity: 0.5;
	}
	
	header, main, footer {
		min-width: 100%;
	}
	
	header {
		width: 100%;
		height: 9.3vw;
		max-height: 135px;
		padding: 0 4.13vw;
		position: fixed;
		top: 0;
		left: 0;
		z-index : 9999;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		background: rgba(255,255,255,.8);
	}
	
	header h1{
		width: 26%;
		max-width: 346px;
		font-size: 1rem;
		font-size: clamp(1rem, 1.04vw, 1.4rem);
		font-weight: 400;
		line-height: 1.6;
		color: #595757;	
		letter-spacing: 0.1rem;
	}
	
	header nav.globalMenu,
	footer div.f_block nav{
		width: 59.6%;
		max-width: 794px;
		margin-right: 3.75%;
	}
	
	header nav.globalMenu ul,
	footer div.f_block nav ul{
		list-style: none;
		display: flex;
		justify-content: space-between;
		line-height: 1;
	}
	
	header nav.globalMenu ul li,
	footer div.f_block nav ul li{
		font-size: 1.1rem;
		font-size: clamp(1.1rem, 1.14vw, 1.6rem);
		font-family: "Montserrat", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		font-style: normal;
		line-height: 1;
		letter-spacing: 0.15em;
	}
	
	header nav.globalMenu ul li a,
	footer div.f_block nav ul li a{
		color: #595757;
	}
	
	header nav.globalMenu ul li a small{
		display: none;
	}
	
	article {
		width: 100%;
	}
	
	article section.mv div.photo {
		position: relative;
		line-height: 0;
	}
	
	article section.mv div.photo h2{
		font-size: 2.64rem;
		font-size: clamp(2.64rem, 2.74vw, 4rem);
		font-family: "Zen Old Mincho", serif;
		font-weight: 400;
		font-style: normal;
		color: #FFF;
		line-height: 1.7;
		letter-spacing: 0.08em;
		background: #C40018;
		padding: 2.75vw 6.89%;
		position: absolute;
		bottom: -13.7%;
		left: 0;
		z-index: 5;
	}
	
	article section.mv div.text_block {
		width: 100%;
		background: #FFF;
		padding: 9.9vw 0 4.1vw;
	}
	
	article section.mv div.text_block p{
		width: 85.5%;
		margin: 0 auto;
		font-size: 1.52rem;
		font-size: clamp(1.52rem, 1.58vw, 2.3rem);
		font-family: "Zen Old Mincho", serif;
		font-weight: 400;
		font-style: normal;
		line-height: 2.6;
		letter-spacing: 0.1em;
		color: #4D4D4D;
	}
	
	article section h2.head{
		font-size: 2.64rem;
		font-size: clamp(2.642rem, 2.74vw, 4.0rem);
		font-family: "Montserrat", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		line-height: 1;
		color: #C40018;
		letter-spacing: 0.2em;
		text-align: center;
		margin-bottom: 3.5vw;
	}
	
	article section h2.head small{
		display: block;
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		font-size: 45%;
		font-weight: 700;
		color: #595757;
		letter-spacing: 0.4em;
		margin-top: 1em;
		
	}
	
	section.service {
		width: 100%;
		padding: 4.8vw 0;
		background: url("../images/service_bg_pc.jpg") repeat-y;
		background-size: 100%;
	}
	
	section.service div.section_inner {
		width: 85.5%;
		max-width: 1240px;
		margin: 0 auto;
	}
	
	section.service div.section_inner h2{
		margin-bottom: 9.1vw;
	}
	
	section.service div.section_inner div.block{
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section.service div.section_inner div.block{
		margin-top: 10vw;
	}
	
	section.service div.section_inner div.block:first-of-type{
		margin-top: 0;
	}
	
	section.service div.section_inner div.block.se05{
		margin-top: 13vw;
	}
	
	section.service div.section_inner div.block.reverse {
		flex-direction: row-reverse;
	}
	
	section.service div.section_inner div.block figure{
		width: 51.6%;
		line-height: 0;
		margin-right: -8.6%;
	}
	
	section.service div.section_inner div.block.reverse figure{
		margin-right: 0;
		margin-left: -8.6%;
	}
	
	section.service div.section_inner div.block div.text_box{
		width: 50.5%;
		position: relative;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
	}
	
	section.service div.section_inner div.block div.text_box span.num{
		width: 31.6%;
		position: absolute;
		top: -10%;
		right: 0;
	}
	
	section.service div.section_inner div.block.se05 div.text_box span.num{
		top: -22%;
	}
	
	section.service div.section_inner div.block div.text_box h3{
		font-size: 2.25rem;
		font-size: clamp(2.25rem, 2.34vw, 3.4rem);
		font-family: "Zen Old Mincho", serif;
		font-weight: 400;
		font-style: normal;
		color: #C40018;
		letter-spacing: 0.08em;
		line-height: 1;
		margin-bottom: 2.06vw;
	}
	
	section.service div.section_inner div.block div.text_box h4,
	section.service div.section_inner div.more_block h4{
		font-size: 1.58rem;
		font-size: clamp(1.58rem, 1.64vw, 2.4rem);
		font-weight: 700;
		line-height: 1.6;
		letter-spacing: 0.08em;
		margin-bottom: 0.89vw;
	}
	
	section.service div.section_inner div.more_block h6{
		display: inline-block;
		padding: 0.4em 1em 0.5em;
		font-size: 1rem;
		font-size: clamp(1rem, 1.04vw, 1.4rem);
		font-weight: 400;
		color: #C40018;
		text-align: center;
		line-height: 1;
		border: 1px solid #C40018;
		margin-bottom: 0.7vw;
	}
	
	section.service div.section_inner div.more_block p + h6{
		margin-top: 2.5%;
	}
	
	section.service div.section_inner div.block div.text_box p{
		font-size: 1.05rem;
		font-size: clamp(1.05rem, 1.09vw, 1.6rem);
		line-height: 2;
		letter-spacing: 0.1em;
	}
	
	section.service span.more_btn {
		width: 30%;
		max-width: 190px;
		display: inline-block;
		margin-top: 1.4vw;
		background: #666;
		position: relative;
		z-index: 0;
		border-radius: 6px;
		overflow: hidden;
		cursor: pointer;
	}
	
	section.service span.more_btn span{
		width: 100%;
		height: 100%;
		padding: 1.24vw 0 1.24vw 10%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		position: relative;
		z-index: 3;
		font-size: 1.05rem;
		font-size: clamp(1.05rem, 1.09vw, 1.6rem);
		font-family: "Montserrat", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		line-height: 1;
		color: #FFF;
		letter-spacing: 0.2em;
	}
	
	section.service span.more_btn span::before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: -100%;
		background: #C40018;
		transition: all .3s;
		z-index: -1;
	}
	
	section.service span.more_btn span:hover::before {
		content: "";
		left: 0;
	}
	
	section.service span.more_btn span::after {
		content: "＋";
		position: absolute;
		top: -webkit-calc(50% - 0.5em);
        top: -moz-calc(50% - 0.5em);
        top: calc(50% - 0.5em);
		right: 5%;
		z-index: 5;
	}
	
	section.service span.more_btn.op span::after {
		content: "ー";
	}
	
	section.service div.section_inner div.more_block{
		width: 100%;
		padding-top: 4.2vw;
		display: none;
	}
	
	section.service div.section_inner div.more_block div.box + div.box{
		margin-top: 3.5vw;
	}
	
	section.service div.section_inner div.more_block div.box.bt{
		border-top: 1px solid #B2B2B2;
		padding-top: 3.5vw;
	}
	
	section.service div.section_inner div.more_block dl.flow{
		
	}
	
	section.service div.section_inner div.more_block dl.flow dt{
		font-size: 1.32rem;
		font-size: clamp(1.32rem, 1.37vw, 2.0rem);
		font-weight: 700;
		padding-bottom: 8px;
		margin-bottom: 12px;
		border-bottom: 1px solid #B2B2B2;
	}
	
	section.service div.section_inner div.more_block dl.flow dt b{
		font-size: 140%;
	}
	
	section.service div.section_inner div.more_block dl.flow dd{
		font-size: 1rem;
		font-size: clamp(1rem, 1.04vw, 1.4rem);
		letter-spacing: 0.1em;
		padding-bottom: 5%;
		position: relative;
		z-index: 0;
	}
	
	section.service div.section_inner div.more_block dl.flow dd::after{
		content: "";
		width: 30%;
		max-width: 38px;
		height: 23%;
		background: url("../images/service_flow_arrow.svg") no-repeat;
		background-size: 100%;
		background-position: bottom;
		position: absolute;
		bottom: 15px;
		left: 0;
		z-index: -1;
	}
	
	section.service div.section_inner div.more_block dl.flow dd:last-of-type{
		padding-bottom: 0;
	}
	
	section.service div.section_inner div.more_block dl.flow dd:last-of-type::after{
		display: none;
	}
	
	section.service div.section_inner div.more_block div.flex{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section.service div.section_inner div.more_block div.flex div.flex_s{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-top: 2.5%;
	}
	
	section.service div.section_inner div.more_block div.flex div.flex_s div{
		display: inline-block;
	}
	
	section.service div.section_inner div.more_block div.flex div.flex_s div + div{
		margin-left: 10%;
	}
	
	section.service div.section_inner div.more_block div.flex figure{
		width: 30%;
		margin: 0;
		line-height: 0;
	}
	
	section.service div.section_inner div.more_block div.flex div.text{
		width: 67.4%;
	}
	
	section.service div.section_inner div.more_block div.box_inner + div.box_inner{
		margin-top: 3.7vw;
	}
	
	section.service div.section_inner div.more_block div.scroll_box {
		display: block;
	}
	
	section.service div.section_inner div.more_block div.scroll_box figure.img01{
		width: 44.3%;
		margin: 0;
	}
	
	section.service div.section_inner div.more_block div.scroll_box figure.img02{
		width: 77.9%;
		margin: 0;
	}
	
	section.service div.section_inner div.more_block h5 {
		font-size: 1.32rem;
		font-size: clamp(1.32rem, 1.37vw, 2.0rem);
		line-height: 1.4;
		letter-spacing: 0.08em;
		margin-bottom: 0.9vw;
	}
	
	section.service div.section_inner div.more_block h5 span.type{
		display: inline-block;
		padding: 0.4em 1em;
		font-size: 1rem;
		font-size: clamp(1rem, 1.04vw, 1.4rem);
		font-weight: 400;
		color: #C40018;
		text-align: center;
		line-height: 1;
		border: 1px solid #C40018;
		margin-left: 1.5em;
	}
	
	section.service div.section_inner div.more_block p{
		font-size: 1.05rem;
		font-size: clamp(1.05rem, 1.09vw, 1.6rem);
		line-height: 2;
		letter-spacing: 0.1em;
	}
	
	section.service div.section_inner div.more_block p.f14{
		font-size: 1rem;
		font-size: clamp(1rem, 1.04vw, 1.4rem);
		line-height: 1.8;
		letter-spacing: 0.1em;
	}
	
	section.service div.section_inner div.more_block ul.lr_block {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	
	section.service div.section_inner div.more_block ul.lr_block li.lr_block_inner{
		width: 36%;
	}
	
	section.service div.section_inner div.more_block ul.lr_block li.lr_block_inner:nth-child(even){
		margin-left: 5%;
	}
	
	section.service div.section_inner div.more_block ul.lr_block li.lr_block_inner:nth-child(n + 3){
		margin-top: 3vw;
	}
	
	section.service div.section_inner div.more_block ul.list{
		list-style: none;
	}
	
	section.service div.section_inner div.more_block ul.list li{
		font-size: 1.05rem;
		font-size: clamp(1.05rem, 1.09vw, 1.6rem);
		line-height: 1.5;
		letter-spacing: 0.1em;
	}
	
	section.service div.section_inner div.more_block ul.list li + li{
		margin-top: 0.8vw;
	}
	
	section.service div.section_inner div.more_block ul.list li::before{
		content: "□ ";
	}
	
	section.company {
		margin: 0;
	}
	
	section.company div.c_main{
		line-height: 0;
	}
	
	section.company div.section_inner{
		width: 85.5%;
		max-width: 1240px;
		margin: 0 auto;
		padding-top: 4.8vw;
	}
	
	section.company h4{
		font-size: 1rem;
		font-size: clamp(1rem, 1.04vw, 1.4rem);
		font-weight: 400;
		line-height: 1.6;
		color: #595757;	
		letter-spacing: 0.1rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-end;
		margin-bottom: 1.8vw;
	}
	
	section.company h4 span{
		display: inline-block;
		width: 26%;
		max-width: 346px;
		margin-right: 1.5em;
	}
	
	section.company dl{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		border-bottom: 1px solid #CCC;
	}
	
	section.company dl dt,
	section.company dl dd{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 1.24vw, 1.8rem);
		font-weight: 400;
		line-height: 2.2;
		letter-spacing: 0.2em;
		border-top: 1px solid #CCC;
		padding: 1.2vw 0;
	}
	
	section.company dl dt{
		width: 26%;
	}
	
	section.company dl dd{
		width: 74%;
	}
	
	section.company dl dd.flex{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section.company dl dd.flex p.box{
		width: 50%;
	}
	
	section.company dl dd a{
		color: #595757;
	}
	
	section.company dl dd span.position{
		width: 6em;
		display: inline-block;
	}
	
	section.company dl dd span.position:first-of-type{
		width: 10em;
	}
	
	section.access {
		padding: 7.8vw 0 4.8vw;
	}
	
	section.access div.g_map {
		height: 40.4vw;
		margin-bottom: 2.5vw;
	}
	
	section.access div.g_map iframe{
		width: 100%;
		height: 100%;
	}
	
	section.access div.g_map + p{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 1.24vw, 1.8rem);
		text-align: center;
		letter-spacing: 0.2em;
	}
	
	section.recruit {
		padding: 6.5vw 0 4.5vw;
		background: #F1EEE7;
	}
	
	section.recruit h2{
		margin-bottom: 5vw;
	}
	
	section.recruit div.section_inner{
		width: 85.5%;
		max-width: 1240px;
		margin: 0 auto;
	}
	
	section.recruit h2 + p{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 1.24vw, 1.8rem);
		line-height: 2.2;
		letter-spacing: 0.08em;
		margin-bottom: 2.7vw;
	}
	
	section.recruit div.section_inner ul.box{
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section.recruit div.section_inner ul.box li.box_inner{
		width: 30.6%;
	}
	
	section.recruit div.section_inner ul.box li.box_inner a{
		color: #595757;
	}
	
	section.recruit div.section_inner ul.box li.box_inner figure{
		line-height: 0;
		margin-bottom: 2.5vw;
	}
	
	section.recruit div.section_inner ul.box li.box_inner h3{
		font-size: 1.65rem;
		font-size: clamp(1.65rem, 1.71vw, 2.5rem);
		line-height: 1;
		letter-spacing: 0.4em;
		margin-bottom: 1.2vw;
	}
	
	section.recruit div.section_inner ul.box li.box_inner h3 span{
		display: inline-block;
		position: relative;
	}
	
	section.recruit div.section_inner ul.box li.box_inner h3 span::after{
		content: "";
		width: 1em;
		height: 100%;
		background: url("../images/recruit_arrow.svg") no-repeat;
		background-size: contain;
		background-position: bottom;
		position: absolute;
		top: -0.1em;
		right: -1.25em;
	}
	
	section.recruit div.section_inner ul.box li.box_inner h3 + p{
		font-size: 1.0rem;
		font-size: clamp(1.0rem, 1.04vw, 1.4rem);
		line-height: 1;
		letter-spacing: 0.1em;
		margin-bottom: 1.2vw;
	}
	
	section.recruit div.section_inner ul.box li.box_inner h4{
		font-size: 1.0rem;
		font-size: clamp(1.0rem, 1.04vw, 1.4rem);
		font-weight: 400;
		line-height: 1;
		color: #C40018;
		letter-spacing: 0.2em;
		border: 1px solid #C40018;
		padding: 6px 12px;
		margin-bottom: 1.2vw;
	}
	
	section.recruit div.section_inner ul.box li.box_inner ul{
		list-style: none;
	}
	
	section.recruit div.section_inner ul.box li.box_inner ul li{
		font-size: 1.0rem;
		font-size: clamp(1.0rem, 1.04vw, 1.4rem);
	}
	
	section.recruit div.section_inner ul.box li.box_inner ul li::before{
		content: "■ ";
	}
	
	section.recruit div.section_inner ul.box li.box_inner ul li + li{
		margin-top: 0.25em;
	}
	
	section.contact {
		padding: 5.5vw 0;
		background: #C40018;
	}
	
	section.contact div.section_inner{
		width: 85.5%;
		max-width: 1240px;
		margin: 0 auto;
	}
	
	section.contact div.section_inner h2,
	section.contact div.section_inner h2 small{
		color: #FFF;
	}
	
	section.contact div.section_inner ul {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section.contact div.section_inner ul li{
		width: 30.8%;
		background: #FFF;
		position: relative;
		padding: 1.8vw 3.4%;
	}
	
	section.contact div.section_inner ul li::before{
		content: "";
		width: 33px;
		height: 33px;
		background: url("../images/contact_incision_l.svg") no-repeat;
		background-size: cover;
		position: absolute;
		top: -10px;
		left: -10px;
		z-index: 5;
	}
	
	section.contact div.section_inner ul li::after{
		content: "";
		width: 33px;
		height: 33px;
		background: url("../images/contact_incision_r.svg") no-repeat;
		background-size: cover;
		position: absolute;
		bottom: -10px;
		right: -10px;
		z-index: 5;
	}
	
	section.contact div.section_inner ul li h3{
		font-size: 1.0rem;
		font-size: clamp(1.0rem, 1.04vw, 1.4rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.1em;
		color: #000;
		margin-bottom: 0.5vw;
	}
	
	section.contact div.section_inner ul li p{
		font-size: 1.1rem;
		font-size: clamp(1.1rem, 1.14vw, 1.7rem);
		font-weight: 500;
		line-height: 1.7;
		color: #000;
		letter-spacing: 0.03em;
	}
	
	section.contact div.section_inner ul li:first-of-type p{
		font-family: "Prompt", sans-serif;
		font-weight: 500;
		font-size: 1.2rem;
		font-size: clamp(1.21rem, 1.24vw, 1.8rem);
		line-height: 1.2;
		letter-spacing: 0.15em;
	}
	
	section.contact div.section_inner ul li:first-of-type p b{
		font-size: 144.4%;
		font-weight: 500;
	}
	
	section.contact div.section_inner ul li p a{
		color: #000;
		font-weight: 500;
		line-height: 1.7;
		letter-spacing: 0.04em;
	}
	
	section.contact div.section_inner ul li:first-of-type p b a{
		line-height: 1.2;
		letter-spacing: 0.15em;
	}
	
	
	
	
	footer {
		padding: 35px 0;
	}

	footer div.f_block{
        width: 85.5%;
		max-width: 1240px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
    }
	
	footer div.f_block h2{
		width: 26%;
		max-width: 346px;
		font-size: 1rem;
		font-size: clamp(1.0rem, calc(0.0082 * 100vw + 0.2061rem), 1.4rem);
		font-weight: 400;
		line-height: 1.6;
		color: #595757;	
		letter-spacing: 0.2rem;
    }
	
	footer div.f_block nav{
		width: 64%;
		margin-right: 0;
	}
	
    footer small{
		font-size: 1rem;
		font-size: clamp(1rem, 1.04vw, 1.2rem);
		line-height: 1;
		text-align: center;
		display: block;
		letter-spacing: 0.1em;
    }
}

@media print, screen and (min-width: 1450px){
	
	body {
		padding-top: 135px;
    }
	
	section.service div.section_inner div.block div.text_box h3{
		margin-bottom: 30px;
	}
	
	section.service div.section_inner div.block div.text_box h4,
	section.service div.section_inner div.more_block h4{
		margin-bottom: 13px;
	}
	
	span.more_btn span{
		padding: 17px 0 17px 10%;
	}
	
	section.contact div.section_inner ul li{
		padding: 25px 3.4%;
	}
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){
	
	.pc{
		display: none!important;
	}
	
	a:hover{
		text-decoration: none;
		opacity: 1;
	}
	
   a.tel[href^="tel:"] {
       pointer-events: auto;
       text-decoration: none;
    }
	
	body {
		padding-top: 80px;
	}
	
	header {
		width: 100%;
		height: 80px;
		background: rgba(255,255,255,.8);
		position: fixed;
		top: 0;
		left: 0;
		z-index : 9999;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	header h1{
		width: 50%;
		max-width: 300px;
		font-size: 1rem;
		font-size: clamp(1rem, 3.125vw, 1.4rem);
		font-weight: 400;
		line-height: 1.4;
		color: #595757;	
		letter-spacing: 0.1rem;
	}

	article {
		width: 100%;
	}
	
	article section.mv div.photo {
		position: relative;
		line-height: 0;
	}
	
	article section.mv div.photo h2{
		font-size: 2.26rem;
		font-size: clamp(2.26rem, 7.06vw, 6.8rem);
		font-family: "Zen Old Mincho", serif;
		font-weight: 400;
		font-style: normal;
		color: #FFF;
		line-height: 1.5;
		letter-spacing: 0.08em;
		background: #C40018;
		padding: 2.75vw 6vw;
		position: absolute;
		bottom: -13.7%;
		left: 0;
		z-index: 5;
	}
	
	article section.mv div.text_block {
		width: 100%;
		background: #FFF;
		padding: 20vw 0 5vw;
	}
	
	article section.mv div.text_block p{
		width: 90%;
		margin: 0 auto;
		font-size: 1.5rem;
		font-size: clamp(1.5rem, 4.68vw, 4.5rem);
		font-family: "Zen Old Mincho", serif;
		font-weight: 400;
		font-style: normal;
		line-height: 2.6;
		letter-spacing: 0.1em;
		color: #4D4D4D;
	}
	
	article section h2.head{
		font-size: 3rem;
		font-size: clamp(3rem, 9.37vw, 9.0rem);
		font-family: "Montserrat", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		line-height: 1;
		color: #C40018;
		letter-spacing: 0.2em;
		text-align: center;
	}
	
	article section h2.head small{
		display: block;
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		font-size: 45%;
		font-weight: 700;
		color: #595757;
		letter-spacing: 0.4em;
		margin-top: 0.5em;
		margin-bottom: 8vw;
	}
	
	section.service {
		width: 100%;
		padding: 15vw 0 18vw;
		background: url("../images/service_bg_sp.jpg") repeat-y;
		background-size: 100%;
	}
	
	section.service div.section_inner {
		width: 90%;
		margin: 0 auto;
	}
	
	section.service div.section_inner h2{
		margin-bottom: 25vw;
	}
	
	section.service div.section_inner div.block{
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		flex-direction: column-reverse;
	}
	
	section.service div.section_inner div.block{
		margin-top: 25vw;
	}
	
	section.service div.section_inner div.block:first-of-type{
		margin-top: 0;
	}
	
	section.service div.section_inner div.block figure{
		width: 93.4%;
		line-height: 0;
		margin-left: 12.2%;
		position: relative;
		z-index: 1;
	}
	
	section.service div.section_inner div.block.reverse figure{
		margin-right: 0;
		margin-left: -5.6%;
	}
	
	section.service div.section_inner div.block div.text_box{
		width: 100%;
		margin-top: 8vw;
	}
	
	section.service div.section_inner div.block div.text_box span.num{
		width: 31.6%;
		position: absolute;
		top: -15vw;
		left: 0;
		z-index: 10;
	}
	
	section.service div.section_inner div.block.reverse div.text_box span.num{
		left: initial;
		right: 0;
	}
	
	section.service div.section_inner div.block div.text_box h3{
		font-size: 2.25rem;
		font-size: clamp(2.25rem, 7.90vw, 7.6rem);
		font-family: "Zen Old Mincho", serif;
		font-weight: 500;
		font-style: normal;
		color: #C40018;
		letter-spacing: 0.08em;
		line-height: 1;
		margin-bottom: 3vw;
	}
	
	section.service div.section_inner div.block div.text_box h4,
	section.service div.section_inner div.more_block h4{
		font-size: 1.8rem;
		font-size: clamp(1.8rem, 5.62vw, 5.4rem);
		font-weight: 500;
		line-height: 1.6;
		letter-spacing: 0.08em;
		margin-bottom: 2vw;
	}
	
	section.service div.section_inner div.more_block h4{
		line-height: 1.4;
		margin-bottom: 3vw;
	}
	
	section.service div.section_inner div.more_block h6{
		display: inline-block;
		padding: 0.4em 1em;
		font-size: 1rem;
		font-size: clamp(1rem, 3.12vw, 3.0rem);
		font-weight: 400;
		color: #C40018;
		text-align: center;
		line-height: 1;
		border: 1px solid #C40018;
		margin-bottom: 0.7vw;
	}
	
	section.service div.section_inner div.more_block p + h6{
		margin-top: 4vw;
	}
	
	section.service div.section_inner div.block div.text_box p{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.75vw, 3.6rem);
		line-height: 2.2;
		letter-spacing: 0.1em;
	}
	
	section.service span.more_btn {
		width: 50%;
		max-width: 428px;
		display: block;
		margin: 6.8vw auto 0;
		background: #666;
		position: relative;
		z-index: 0;
		border-radius: 6px;
		overflow: hidden;
		cursor: pointer;
	}
	
	section.service span.more_btn span{
		width: 100%;
		height: 100%;
		padding: 3.9vw 0 3.9vw 10%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		position: relative;
		z-index: 3;
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.75vw, 3.6rem);
		font-family: "Montserrat", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		line-height: 1;
		color: #FFF;
		letter-spacing: 0.2em;
	}
	
	section.service span.more_btn span::before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: -100%;
		background: #C40018;
		transition: all .3s;
		z-index: -1;
	}
	
	section.service span.more_btn span::after {
		content: "＋";
		position: absolute;
		top: -webkit-calc(50% - 0.5em);
        top: -moz-calc(50% - 0.5em);
        top: calc(50% - 0.5em);
		right: 5%;
		z-index: 5;
	}
	
	section.service span.more_btn.op span::after {
		content: "ー";
	}
	
	section.service div.section_inner div.more_block{
		width: 100%;
		padding-top: 10vw;
		display: none;
	}
	
	section.service div.section_inner div.more_block div.box + div.box{
		margin-top: 8vw;
	}
	
	section.service div.section_inner div.more_block div.box.bt{
		border-top: 1px solid #B2B2B2;
		padding-top: 8vw;
	}
	
	section.service div.section_inner div.more_block dl.flow{
		
	}
	
	section.service div.section_inner div.more_block dl.flow dt{
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 4.37vw, 4.2rem);
		font-weight: 700;
		padding-bottom: 8px;
		margin-bottom: 12px;
		border-bottom: 1px solid #B2B2B2;
	}
	
	section.service div.section_inner div.more_block dl.flow dt b{
		font-size: 140%;
	}
	
	section.service div.section_inner div.more_block dl.flow dd{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.75vw, 3.6rem);
		letter-spacing: 0.1em;
		padding-bottom: 10%;
		position: relative;
		z-index: 0;
	}
	
	section.service div.section_inner div.more_block dl.flow dd::after{
		content: "";
		width: 10vw;
		max-width: 60px;
		height: 10vw;
		background: url("../images/service_flow_arrow.svg") no-repeat;
		background-size: 100%;
		background-position: bottom;
		position: absolute;
		bottom: 4%;
		left: 0;
		z-index: -1;
	}
	
	section.service div.section_inner div.more_block dl.flow dd:last-of-type{
		padding-bottom: 0;
	}
	
	section.service div.section_inner div.more_block dl.flow dd:last-of-type::after{
		display: none;
	}
	
	section.service div.section_inner div.more_block div.flex div.flex_s{
		margin-top: 4vw;
	}
	
	section.service div.section_inner div.more_block div.flex div.flex_s div{
		display: inline-block;
	}
	
	section.service div.section_inner div.more_block div.flex div.flex_s div + div{
		margin-top: 4vw;
	}
	
	section.service div.section_inner div.more_block div.flex figure{
		width: 100%;
		margin: 0;
		line-height: 0;
		margin-bottom: 5vw;
	}
	
	section.service div.section_inner div.more_block div.flex div.text{
		width:100%;
	}
	
	section.service div.section_inner div.more_block div.box_inner + div.box_inner{
		margin-top: 7vw;
	}
	
	section.service div.section_inner div.more_block div.scroll_box {
		display: block;
		margin-top: 2vw;
		overflow: hidden;
		padding-bottom: 10px;
	}
	
	section.service div.section_inner div.more_block div.scroll_box figure.img01{
		width: 85.9vw;
		min-width: 495px;
		margin: 0;
	}
	
	section.service div.section_inner div.more_block div.scroll_box figure.img02{
		width: 150vw;
		min-width: 864px;
		margin: 0;
	}
	
	section.service div.section_inner div.more_block h5 {
		font-size: 1.4rem;
		font-size: clamp(1.4rem, 4.37vw, 4.2rem);
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin-bottom: 3vw;
	}
	
	section.service div.section_inner div.more_block h5 span.type{
		display: inline-block;
		padding: 0.4em 1em;
		font-size: 1rem;
		font-size: clamp(1rem, 3.12vw, 3.0rem);
		font-weight: 400;
		color: #C40018;
		text-align: center;
		line-height: 1;
		border: 1px solid #C40018;
		margin-left: 1.4em;
	}
	
	section.service div.section_inner div.more_block p{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.75vw, 3.6rem);
		line-height: 2;
		letter-spacing: 0.1em;
	}
	
	section.service div.section_inner div.more_block p.f14{
		font-size: 1rem;
		font-size: clamp(1rem, 3.12vw, 3.0rem);
		line-height: 1.8;
		letter-spacing: 0.1em;
	}
	
	section.service div.section_inner div.more_block ul.lr_block {
		list-style: none;
	}
	
	section.service div.section_inner div.more_block ul.lr_block li.lr_block_inner{
		width: 100%;
	}
	
	section.service div.section_inner div.more_block ul.lr_block li.lr_block_inner:nth-child(n + 2){
		margin-top: 6vw;
	}
	
	section.service div.section_inner div.more_block ul.list{
		list-style: none;
	}
	
	section.service div.section_inner div.more_block ul.list li{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.75vw, 3.6rem);
		line-height: 1.5;
		letter-spacing: 0.1em;
		text-indent: -1.5em;
		padding-left: 1.5em;
	}
	
	section.service div.section_inner div.more_block ul.list li + li{
		margin-top: 1.2vw;
	}
	
	section.service div.section_inner div.more_block ul.list li::before{
		content: "□ ";
	}
	
	section.company {
		margin: 0;
	}
	
	section.company div.c_main{
		line-height: 0;
	}
	
	section.company div.section_inner{
		width: 90%;
		margin: 0 auto;
		padding-top: 6vw;
	}
	
	section.company h4{
		font-size: 1rem;
		font-size: clamp(1rem, 3.125vw, 1.4rem);
		font-weight: 400;
		line-height: 1.4;
		color: #595757;	
		letter-spacing: 0.1rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-end;
		margin-bottom: 1.8vw;
	}
	
	section.company h4 span{
		display: inline-block;
		width: 50%;
		max-width: 300px;
		margin-right: 1.5em;
	}
	
	section.company dl{
		width: 100%;
		border-bottom: 1px solid #CCC;
	}
	
	section.company dl dt,
	section.company dl dd{
		width: 100%;
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.75vw, 3.6rem);
		letter-spacing: 0.2em;
	}
	
	section.company dl dt{
		padding: 2.8vw 0 1.5vw;
		border-top: 1px solid #CCC;
		font-weight: 500;
		line-height: 1;
	}
	
	section.company dl dd{
		padding: 0 0 1.8vw;
		font-weight: 400;
		line-height: 1.6;
	}
	
	section.company dl dd a{
		color: #595757;
		text-decoration: none;
	}
	
	section.company dl dd span.position{
		width: 6em;
		display: inline-block;
	}
	
	section.company dl dd span.position:first-of-type{
		width: 10em;
	}
	
	section.access {
		padding: 18vw 0 15vw;
	}
	
	section.access div.g_map {
		height: 80vw;
		margin-bottom: 5vw;
	}
	
	section.access div.g_map iframe{
		width: 100%;
		height: 100%;
	}
	
	section.access div.g_map + p{
		font-size: 1rem;
		font-size: clamp(1rem, 3.12vw, 3em);
		text-align: center;
		letter-spacing: 0.1em;
	}
	
	section.recruit {
		padding: 15vw 0 10vw;
		background: #F1EEE7;
	}
	
	section.recruit div.section_inner{
		width: 90%;
		margin: 0 auto;
	}
	
	section.recruit h2 + p{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.75vw, 3.6rem);
		line-height: 2.2;
		letter-spacing: 0.08em;
		margin-bottom: 10vw;
	}
	
	section.recruit div.section_inner ul.box{
		list-style: none;
	}
	
	section.recruit div.section_inner ul.box li.box_inner{
		width: 100%;
	}
	
	section.recruit div.section_inner ul.box li.box_inner + li.box_inner{
		margin-top: 8vw;
	}
	
	section.recruit div.section_inner ul.box li.box_inner a{
		color: #595757;
	}
	
	section.recruit div.section_inner ul.box li.box_inner figure{
		line-height: 0;
		margin-bottom: 5vw;
	}
	
	section.recruit div.section_inner ul.box li.box_inner h3{
		font-size: 1.65rem;
		font-size: clamp(1.65rem, 5.15vw, 2.5rem);
		line-height: 1;
		letter-spacing: 0.4em;
		margin-bottom: 3vw;
	}
	
	section.recruit div.section_inner ul.box li.box_inner h3 span{
		display: inline-block;
		position: relative;
	}
	
	section.recruit div.section_inner ul.box li.box_inner h3 span::after{
		content: "";
		width: 1em;
		height: 100%;
		background: url("../images/recruit_arrow.svg") no-repeat;
		background-size: contain;
		background-position: bottom;
		position: absolute;
		top: -0.1em;
		right: -1.25em;
	}
	
	section.recruit div.section_inner ul.box li.box_inner h3 + p{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.75vw, 3.6rem);
		line-height: 1;
		letter-spacing: 0.1em;
		margin-bottom: 5vw;
	}
	
	section.recruit div.section_inner ul.box li.box_inner h4{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.75vw, 3.6rem);
		font-weight: 400;
		line-height: 1;
		text-align: center;
		color: #C40018;
		letter-spacing: 0.2em;
		border: 1px solid #C40018;
		padding: 6px 12px;
		margin-bottom: 2vw;
	}
	
	section.recruit div.section_inner ul.box li.box_inner ul{
		list-style: none;
	}
	
	section.recruit div.section_inner ul.box li.box_inner ul li{
		font-size: 1.2rem;
		font-size: clamp(1.2rem, 3.75vw, 3.6rem);
	}
	
	section.recruit div.section_inner ul.box li.box_inner ul li::before{
		content: "■ ";
	}
	
	section.recruit div.section_inner ul.box li.box_inner ul li + li{
		margin-top: 0.25em;
	}
	
	section.contact {
		padding: 15vw 0 18vw;
		background: #C40018;
	}
	
	section.contact div.section_inner{
		width: 90%;
		margin: 0 auto;
	}
	
	section.contact div.section_inner h2,
	section.contact div.section_inner h2 small{
		color: #FFF;
	}
	
	section.contact div.section_inner ul {
		list-style: none;
	}
	
	section.contact div.section_inner ul li{
		width: 100%;
		background: #FFF;
		position: relative;
		padding: 5vw 10%;
	}
	
	section.contact div.section_inner ul li + li{
		margin-top: 8vw;
	}
	
	section.contact div.section_inner ul li::before{
		content: "";
		width: 6.6vw;
		height: 6.6vw;
		background: url("../images/contact_incision_l.svg") no-repeat;
		background-size: cover;
		position: absolute;
		top: -2vw;
		left: -2vw;
		z-index: 5;
	}
	
	section.contact div.section_inner ul li::after{
		content: "";
		width: 6.6vw;
		height: 6.6vw;
		background: url("../images/contact_incision_r.svg") no-repeat;
		background-size: cover;
		position: absolute;
		bottom: -2vw;
		right: -2vw;
		z-index: 5;
	}
	
	section.contact div.section_inner ul li h3{
		font-size: 1.1rem;
		font-size: clamp(1.2rem, 3.43vw, 3.3rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.1em;
		color: #000;
		margin-bottom: 1.5vw;
	}
	
	section.contact div.section_inner ul li p{
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 4.06vw, 3.9rem);
		font-weight: 500;
		line-height: 1.7;
		color: #000;
		letter-spacing: 0.04em;
	}
	
	section.contact div.section_inner ul li:first-of-type p{
		font-family: "Prompt", sans-serif;
		font-weight: 500;
		font-size: 1.3rem;
		font-size: clamp(1.3rem, 4.06vw, 4.0rem);
		line-height: 1.2;
		letter-spacing: 0.15em;
	}
	
	section.contact div.section_inner ul li:first-of-type p b{
		font-size: 144.4%;
		font-weight: 500;
	}
	
	section.contact div.section_inner ul li p a{
		color: #000;
		font-weight: 500;
		line-height: 1.7;
		letter-spacing: 0.04em;
		text-decoration: none;
	}
	
	section.contact div.section_inner ul li:first-of-type p b a{
		line-height: 1.2;
		letter-spacing: 0.15em;
	}
	
	footer{
		padding: 10vw 0;
		font-size: clamp(1.0rem, calc(2.93vw + 0.068rem), 2.7rem);
    }

	footer div.f_block{
        width: 100%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		position: relative;
    }
	
	footer div.f_block h2{
		width: 50%;
		max-width: 300px;
		font-size: 1rem;
		font-size: clamp(1rem, 3.125vw, 1.4rem);
		font-weight: 400;
		line-height: 1.4;
		color: #595757;	
		letter-spacing: 0.2rem;
    }
	
	footer div.f_block nav{
       display: none;
    }
	
    footer small{
		font-size: 1rem;
		font-size: clamp(1rem, 3.125vw, 1.4rem);
		line-height: 1;
		text-align: center;
		display: block;
		letter-spacing: 0.1em;
		margin-top: 20px;
    }
}

/*ハンバーガーナビ*/
@media screen and (max-width: 960px){
	body #modal {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -888;
        background: rgba(0,0,0,0.7);
        opacity: 0;
        transition-duration: 0.5s;
        transition-property: opacity, color;
        visibility: hidden; 
    }

    body.nav_open #modal {
        z-index: 888;
        opacity: 1;
        visibility: visible;
    }

    body.nav_open {
        overflow: hidden;
    }
	
    .hamburger {
		display : block;
		position: absolute;
		z-index : 9999;
		width : 13.8vw;
		max-width: 70px;
		height: 13.8vw;
		max-height: 70px;
		text-align: center;
		top: -webkit-calc((100% - 70px) / 2);
		top: -moz-calc((100% - 70px) / 2);
        top: calc((100% - 70px) / 2);
		right: 2.4%;
		cursor: pointer;
    }
	
    .hamburger span {
		display : block;
		position: absolute;
		width   : 62.5%;
		height  : 2px ;
		left    : 18.75%;
		background : #1a1a1a;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition   : 0.3s ease-in-out;
		transition        : 0.3s ease-in-out;
    }
    .hamburger span:nth-child(1) {
		top: 23.4%;
    }
    .hamburger span:nth-child(2) {
		top: 46.8%;
    }
    .hamburger span:nth-child(3) {
		width   : 45%;
		top: 71.8%;
    }

    .hamburger.active span:nth-child(1) {
		top: 48.4%;
		left: 18.75%;
		-webkit-transform: rotate(-45deg);
		-moz-transform   : rotate(-45deg);
		transform        : rotate(-45deg);
    }

    .hamburger.active span:nth-child(3) {
		width : 62.5%;
		top: 48.4%;
		-webkit-transform: rotate(45deg);
		-moz-transform   : rotate(45deg);
		transform        : rotate(45deg);
    }
	
	.hamburger.active span:nth-child(2) {
		opacity: 0;
	}
	
	nav.globalMenu {
        padding: 0 4.5%;
    }

    nav.globalMenu {
        width: 60%;
        max-width: 500px;
        height: 100%;
        position: fixed;
        z-index : 9998;
        top  : 0;
        right : 0;
        color: #1a1a1a;
        text-align: left;
        transform: translateX(110%);
        transition: all 0.6s;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        padding-left: 5%;
        background: #FFF;
    }

    nav.globalMenu ul{
        list-style: none;
    }

    nav.globalMenu ul.internal_link_box {
        margin-top: 80px;
    }

    nav.globalMenu ul.internal_link_box li {
        padding: 2.5vw 0;
    }

    nav.globalMenu ul.internal_link_box li a{
        font-family: "Montserrat", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		font-style: normal;
		font-size: 1.4rem;
        font-size: clamp(1.4rem, 4.375vw, 2.8rem);
        line-height: 1;
        color: #595757;
        letter-spacing: 0.025em;
    }

    nav.globalMenu ul.internal_link_box li a small{
        font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
        font-size: 66%;
        letter-spacing: 0;
        display: inline-block;
        padding-left: 3px;
    }

    nav.globalMenu.active {
      transform: translateY(0%);
    }
}
