@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Train+One&display=swap&text=ABCDEFGHIJKLMNOPQRSTUVWXYZ');
/*MENU,CONTACT,TEL,FAX,MAIL,SCROLL,MORE,各ページh2に使用*/

*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	min-height:0;
	min-width : 0;
}

a{
	color:inherit;
	text-decoration: none;
	transition: 0.3s;
	tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	outline: none;
	cursor:pointer;
}

*:focus {
  outline: none;
}

.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb50{margin-bottom: 50px;}
.mb60{margin-bottom: 60px;}
.mb80{margin-bottom: 80px;}
.mb100{margin-bottom: 100px;}
.mb200{margin-bottom: 200px;}

.pb10{padding-bottom: 10px;}
.pb20{padding-bottom: 20px;}
.pb30{padding-bottom: 30px;}

.normal{font-weight: normal;}
.small{font-size: 8pt;}
.red{color: #CC0000;}

#text{
	display: none;
}

button {
	background: none;
	border: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}


.justify{
	text-align: justify;
    text-justify: inter-ideograph;
}

.bold{
	font-weight: 600;
}

h1, h2, h3, h4, h5{
	-webkit-font-smoothing: antialiased;
}


/* PC版ベースに構築 ---------------------------------------- */


/* ローディング設定 */
html{
	visibility: hidden;
}
html.wf-active{
	visibility: visible;
}

.loading{
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #fff7dd;
	display: flex;
	z-index: 999999;
	overflow: hidden;
	justify-content: center;
    align-items: center;
	animation: load 0.3s linear 2s forwards;
	-webkit-animation: load 0.3s linear 2s forwards;
}

.js_isIe .loading{ /*IEのみ*/
	display: none;
}


@keyframes load {
	0% {top: 0}
	100% {top: -100vh}
}

@-webkit-keyframes load {
	0% {top: 0}
	100% {top: -100vh}
}

.loading_logo{
	width: 180px;
	height: 122px;
	position: relative;
	margin-top: -30px;
}

.loading_logo span{
	opacity: 0;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.loading_logo .line{
	width: 148px;
	height: 122px;
	animation: load02 0.5s linear 1.2s forwards;
	-webkit-animation: load02 0.5s linear 1.2s forwards;
}

.loading_logo .logo{
	width: 180px;
	height: 46px;
	animation: load02 0.3s linear 0.5s forwards;
	-webkit-animation: load02 0.3s linear 0.5s forwards;
	top: calc(50% - 2px);
}

.loading_logo img{
	display: block;
	width: 100%;
	height: 100%;
}

@keyframes load02 {
	0% {opacity: 0}
	100% {opacity: 1}
}

@-webkit-keyframes load02 {
	0% {opacity: 0}
	100% {opacity: 1}
}


/* 共通設定 */
.pc_none{
	display: none;
}

html{
	font-size: 62.5%;
	height: 100%;
	width: 100%;
}

body {
	font-family: fot-tsukubrdgothic-std, "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
	font-weight: 400;
	font-size: 1.6rem;
	font-style: normal;
	background-color: #fff;
	color: #5a4a42;
	line-height: 2.0;
	-webkit-text-size-adjust: 100%;
	font-feature-settings : "palt";
	letter-spacing: 0.15em;
	overflow-y: scroll;
}

.bodyfixed{
	position: fixed;
	width: 100%;
	height: 100%;
}

/*共通*/

h2, .font_kinuta{
	font-family: kinuta-maruminold-stdn, "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
	font-weight: 400;
	font-style: normal;
}

.contents_wrap{
	min-height: 100%;
	width: 100vw;
	min-width: 100vw;
	overflow-x: hidden;
}

.contents_inner{
}

.index .contents_inner{
	background-color: #fff7dd;
}

.bottom_bar{
	position: relative;
}

.bottom_bar:after{
	display: block;
	content: "";
	width: 100vw;
	height: 20px;
	background-color: #fff7dd;
	position: absolute;
	bottom: -10px;
	z-index: -1;
}

.cloud{
	position: relative;
	width: 100vw;
	background-color: #fff7dd;
	padding-top: 135px;
}

.cloud:before{
	background-image: url("../img/cloud@2x.png");
	background-position: top center;
	background-repeat: repeat-x;
	background-size: auto 25px;
	display: block;
	width: 100vw;
	height: 25px;
	position: absolute;
	top: -24px;
	content: "";
}


/*その他ページ共通*/
.h2_wrap{
	width: 100vw;
	height: 345px;
	margin-top: 35px;
	margin-bottom: 250px;
	position: relative;
}

.anzen .h2_wrap, .company .h2_wrap{
	margin-bottom: 150px;
}

.h2_wrap>div{
	width: 87vw;
	height: 100%;
	margin: 0 auto;
	padding-top: 65px;
}

.h2_wrap:before{
	width: 87vw;
	height: 345px;
	margin-left: 13vw;
	background-position: left center;
	background-size: cover;
	content: "";
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.anshin .h2_wrap:before{
	background-image: url("../img/anshin/h2_back.jpg");
}

.antei .h2_wrap:before{
	background-image: url("../img/antei/h2_back.jpg");
}

.anzen .h2_wrap:before{
	background-image: url("../img/anzen/h2_back.jpg");
}

.products .h2_wrap:before{
	background-image: url("../img/products/h2_back.jpg");
}

.company .h2_wrap:before{
	background-image: url("../img/company/h2_back.jpg");
}

.company .h2_wrap>div{
	padding-top: 120px;
}


p.h2_en{
	font-style: normal;
    font-family: 'Train One';
    text-transform: uppercase;
    font-size: 10.0rem;
	color: #ffcd2c;
	line-height: 0.97;
	margin-bottom: 10px;
	letter-spacing: 0.1em;
}

.h2_wrap h2{
	text-indent: 5px;
	-webkit-font-smoothing: subpixel-antialiased;
}

p.h2_roma{
	font-size: 1.8rem;
	margin-bottom: 10px;
	width: 80vw;
	max-width: 1000px;
    margin: 0 auto;
    text-align: right;
	position: relative;
	z-index: 2;
}

p.h2_roma span{
	display: inline;
	border-bottom: 1px solid #ffcd2c;
	padding-bottom: 5px;
}


/* index */
.fv_copy{
	margin-top: -70px;
	background-color: #fff;
}

.fv{
	width: 100vw;
	background-image: url("../img/top/fv.jpg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

.fv_text{
	width: 466px;
	height: 340px;
	position: absolute;
	bottom: 5vh;
	left: 60px;
	z-index: 2;
	opacity: 0;
	animation: load02 0.5s linear 3s forwards;
	-webkit-animation: load02 0.5s linear 3s forwards;
}

.fv_text img{
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	z-index: 2;
}

.scroll{
	width: 15px;
	height: 200px;
	position: absolute;
	right: 60px;
	bottom: 0;
}

.scroll img{
	display: block;
	width: 100%;
	height: 100%;
}

.top_copy{
	width: 80vw;
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 175px;
	padding-top: 135px;
}

.top_copy h2{
	font-size: 3.6rem;
	color: #ffc41d;
	margin-bottom: 50px;
	-webkit-font-smoothing: subpixel-antialiased;
}

.top_copy p{
	line-height: 2.4;
}

.top_kodawari{
	padding-bottom: 20px;
}

.top_kodawari h2{
	font-size: 4.6rem;
	text-align: center;
	border-bottom: dashed 2px #ffcd2c;
	position: relative;
    left: 50%;
    transform: translate(-50%,0);
	display: inline-block;
    line-height: 1.5;
	margin-bottom: 120px;
}

.top_kodawari section{
	width: 90vw;
	margin: 0 auto;
	clear: both;
	background-repeat: no-repeat;
	position: relative;
}

.top_kodawari section:before{
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left top;
	position: absolute;
}

.kodawari_inner{
	clear: both;
	width: 60vw;
	margin: 0 auto;
	height: auto;
    overflow: auto;
}

.kodawari_pic{
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 23vw;
	height: 23vw;
	border-radius: 50%;
	position: relative;
	z-index: 1;
	float: left;
}

.kodawari_text{
	float: right;
}

.kodawari_text p{
	line-height: 2.4;
}

.kodawari_text h3{
	font-size: 3.6rem;
	letter-spacing: 0.14em;
}

.kodawari_text h3:after{
	width: 200%;
	height: 1px;
	background-color: #ffcd2c;
	content: "";
	position: relative;
	z-index: 0;
	display: block;
	margin-bottom: 30px;
	margin-left: -100%;
}

.check{
	width: 86px;
	height: 40px;
}

.check img{
	width: 100%;
	height: 100%;
	display: block;
}

.more{
	display: block;
	border: dashed 2px #ffcd2c;
	color: #111;
	font-style: normal;
    font-family: 'Train One';
    text-transform: uppercase;
	width: 67px;
	height: 67px;
	border-radius: 50%;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
    text-indent: 0.2em;
    text-align: center;
    line-height: 64px;
    margin-top: 40px;
	background-color: transparent;
}

.more:hover{
	border: solid 2px #ffcd2c;
	background-color: #ffcd2c;
}


/*01〜03の指定*/
.top_kodawari section.kodawari01{
	background-image: url("../img/top/kodawari01_back@2x.png");
	background-position: left top;
	background-size: 53vw auto;
	min-height: 53vw;
	padding-top: 10vw;
}

.kodawari01:before{
	width: 10vw;
	height: 8.75vw;
	background-image: url("../img/top/kodawari01_number.svg");
	left: 10vw;
	top: 0;
}

.kodawari01 .kodawari_pic{
	background-image: url("../img/top/kodawari01_pic.jpg");
	margin-left: 5vw;
}

.kodawari01 .more, .kodawari03 .more{
	float: right;
}

.top_kodawari section.kodawari02{
	background-image: url("../img/top/kodawari02_back@2x.png");
	background-position: right top;
	background-size: 53vw auto;
	min-height: 53vw;
	padding-top: 10vw;
}

.kodawari02:before{
	width: 11.56vw;
	height: 8.75vw;
	background-image: url("../img/top/kodawari02_number.svg");
	right: 10vw;
	top: 0;
}

.kodawari02 .kodawari_pic{
	float: right;
}

.kodawari02 .kodawari_text{
	float: left;
}

.kodawari02 .kodawari_pic{
	background-image: url("../img/top/kodawari02_pic.jpg");
}

.kodawari02 .kodawari_text h3:after {
    margin-left: 0;
}

.top_kodawari section.kodawari03{
	background-image: url("../img/top/kodawari03_back@2x.png");
	background-position: left top;
	background-size: 53vw auto;
	min-height: 53vw;
	padding-top: 10vw;
}

.kodawari03:before{
	width: 11.56vw;
	height: 8.75vw;
	background-image: url("../img/top/kodawari03_number.svg");
	left: 10vw;
	top: 0;
}

.kodawari03 .kodawari_pic{
	background-image: url("../img/top/kodawari03_pic.jpg");
	margin-left: 5vw;
}

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

.white{
	width: 23vw;
	height: 23vw;
	background-color: #fff;
	position: relative;
	display: block;
}

.whiteSlide{
    z-index: 2;
    display: block;
    top: 0px;
	right: 0;
	position: absolute;
	background-color: #ffe100;
}



/*h3破線*/
.seisansha_wrap h3, .eiseikanri_wrap h3, .products_wrap h3,
.chart_wrap h3, .about h3, .history h3{
	font-size: 4.6rem;
	text-align: center;
	position: relative;
    left: 50%;
    transform: translate(-50%,0);
	display: inline-block;
    line-height: 1.5;
	margin-bottom: 100px;
}

.seisansha_wrap h3 span, .eiseikanri_wrap h3 span, .products_wrap h3 span, 
.chart_wrap h3 span, .about h3 span, .history h3 span{
	display: inline;
	padding-bottom: 15px;
	background:
		linear-gradient(to right,
			#ffcd2c 0%,
			#ffcd2c 50%,
			transparent 51%,
			transparent 100%)
		repeat-x left bottom/10px 2px;
}


/*IEのみ*/
.js_isIe .seisansha_wrap h3, .js_isIe .eiseikanri_wrap h3, .js_isIe .products_wrap h3,
.js_isIe .chart_wrap h3, .js_isIe .about h3, .js_isIe .history h3{
	line-height: normal;
}

.js_isIe .seisansha_wrap h3 span, .js_isIe .eiseikanri_wrap h3 span, .js_isIe .products_wrap h3 span, 
.js_isIe .chart_wrap h3 span, .js_isIe .about h3 span, .js_isIe .history h3 span{
	background:none;
}


/* anshin */
.seisansha_wrap h3{
	font-size: 3.6rem;
	line-height: 2.2;
}

.areamap{
    width: 80vw;
	max-width: 1000px;
	padding-top: 650px;
	background-image: url("../img/anshin/areamap.jpg");
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	margin-top: -150px;
	margin-bottom: 50px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 20px;
								}
								
.areamap h3, .aichi h3{
	font-size: 2.6rem;
	margin-bottom: 20px;
}

.areamap p{
	line-height: 2.6;
}
.areamap2{
    width: 80vw;
	max-width: 1000px;
	padding-top: 350px;
	margin-top: -150px;
	margin-bottom: 50px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 20px;
								}
								
.areamap2 h3, .aichi h3{
	font-size: 2.6rem;
	margin-bottom: 20px;
}

.areamap2 p{
	line-height: 2.6;
}

.seisansha_wrap{
	width: 80vw;
	max-width: 1000px;
	margin: 0 auto;
	background-color: #fff7dd;
	border-radius: 30px;
	padding: 150px 90px;
	padding-bottom: 50px;
}

.seisansha_inner{
	display: flex;
	margin-bottom: 100px;
}

.seisansha_inner:nth-of-type(2){
	flex-direction: row-reverse;
}

.seisansha_pic{
	width: 255px;
	height: 255px;
	display: block;
}

.seisansha_pic img{
	width: 255px;
	height: 255px;
	border-radius: 50%;
}

.seisansha_inner dl{
	width: calc(100% - 255px);
}

.seisansha_inner dl h4{
	color: #fff;
	background-color: #ffcd2c;
	border-radius: 15px;
	width: 144px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	margin-left: 45px;
	margin-bottom: 20px;
}

.js_isIe .seisansha_inner dl h4{ /*IEのみ*/
	padding-top: 8px;
}



.companyname{
	font-size: 2.6rem;
	border-bottom: solid 1px #ffcd2c;
	padding-left: 45px;
    margin-bottom: 20px;
}

.seisansha_inner dd{
	line-height: 2.4;
	margin-left: 45px;
	letter-spacing: 0.1em;
}

.seisansha_inner:nth-of-type(2) dl h4, .seisansha_inner:nth-of-type(4) dl h4{
	margin-left: 0px;
}

.seisansha_inner:nth-of-type(2) dd, .seisansha_inner:nth-of-type(4) dd{
	margin-left: 0px;
}

.seisansha_inner:nth-of-type(2) dd{
	margin-right: 45px;
}

.seisansha_inner:nth-of-type(2) .companyname, .seisansha_inner:nth-of-type(4) .companyname{
	padding-left: 0;
}

.seisansha_inner:nth-of-type(4) dl{
	width: 100%;
}

.attention{
	margin-top: 20px;
	font-size: 1.4rem;
}



/* antei */
.aichi{
	width: 80vw;
	max-width: 1000px;
	padding-top: 400px;
	background-image: url("../img/antei/aichi.jpg");
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 93% auto;
	margin-top: -100px;
	margin-bottom: 100px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 100px;
}

.aichi p{
	width: 590px;
	line-height: 2.4;
	letter-spacing: 0.14em;
}

.antei_chart_a{
	padding-bottom: 200px;
}

.antei_chart_b{
	width: 100vw;
    background-color: #fff7dd;
}

.antei_chart_a ol, .antei_chart_b ol{
	padding-left: 30px;
    padding-right: 30px;
	margin-left: 45px;
	margin-top: 20px;
}

.chart_wrap{
	width: 100vw;
	max-width: 1120px;
	overflow: hidden;
	margin: 0 auto;
}

.chart_wrap h4{
	font-size: 2.8rem;
	position: relative;
	padding-left: 50px;
    padding-right: 20px;
	margin-bottom: 20px;
}

.chart_wrap li h4:before{
	position: relative;
	background-position: left top, right bottom 5px;
	background-repeat: no-repeat;
	background-size: contain , 70% auto;
	content: "";
	width: 100%;
	height: 60px;
	display: block;
	margin-bottom: 10px;
}

.chart_wrap ol li.number01 h4:before{
	background-image: url("../img/antei/chart_number01.svg"), url("../img/products/cursol_long.svg");
}

.chart_wrap ol li.number02 h4:before{
	background-image: url("../img/antei/chart_number02.svg"), url("../img/products/cursol_long.svg");
}

.chart_wrap li.number03 h4:before{
	background-image: url("../img/antei/chart_number03.svg"), url("../img/products/cursol_long.svg");
}

.chart_wrap li.number04 h4:before{
	background-image: url("../img/antei/chart_number04.svg"), url("../img/products/cursol_long.svg");
}

.chart_wrap li.number05 h4:before{
	background-image: url("../img/antei/chart_number05.svg"), url("../img/products/cursol_long.svg");
}

.chart_wrap li.number06 h4:before{
	background-image: url("../img/antei/chart_number06.svg"), url("../img/products/cursol_long.svg");
}

.antei_chart_b .chart_wrap li.number06 h4:before{
	background-image: url("../img/antei/chart_number06.svg"), none;
}

.chart_wrap li.number07 h4:before{
	background-image: url("../img/antei/chart_number07.svg"), url("../img/products/cursol_long.svg");
}

.chart_wrap li.number08 h4:before{
	background-image: url("../img/antei/chart_number08.svg"), none;
}

.chart_wrap li figcaption{
	text-align: center;
    padding-top: 20px;
}

.chart_wrap li figcaption em{
	display: none;
}

.chart_wrap li{
	width: 424px;
	height: 700px;
	padding-right: 50px;
}

.chart_wrap li img{
	width: 100%;
	height: auto;
}

cite{
	font-style: normal;
    text-align: center;
    display: block;
    margin-top: 100px;
}


/* anzen */
.eiseikanri_wrap dl{
	width: 80vw;
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 150px;
}

.eiseikanri_wrap dt{
	font-size: 3.6rem;
	line-height: 1.8;
	height: 140px;
	width: 100%;
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: auto 140px;
	padding-left: 220px;
	position: relative;
	margin-bottom:160px;
}

.eiseikanri_wrap .eiseikanri_inner01 dt{
	background-image: url("../img/anzen/eisei01_number.svg");
	padding-top: 25px;
}

.eiseikanri_wrap .eiseikanri_inner02 dt{
	background-image: url("../img/anzen/eisei02_number.svg");
	padding-top: 90px;
}

.eiseikanri_wrap dt:after{
	position: relative;
	display: block;
	width: 70px;
	height: 1px;
	margin-top: 70px;
	background-color: #5a4a42;
	content: "";
	left: -220px;
}

.torikumi_wrap{
	width: 80vw;
	max-width: 1000px;
	margin: 0 auto;
	padding-top: 150px;
}

.torikumi_wrap h3{
	font-size: 3.6rem;
	line-height: 1.8;
	color: #ffcd2c;
	-webkit-font-smoothing: subpixel-antialiased;
}

.torikumi_wrap ul{
	display: flex;
	justify-content: space-between;
	margin-top: 100px;
}

.torikumi_wrap li{
	width: 20%;
	letter-spacing: 0.1em;
	text-align: justify;
    text-justify: inter-ideograph;
}

.torikumi_wrap img{
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 20px;
}


/*products*/
.products_wrap em{
	display: block;
	text-align: center;
	font-style: normal;
    font-family: 'Train One';
    text-transform: uppercase;
    font-size: 7.5rem;
    color: #ffcd2c;
    line-height: 1;
    margin-bottom: 40px;
    letter-spacing: 0.1em;
}

.products_wrap h4{
	font-size: 1.6rem;
	letter-spacing: 0.5em;
	text-align: center;
	position: relative;
	-webkit-font-smoothing: subpixel-antialiased;
}

.products_wrap h4:after{
	position:relative;
	display: block;
	margin: 0 auto;
	margin-bottom: 50px;
	width: 170px;
	height: 16px;
	background-image: url("../img/products/h4_bottom.svg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	top: 20px;
	left: -0.25em;
}

.products_wrap ul{
	display: flex;
	width: 80vw;
	max-width: 1000px;
	height: 420px;
	margin: 0 auto;
	margin-top: -55px;
	justify-content: space-between;
}

.products_wrap ul.lineup_first{
	margin-top: 0px;
}

.products_wrap ul li:nth-child(2){
	align-self: flex-end;
}

.products_wrap ul figure{
	width: 25vw;
    height: 25vw;
	max-width: 280px;
	max-height: 280px;
	overflow: hidden;
	position: relative;
}

.products_wrap ul figcaption{
	width: 100%;
	height: 60px;
	background-image: url("../img/products/figcaption.svg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	bottom: -60px;
	transition: 0.3s;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.1em;
	padding-top: 20px;
}

.products_wrap ul figure:hover figcaption{
	bottom: 0;
}

.products_wrap ul img{
	width: 100%;
	height: 100%;
	display: block;
}

.products_wrap ul.lineup_last li:nth-child(2){
	align-self: flex-start;
}

.schoollunch{
	width: 100vw;
	margin-bottom: 150px;
}

.schoollunch img{
	width: 100%;
	height: auto;
	display: block;
}

.lineup02{
	margin-bottom: 50px;
}
		

/* company */
.message{
	padding-bottom: 150px;
}

.message>div{
	width: 80vw;
	max-width: 1000px;
	margin: 0 auto;
	background-color: #fff;
	border-radius: 30px;
	padding-left: 85px;
	padding-right: 85px;
	padding-bottom: 100px;
}

.message h3, .contact h3{
	font-size: 2.0rem;
	margin-bottom: 60px;
	line-height: 1;
	position: relative;
	top: -20px;
}

.message h3:before, .contact h3:before{
	position: relative;
	font-style: normal;
    font-family: 'Train One';
    text-transform: uppercase;
    font-size: 7.5rem;
    line-height: 1;
    letter-spacing: 0.1em;
	display: block;
	bottom: 20px;
}

.message h3:before{
	content: "message";
}

.contact h3:before{
	content: "contact";
}

.message p{
	line-height: 2.6;
	margin-bottom: 50px;
}

.ceo{
	text-align: right;
	font-size: 2.0rem;
}

.ceo span{
	font-size: 3.6rem;
	display: inline-block;
	margin-left: 40px;
}

.about, .history{
	padding-top: 150px;
	width: 80vw;
	max-width: 1000px;
	margin: 0 auto;
}

table.company_table {
	width: 100%;
}

table.company_table tr{
	border-bottom: 1px solid #ffcd2c;
}

table.company_table tr:last-child{
	border-bottom: 0;
}

table.company_table th{
	width: 200px;
    text-align-last: justify;
    text-justify: inter-ideograph;
    padding-left: 60px;
    padding-right: 60px;
}

table.company_table th, table.company_table td{
	padding-bottom: 30px;
	padding-top: 30px;
	vertical-align: top;
}

span.slash{
	position: relative;
}

span.slash:after{
	display: inline-block;
	content: "\FF0F";
	margin-left: 3px;
	margin-right: 3px;
}

table.company_table ol{
	list-style-type: decimal;
	margin-left: 1.8em;
}

.gmap {
height: 0;
overflow: hidden;
padding-bottom: 37%;
position: relative;
}

.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.history{
	margin-bottom: 150px;
}

.contact_wrap{
	width: 80vw;
	max-width: 1000px;
	margin: 0 auto;
	background-color: #fff7dd;
	border-radius: 30px;
	padding-left: 80px;
	padding-right: 80px;
	padding-bottom: 100px;
}

.contact_inner{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	border-bottom: 1px solid #ffcd2c;
	padding-bottom: 40px;
	margin-bottom: 40px;
}

.contact_inner span{
	display: block;
	max-width: 467px;
	width: 50%;
}

.contact_inner img{
	width: 100%;
	height: auto;
	display: block;
	border-radius: 30px;
}

.company_name{
	border-bottom: 1px solid #ffcd2c;
	display: inline-block;
	width: 100%;
    margin-bottom: 30px;
}

.contact_inner table{
	letter-spacing: 0.1em;
}

.contact_inner th{
	text-align: left;
	vertical-align: top;
	font-weight: normal;
	padding-right: 15px;
	width: 110px;
}

.contact_inner .pb{
	padding-bottom: 25px;
}

.conact_p{
	font-size: 1.4rem;
}







/* tablet版上書き ---------------------------------------- */

/* ipad 1000px以下設定[ipad.css] */

@media screen and (max-width:1000px){
	.contents_wrap{
		overflow-x: auto;
	}

}


/* SP版上書き ---------------------------------------- */

@media screen and (max-width:812px) {
	.sp_none{
		display: none;
	}
	
	.pc_none{
		display: block;
	}
	
	body{
		overflow-x: hidden;
		font-size: 1.4rem;
		letter-spacing: 0.1em;
	}
	
	.cloud{
		padding-top: 50px;
	}
	
	/*index*/
	.fv{
		background-image: url("../img/top/fv_sp.jpg");
	}
	
	.fv_text {
		width: 73vw;
		height: 53vw;
		bottom: auto;
		top: calc(50% - 55px);
		left: 50%;
		transform: translate(-50%, -50%);
	}
	
	.scroll{
		right: 30px;
	}
	
	.top_copy {
		width: 85vw;
		padding-top: 90px;
		padding-bottom: 100px;
	}
	
	.top_copy h2 {
		font-size: 2rem;
		margin-bottom: 30px;
		line-height: 1.8em;
	}
	
	.top_copy p {
		line-height: 2.2;
		text-align: justify;
		text-justify: inter-ideograph;
	}
	
	.top_kodawari h2 {
		font-size: 2rem;
		margin-bottom: 50px;
	}
	
	.kodawari_inner {
		width: 100%;
	}
	
	.kodawari_text, .kodawari_pic, .kodawari02 .kodawari_pic {
		float: none;
	}
	
	.top_kodawari section {
		width: 100vw;
	}
	
	.top_kodawari section.kodawari01, .top_kodawari section.kodawari02, .top_kodawari section.kodawari03{
		background-position: center top 30px;
		background-size: 350px auto;
		min-height: initial;
		padding-top: 85px;
		margin-bottom: 100px;
	}
	
	.kodawari01:before {
		width: 76px;
		height: 66px;
		left: 7.5vw;
		top: 0;
	}
	
	.kodawari01 .kodawari_pic {
		margin-left: 37vw;
		margin-bottom: 70px;
	}
	
	.kodawari_pic{
		width: 150px;
		height: 150px;
	}
	
	.kodawari01 .kodawari_text h3, .kodawari02 .kodawari_text h3, .kodawari03 .kodawari_text h3 {
		text-indent: 7.5vw;
	}
	
	.kodawari_text h3 {
		font-size: 2.6rem;
	}
	
	.kodawari_text h3:after{
		width: 85vw;
		margin-left: 7.5vw;
		margin-bottom: 10px;
	}
	
	.kodawari01 .kodawari_text p, .kodawari02 .kodawari_text p, .kodawari03 .kodawari_text p {
		margin-left: 7.5vw;
		margin-right: 7.5vw;
	}
	
	.kodawari01 .more, .kodawari02 .more, .kodawari03 .more {
		float: none;
	}
	
	.more{
		width: 85vw;
		height: 55px;
		border-radius: 30px;
		line-height: 55px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.top_kodawari section.kodawari02{
		padding-top: 100px;
	}
	
	.kodawari02 .kodawari_inner{
		flex-direction: column-reverse;
	}
	
	.kodawari02:before {
		width: 88px;
		height: 67px;
		right: 7.5vw;
		top: 0;
	}
	
	.kodawari02 .kodawari_text h3:after{
		margin-left: 7.5vw;
	}
	
	.kodawari02 .kodawari_pic{
		margin-left: 30vw;
		margin-bottom: 70px;
	}
	
	.top_kodawari section.kodawari03{
		padding-top: 100px;
		margin-bottom: 0;
	}
	
	.kodawari03:before {
		width: 91px;
		height: 66px;
		left: 7.5vw;
		top: 0;
	}
	
	.kodawari03 .kodawari_pic{
		margin-left: 37vw;
		margin-bottom: 70px;
	}
	
	.white {
		width: 150px;
		height: 150px;
	}
	
	
	/*その他ページ*/
	
	/*anshin*/
	.h2_wrap {
		height: 120px;
		margin-bottom: 70px;
		overflow: hidden;
	}
	
	.h2_wrap:before{
		width: 86vw;
		height: 120px;
		margin-left: 24vw;
		border-top-left-radius: 10px;
		border-bottom-left-radius: 10px;
	}
	
	.h2_wrap h2 {
		text-indent: 0px;
	}
	
	p.h2_en{
		font-size: 3.4rem;
		margin-bottom: 5px;
	}
		
	.h2_wrap>div{
		padding-top: 15px;
	}
	
	p.h2_roma{
		width: 100vw;
		padding-right: 7.5vw;
		font-size: 1.4rem;
	}
	
	.anshin p.h2_roma:before {
		width: calc(137px + 7.5vw);
	}
	
	.antei p.h2_roma:before {
		width: calc(195px + 7.5vw);
	}
	
	.areamap, .aichi {
		width: 100vw;
		margin-top: 0;
		margin-bottom: 30px;
		padding-top: 250px;
		padding-bottom: 0;
		padding-left: 7.5vw;
		padding-right: 7.5vw;
		background-size: contain;
	}
		.areamap2, .aichi {
		width: 100vw;
		margin-top: 0;
		margin-bottom: 30px;
		padding-top: 100px;
		padding-bottom: 0;
		padding-left: 7.5vw;
		padding-right: 7.5vw;
		background-size: contain;
	}
	.areamap h3, .aichi h3 {
		font-size: 1.8rem;
}
.areamap2 h3, .aichi h3 {
		font-size: 1.8rem;
	}
	
	.areamap p , .aichi p {
		line-height: 2.2;
		letter-spacing: 0.1em;
	}
	
	.aichi p {
		width: auto;
	}
	
	.seisansha_wrap {
		width: 85vw;
		padding-top: 70px;
		padding-bottom: 70px;
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.seisansha_wrap h3 {
		font-size: 2rem;
		margin-bottom: 50px;
		display: inline-block;
		position: relative;
		left: 50%;
		transform: translate(-50%, 0);
	}
	
	.seisansha_inner {
		flex-direction: column;
		align-items: center;
		margin-bottom: 80px;
	}
	
	.seisansha_last{
		margin-bottom: 0;
		display: block;
	}
	
	.seisansha_inner dl {
		width: 100%;
	}
	
	.seisansha_pic{
		margin-bottom: 30px;
	}
	
	.seisansha_inner dl h4{
		margin-left: 7.5vw;
		margin-bottom: 10px;
	}
	
	.companyname {
		font-size: 1.8rem;
		padding-left: 0;
		margin-left: 7.5vw;
		margin-right: 7.5vw;
		margin-bottom: 20px;
	}
	
	.seisansha_inner dd {
		line-height: 2.2;
		margin-left: 7.5vw;
		margin-right: 7.5vw;
	}
	
	.seisansha_inner:nth-of-type(2) {
		flex-direction: column;
	}
	
	.seisansha_inner:nth-of-type(2) dl h4, .seisansha_inner:nth-of-type(4) dl h4 {
		margin-left: 7.5vw;
	}
	
	.seisansha_inner:nth-of-type(2) dd, .seisansha_inner:nth-of-type(4) dd {
		margin-left: 7.5vw;
		margin-right: 7.5vw;
	}
	
	
	/*antei*/
	.antei p.h2_roma:before {
		width: calc(195px + 7.5vw);
	}
	
	.chart_wrap {
		width: 100vw;
		overflow: visible;
	}
	
	.chart_wrap h3 {
		font-size: 2rem;
		margin-bottom: 0px;
	}
	
	.antei_chart_a ol, .antei_chart_b ol {
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
	}
	
	.chart_wrap h4{
		padding-left: 0;
		padding-right: 0;
	}
	
	.chart_wrap li{
		padding-right: 30px;
		height: auto;
	}
	
	.chart_wrap ol li h4{
		display: none;
	}
	
	.chart_wrap li figure:before {
		position: relative;
		background-position: left top;
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		width: 100%;
		height: 60px;
		display: block;
		bottom: -50px;
	}
	
	.chart_wrap li figcaption {
		text-align: left;
		padding-left: 20px;
		padding-right: 10px;
	}
	
	.chart_wrap li figcaption em{
		display: block;
		font-size: 1.8rem;
		font-style: normal;
		letter-spacing: 0.05em;
	}
	
	.chart_wrap li.number01 figure:before {
		background-image: url(../img/antei/chart_number01.svg)
	}
	
	.chart_wrap li.number02 figure:before {
		background-image: url(../img/antei/chart_number02.svg)
	}
	
	.chart_wrap li.number03 figure:before {
		background-image: url(../img/antei/chart_number03.svg)
	}
	
	.chart_wrap li.number04 figure:before {
		background-image: url(../img/antei/chart_number04.svg)
	}
	
	.chart_wrap li.number05 figure:before {
		background-image: url(../img/antei/chart_number05.svg)
	}
	
	.chart_wrap li.number06 figure:before {
		background-image: url(../img/antei/chart_number06.svg)
	}
	
	.chart_wrap li.number07 figure:before {
		background-image: url(../img/antei/chart_number07.svg)
	}
	
	.chart_wrap li.number08 figure:before {
		background-image: url(../img/antei/chart_number08.svg)
	}
	
	
	/*anzen*/
	.anzen .h2_wrap, .company .h2_wrap {
		margin-bottom: 100px;
	}
	
	.eiseikanri_wrap h3{
		font-size: 2.0rem;
		margin-bottom: 50px;
	}
	
	.eiseikanri_wrap dl{
		width: 85vw;
		padding-bottom: 100px;
	}
	
	.eiseikanri_wrap dt {
		font-size: 2rem;
		height: auto;
		background-size: auto 53px;
		padding-left: 0px;
		margin-bottom: 0px;
		background-position: left top;
	}
	
	.eiseikanri_wrap .eiseikanri_inner01 dt, .eiseikanri_wrap .eiseikanri_inner02 dt{
		padding-top: 65px;
	}
	
	.eiseikanri_wrap dt:after{
		margin-top: 40px;
		margin-bottom: 40px;
		left: 0;
	}
	
	.eiseikanri_wrap dd {
		text-align: justify;
		text-justify: inter-ideograph;
	}	
	
	.torikumi_wrap {
		width: 85vw;
		margin: 0 auto;
		padding-top: 90px;
	}
	
	.torikumi_wrap h3 {
		font-size: 2.0rem;
	}
	
	.torikumi_wrap ul{
		margin-top: 70px;
		flex-wrap: wrap;
	}
	
	.torikumi_wrap ul:last-of-type{
		margin-top: 0;
	}
	
	.torikumi_wrap li {
		width: 42%;
		line-height: 1.8;
		margin-bottom: 50px;
		letter-spacing: 0;
	}
	
	.torikumi_wrap img{
		margin-bottom: 10px;
	}
	
	
	/*products*/
	.products_wrap h3{
		font-size: 2rem;
		line-height: 2.5;
		margin-bottom: 50px;
	}
	
	.products_wrap em{
		font-size: 4rem;
		line-height: 1.2;
		margin-bottom: 25px;
	}
	
	.products_wrap h4:after{
		width: 100px;
		background-size: cover;
		top: 10px;
	}
	
	.products_wrap ul{
		flex-direction: column;
		width: 70vw;
		max-width: 280px;
		height: auto;
		margin-top: 0;
	}
	
	.products_wrap ul li{
		margin-bottom: 40px;
	}
	
	.products_wrap ul figure {
		width: 100%;
		height: 100%;
	}
		
	.products_wrap ul figcaption{
		bottom: 0;
		height: 45px;
		padding-top: 15px;
	}
	
	.lineup_last{
		padding-bottom: 50px;
	}
	
	.schoollunch {
		margin-bottom: 80px;
	}
	
	.lineup02 {
		margin-bottom: 0;
	}
	
	
	/*company*/
	.company .h2_wrap>div {
		padding-top: 42px;
	}
	
	.message {
		padding-bottom: 100px;
	}
	
	.message>div {
		width: 85vw;
		padding-left: 8.5vw;
		padding-right: 8.5vw;
		padding-bottom: 50px;
	}
	
	.message h3, .contact h3 {
		font-size: 2.0rem;
		margin-bottom: 40px;
		top: 0;
	}
	
	.message h3:before, .contact h3:before{
		font-size: 4.0rem;
	}
	
	.message p {
		line-height: 2.2;
		margin-bottom: 20px;
	}
	
	.ceo {
		text-align: right;
		font-size: 1.4rem;
	}
	
	.ceo span {
		font-size: 2.4rem;
		margin-left: 5px;
	}
	
	/*company*/
	.about, .history {
		padding-top: 100px;
		width: 85vw;
	}
	
	.about h3, .history h3{
		font-size: 2.0rem;
		margin-bottom: 30px;
	}
	
	table.company_table th, table.company_table td{
		display: list-item;
		list-style-type: none;
	}
	
	table.company_table th {
		width: 100%;
		text-align-last: auto;
		text-justify: auto;
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 0;
		padding-top: 20px;
		text-align: left;
	}
	
	table.company_table td{
		padding-top: 0;
		padding-bottom: 20px;
	}
	
	span.slash{
		display: block;
	}
	
	span.slash:after{
		display: none;
	}
	
	.gmap{
		padding-bottom: 100%;
		margin-top: 10px;
	}
	
	.contact_wrap {
		width: 85vw;
		padding-left: 7.5vw;
		padding-right: 7.5vw;
		padding-bottom: 70px;
	}
	
	.contact_inner{
		flex-direction: column;
		padding-bottom: 0;
	}
	
	.contact_inner img {
		width: 100%;
		height: auto;
	}
	
	.contact_inner th{
		padding-right: 0;
		width: 100px;
	}
	
	.contact_inner span {
		display: block;
		margin-bottom: 30px;
		width: 100%;
	}
	
	.company_name{
		padding-bottom: 10px;
	}
	
}
	


/* win対策 ---------------------------------------- */

/* ie設定[ie.css] */

body.js_isWin{
}




/* 印刷用 ---------------------------------------- */
@media print{
	*{
		transition-property: none !important;
		animation-name: none !important;
		opacity: 1 !important;
		font-family:initial;
	}
}

/*2023.4.17追加　トップお詫び文*/
.top_important {
  background-color: #fff7dd;
  padding: 135px 0;
}
.important_description {
  width: 80vw;
  max-width: 1000px;
  margin: 0 auto;
  border: 1px solid #000;
  padding: 80px 0;
  background-color: #FFF;
}
.important_description h2 {
  text-align: center;
  font-size: 3.6rem;
  font-family: kinuta-maruminold-stdn, "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
  font-weight: 600;
  font-style: normal;
  margin-bottom: 50px;
  width: 80vw;
  max-width: 600px;
  margin: 0 auto;
}
.important_description p {
  width: 80vw;
  max-width: 600px;
  margin: 30px auto 30px;
}
.important_img {
  width: 80vw;
  max-width: 600px;
  margin: 0 auto;
}
.important_img img {
  width: 100%;
  vertical-align: middle;
} 

@media screen and (max-width: 812px){
  .top_important {
    background-color: #fff7dd;
    padding: 100px 0;
  }
  .important_description {
    width: 85vw;
    padding: 50px 0 50px 0;
  }
  .important_description h2 {
    font-size: 2rem;
    line-height: 1.8em;
    margin-bottom: 30px; 
    width: 70vw;
  }
  .important_description p {
    width: 70vw;
    margin: 20px auto 20px;
  }
  .important_img {
    width: 70vw;
  }
}
