@charset "utf-8";

/********************共通*******************/

@font-face {
	font-family: 'Antro Vectra';
	src: url('./fonts/Antro_Vectra.otf') format('opentype');
	font-display: swap;
}

*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	line-height: 1.6;
	font-size: 1.6rem;
	color: #000000;
}

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html {
    font-size: 62.5%;
    font-family: 'Noto Sans Japanese', sans-serif;
}

body{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    line-height: 1.6;
    font-size: 1.6rem;
    color: #000000;
}

a {
	text-decoration: none;
	color: #000;
}

a:hover {
	color: #329637;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
input,
textarea {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: normal;
	font-size: 1.8rem;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

article,
header,
footer,
aside,
figure,
figcaption,
nav,
section,
main {
	display: block;
	box-sizing: border-box;
}

html{
	font-size: 62.5%;
}

body {
	line-height: 1;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

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

img {
	max-width: 100%;
	vertical-align: middle;
}

figure {
	margin: 0;
}

iframe{
	vertical-align: bottom;
}

table{
	border-collapse:collapse;
	border:none;
	border-spacing:0;
	width: 100%;
}

th,td{
	vertical-align:top;
	text-align:left;
}

/********************共通*******************/

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.inr {
    max-width: 1150px;
    margin: 0 auto;
    padding: 0 15px;
}

main {
    padding-top: 107px;
}

.pc-view {
	display: block !important;
}

.sp-view {
	display: none !important;
}

.pc-inline-view {
	display: inline-block !important;
}

.sp-inline-view {
	display: none !important;
}

.container{
	width: 1200px;
	margin: 0 auto;
}

.box{
	margin-bottom: 150px;
}

.ta-c{
	text-align: center;
}

/* ページTOP */

.pagetop{
	right: 20px;
	bottom: -20px;
}

.pagetop a{
	display: block;
}

.pagetop a:hover{
	text-decoration: none;
}

/* スクロールコンテンツ表示 */
.js-animation {
	opacity: 0;
	visibility: hidden;
	transform: translateY(40px);
	transition: all 1s;
}

.js-animation.is-show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}



.sp{
	display: none;
}

/********************ヘッダー*******************/
header{
	padding: 12px 0 15px;
	position: fixed;
	width: 100%;
	background-color: #fff;
	z-index: 999;
}
header .inr{
	/*min-width: 1024px;*/
}
header h1{
	max-width: 340px;
	width: 60%;
}
header h1 span{
	color: #329637;
	font-size: 1.1rem;
	font-weight: bold;
}
header nav ul.mini_nav.flex{
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.main_nav{
	margin-top: 5px;
}
header nav ul.mini_nav a{
	font-size: 13px;
}
header nav ul.mini_nav li:not(:last-child){
	margin-right: 20px;
}
header nav ul.main_nav a{
	font-weight: bold;
	font-size: 16px;
}
header nav ul.main_nav li:not(:last-child){
	margin-right: 20px;
	padding-right: 20px;
	position: relative;
}
header nav ul.main_nav li:not(:last-child):after{
	content:"";
	display:inline-block;
	width:1px;
	height:18px;
	background-color:#808080;
	position:absolute;
	top:7px;
	right:0px;
	transform: rotate(20deg);
}
header nav a:hover{
	color: #329637;
}

header .search.pc{
	background-color: #efefef;
	border-radius: 20px;
	margin-top: 6px;
}
header .search.pc input[type="submit"]{
	border: none;
	background-color: transparent;
	background-image: url('../img/ufb01/btn_search.png');
	background-size: 60%;
	width: 30px;
	height: 30px;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-position: center;
	margin-right: 5px;
}
header .search.pc input[type="submit"]:hover{
	opacity: .7;
	transition: .3s;
	cursor: pointer;
}
header .search.pc input[type="text"]{
	background-color: transparent;
	border: none;
	padding: 5px 0 5px 15px;
  font-size: 1.3rem;
  outline: none;
  color: #808080;
}
header .search.sp .search_box{
	display: none;
}
header .search.sp .search_btn{
	position: absolute;
  right: 67px;
  top: 8px;
  width: 40px;
  height: 40px;
	background-color: #efefef;
	background-image: url('../img/ufb01/btn_search.png');
	background-size: 60%;
  background-repeat: no-repeat;
  background-position: center;
	border-radius: 20px;
	cursor: pointer;
}
header .search.sp .search_btn.open{
	background-color: #c9db31;
	background-image: url('../img/ufb01/btn_search_f.png');
}
header .search.sp .search_box{
  position: absolute;
  top: 56px;
  left: 0px;
  background: rgb(230, 230, 230);
  width: 100%;
  padding: 10px;
}
header .search.sp .search_box input[type="text"]{
	border: none;
  padding: 10px 15px;
  border-radius: 5px;
  width: 100%;
  font-size: 1.4rem;
  outline: none;
  color: #808080;
}
header .search.sp .search_box input[type="submit"]{
  position: absolute;
  right: 15px;
  background-image: url('../img/ufb01/btn_search.png');
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center;
  width: 40px;
  height: 40px;
  border: none;
  background-color: transparent;
}

header#header.frameout{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
  }
}
header#header.framein{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}

/********************パンくず*******************/
.breadcrumb{
	margin-top: 20px;
	margin-bottom: 20px;
}
.breadcrumb ul.flex{
	justify-content: flex-start;
}
.breadcrumb ul li:not(:last-child){
	padding-right: 30px;
	position: relative;
}
.breadcrumb ul li:not(:last-child):after{
	content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin-top: -5px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.breadcrumb ul li a{
	text-decoration: underline;
	font-size: 1.6rem;
	vertical-align: top;
}

/********************フッター*******************/
.inqArea{
	border-top: 1px solid #b2b2b2;
	padding: 0;
}
.inqArea .inr.flex{
	max-width: 900px;
	justify-content: space-around;
}
.inqArea .inr.flex > div{
	width: 50%;
}
/*.inqArea .tel{
	border-right: 1px solid #b2b2b2;
	padding: 40px 15px 40px 0;
}*/
.inqArea .tel img{
	max-width: 330px;
}
/*
.inqArea .mail{
	padding: 40px 0px 40px 15px;
}
.inqArea .mail .btn{
	background-color: #ec6c00;
	padding: 12px 12px 12px 40px;
	border-radius: 30px;
	max-width: 300px;
	width: 300px;
	display: inline-block;
	margin: auto;
	color: #fff;
	position: relative;
}
.inqArea .mail .btn:hover{
	transition: .3s;
	opacity: .7;
}
.inqArea .mail .btn:before{
	content: '';
	display: block;
	background-image: url('../img/ufb01/ico_mail.png');
	background-repeat: no-repeat;
	background-size: contain;
	width: 22px;
	height: 17px;
	position: absolute;
	top: 18px;
	left: 43px;
}
*/
.inqArea p{
	font-size: 1.6rem;
}

.mb25 {
    margin-bottom: 25px;
}

.bold_ttl {
    font-size: 2.4rem!important;
    font-weight: bold;
    text-align: center;
}

.btn01 {
    padding: 12px;
    border: 1px solid;
    border-radius: 25px;
    max-width: 300px;
    margin: 0 auto;
	display: block;
}

.btn01:hover{
	background-color: #000;
	color: #fff;
	transition: .3s ease-out;
}

.bnrArea{
	background-color: #f2f2f2;
	padding: 50px 0;
}
.bnrArea .inr{
	max-width: 960px;
	padding: 0 15px;
	justify-content: center;
}
.bnrArea ul li{
	width: calc(100% / 4 - 5px);
	border: 1px solid #d3d3d3;
}
.bnrArea ul li:not(:last-child){
	margin-right: 5px;
}

@media screen and (max-width: 1024px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}

	html,
	.inr{
		min-width: 0;
	}
	header{
		height: 56px;
		padding: 0;
	}
	header div.header{
		/*width: 100vw;*/
		z-index: 5;
		height: 100%;
		/*background-color: #fff;*/
		position: relative;
	}
	header .inr{
		height: 100%;
	}
	header h1{
		max-width: 210px;
	}
	header h1 span{
		display: none;
	}
	header nav{
		position: fixed;
		top:56px;
		right: -280px;
		width:280px;
	  height: 100vh;
	  display: flex;
		flex-direction: column-reverse;
		justify-content: start;
		background-color: #339537;
		transition: .3s;
		z-index: 999;
	}
	header nav .scroll{
		overflow: auto;
	}
	header nav.open{
		transform: translate3d(-280px,0,0);
		justify-content: flex-end;
	}
	header nav ul{
		flex-direction: column;
	}
	header nav ul.main_nav li:not(:last-child),
	header nav ul.mini_nav li:not(:last-child){
		margin-right: 0;
		padding-right: 0;
	}
	header nav ul.main_nav li:not(:last-child):after,
	header nav ul.main_nav li:after{
			display: none;
	}
	header nav ul li{
		padding: 20px 15px;
		border-bottom: 1px solid #5fae61;
		width: 100%;
		position: relative;
		color: #fafaf2;
	}
	header nav ul.main_nav a{
		font-weight: lighter;
	}
	header nav ul li a{
		color: #fff;
		font-size: 14px;
	}
	header nav ul li a:after {
    content: '';
    position: absolute;
    right: 18px;
    top: 50%;
    width: 6px;
    height: 6px;
    margin-top: -4px;
    border-top: solid 1px currentColor;
    border-right: solid 1px currentColor;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
	}
	header nav ul li a:hover {
		color: currentColor;
		opacity: .7;
	}
	#overlay {
    width: 100%;
    height: 100vh;
    position: fixed;
    left: -100%;
    top: 0;
    z-index: 2;
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
    opacity: 0;
    background: rgba(0,0,0,.5);
	}
	#overlay.block{
		left: 0;
		opacity: 1;
	}
	.toggle {
		background: #329637;
		position: absolute;
		top: 0;
		right: 0;
		width: 56px;
		height: 56px;
		z-index: 3;
	}
	.toggle span {
		position: absolute;
		right: 0;
		left: 0;
		margin: auto;
  	display: block;
  	width: 25px;
  	height: 3px;
  	background-color: #fff;
    -webkit-transition: all 400ms;
		transition: all 400ms;
	}
	.toggle span:nth-child(1) {
	  	top: 19px;
	}
	.toggle span:nth-child(2) {
		top: 27px;
	}
	.toggle span:nth-child(3) {
	  	top: 35px;
	}
	.toggle.open{
		position: fixed;
	}
	.toggle.open span{
		background-color: #fff;
	}
	.toggle.open span:nth-child(1) {
	    background: transparent;
	}
	.toggle.open span:nth-child(2) {
		top: 26px;
		transform: rotate(-45deg);
	}
	.toggle.open span:nth-child(3) {
		top: 26px;
		transform: rotate(45deg);
	}
	.top_message{
		background-color: #322c2d;
		color: #fff;
		font-size: 11px;
		padding: 8px 0;
		text-align: center;
		margin-bottom: 20px;
	}
	main{
		padding-top: 56px;
	}
	footer{
		padding-top: 30px;
	}
	footer .inr{
		padding: 0;
	}
	footer .logo{
		max-width: 300px;
		width: 60vw;
		padding-left: 20px;
		margin-bottom: 30px;
	}
	footer .logo a{
		line-height: 0;
	}
	footer .ac > div{
		display: none;
		margin-top: 20px;
	}
	footer nav ul{
		border-top: 1px solid #fff;
	}
	footer nav ul li{
		position: relative;
		padding: 20px;
		margin: 0;
		border-bottom: 1px solid;
	}
	footer nav ul li:after{
		content: '';
    position: absolute;
    right: 18px;
    top: 50%;
    width: 6px;
    height: 6px;
    margin-top: -4px;
    border-top: solid 1px currentColor;
    border-right: solid 1px currentColor;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
	}
	footer nav ul li dl dt{
		color: #fff;
	}
	footer nav ul li dl dd{
		display: inline-block;
		padding: 5px 15px;
		margin: 0 10px 15px 0;
		background-color: #e0e0e0;
		border-radius: 20px;
	}
	footer nav ul li dl dd a{
		color: #322c2d;
	}

}

@media screen and (max-width: 1200px) {
	.container{
		width: 90%;
	}
}

@media screen and (max-width: 960px) {

}

.page_ttl {
	font-size: 240%;
	color: #fff;
	background: #329637;
	padding: 58px 0;
	text-align: center;
	font-weight: bold;
}

.page_ttl span {
	color: #fff;
	display: block;
	font-size: 16px;
	font-weight: lighter;
}

.hen{
	font-family: 'Antro Vectra', sans-serif;
	position: relative;
	color: #d5e5f2;
	font-size: 12rem;
	font-weight: bold;
	text-align: center;
	margin-top: 100px;
}

.hen span{
	position: absolute;
	left: 50%;
	bottom: 33%;
	transform: translate(-50%,0);
	text-align: center;
	letter-spacing: 1.6px;
	width: 100%;
}

.hjp{
	font-family: "vdl-penletter", sans-serif;
	font-weight: 100;
	color: #407094;
	font-size: 4.5rem;
	text-align: center;
	margin-bottom: 80px;
}

.main_mv{
	position: relative;
	margin-bottom: 100px;
}

.main_mv video{
	width: 100%;
}

.main_mv .gasrinnai{
	position: absolute;
	top: 3%;
	left: 10%;
}

.main_mv .gasrinnai img{
	width: 50vw;
}

.main_mv h3{
	position: absolute;
	bottom: 10%;
	left: 10%;
}

.main_mv h3 span{
	background-color: #ffffffa8;
	display: inline;
	font-size: 4vw;
	padding: 10px;
	padding-left: 20%;
	margin-left: -20%;
}

.main_mv .rinnai{
	position: absolute;
	bottom: -6%;
	right: 5%;
}

.main_mv .rinnai img{
	width: 20vw;
}

.main1_txt{
	margin-top: 30px;
}

.main1_ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 50px;
}

.main1_ul li{
	width: 30%;
}

.main1_ul li img{
	width: 100%;
	display: block;
	margin-bottom: 10px;
}

.main1_ul li span{
	background-color: #f3f4f5;
	text-align: center;
	width: 250px;
	display: block;
	padding: 0px 10px;
	margin-top: 10px;
}

.main1_ul li p{
	font-size: 1.6rem;
	margin-top: 10px;
}

.main2{
	background-color: #f1f6fa;
	padding: 80px 0 20px;
}

.main3{
	padding: 80px 0 20px;
}

.main4{
	background-color: #f1f6fa;
	padding: 80px 0 20px;
}

.main4_txt h4{
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 20px;
	z-index: 1;
	text-align: center;
}

.main4_txt h4 span{
	font-size: 2.4rem;
	font-weight: bold;
	position: relative;
	display: inline-block;
	z-index: 1;
}

.main4_txt h4 span::before{
	position: absolute;
	width: 100%;
	height: 10px;
	background-color: #ffd2d7;
	left: 0;
	bottom: 3px;
	content: "";
	z-index: -1;
}

.main4_box{
	background-color: #fff;
	border-radius: 20px;
	margin: 50px 0;
	padding: 50px;
}

.main4_box h4{
	font-family: 'Antro Vectra', sans-serif;
	color: #d5e5f2;
	font-size: 9rem;
	position: relative;
	line-height: 1;
}

.main4_box h4 span{
	font-family: sans-serif;
	color: #000;
	font-size: 2.2rem;
	position: absolute;
	top: 50%;
	left: 15%;
	transform: translate(0, -50%);
}

.main4_box ul{
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}

.main4_box p{
	font-size: 1.2rem;
}

.voice_box{
	background-color: #f1f6fa;
	border-radius: 20px;
	margin-bottom: 50px;
	padding: 50px;
	display: flex;
}

.voice_box .img{
	width: 15%;
	margin-right: 15px;
}

.voice_box div{
	flex:1;
}

.voice_box div h4{
	font-size: 3.0rem;
	font-family: "vdl-penletter", sans-serif;
	margin-bottom: 10px;
}

.contact{
	text-align: center;
	margin: 150px 0;
}

.contact p:first-of-type{
	font-size: 2.5rem;
	margin-bottom: 10px;
}

.contact p span{
	color: #ff97a6;
}

@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}
		to {
		transform: translateX(-100%);
	}
}
.scroll-infinity{
	margin-bottom: 100px;
}
.scroll-infinity__wrap {
	display: flex;
	overflow: hidden;
}
.scroll-infinity__list {
	display: flex;
	list-style: none;
	padding: 0
}
.scroll-infinity__list--left {
	animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
	width: calc(100vw / 3);
}
.scroll-infinity__item>img {
	width: 99%;
}

.osusume{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}

.osusume div:first-of-type{
	width: 60%;
}

.osusume img{
	display: block;
	margin-bottom: 20px;
}

.main6{
	background-color: #d5e5f2;
	padding: 20px 0 100px;
	margin-top: 100px;
}

.main6 .hen{
	color: #fff;
	margin-top: 50px;
}

.faq_box{
	margin-top: 30px;
	cursor: pointer;
}

.faq_box .q {
	background: url("../img/ufb01/ico_q_close.png") no-repeat;
	background-position: center left 30px;
	border-radius: 10px;
	background-color: #fff;
	padding: 20px 90px;
	position: relative;
}

.faq_box .q.show {
	background-color: #407094;
	background-image: url("../img/ufb01/ico_q.png");
	background-repeat: no-repeat;
	background-position: center left 30px;
	border-bottom: none;
	transition: all 0.3s;
	color: #fff;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.faq_box .a{
	display: none;
	background-color: #fff;
	border-top: none;
	padding: 40px 40px 40px 30px;
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
}

.faq_box .a div{
	display: flex;
}

.faq_box .a img{
	margin-bottom: 10px;
	margin-right: 20px;
	display: inline-block;
	height: fit-content;
	width: 40px;
	margin-top: -5px;
}

.faq_box .answer{
	display: inline-block;
}

.plus::before,.plus::after  {
	content: '';
	display: inline-block;
	width: 15px;
	height: 1px;
	background-color: #7AB8C6;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	transition: opacity 1s;
}

.plus::after {
	transform: translateY(-50%) rotate(90deg);
	transition: transform 1s;
}

.plus.show::before {
	opacity: 0;
}

.plus.show::after {
	transform: translateY(-50%) rotate(180deg);
	background-color: #fff;
}

.main7_box{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 100px;
	margin-top: 50px;
}

.main7_box .img{
	width: 20%;
	margin-right: 50px;
}

.main7_box .desc{
	flex: 1;
}

.main7_box h4{
	font-size: 2.0rem;
	margin-bottom: 20px;
}

.main7_box table{
	margin-bottom: 20px;
}

.main7_box tr{
	border-right: solid 1px #b6b8b8;
}

.main7_box th{
	border: solid 1px #b6b8b8;
	text-align: center;
	color: #407094;
	background-color: #f1f6fa;
	font-size: 1.5rem;
	padding: 10px;
}

.main7_box td{
	border-bottom: solid 1px #b6b8b8;
	border-left: solid 1px #b6b8b8;
	font-size: 1.5rem;
	padding: 15px;
}

.item_link{
	text-align: right;
	margin-bottom: 20px;
}

.item_link a{
	background-color: #407094;
	color: #fff;
	border-radius: 50px;
	padding: 10px 20px;
	border:solid 2px #407094;
	display: inline-block;
}

.item_link a:hover{
	background-color: #fff;
	color: #407094;
	transition: 0.3s;
}

.purchase img{
	width: auto;
	display: inline-block;
}

.purchase p:last-child{
	font-size: 50px;
	font-weight: bold;
	color: #ff657e;
	text-align: center;
	position: relative;
}

.purchase p:last-child::after{
	position: absolute;
	width: 85%;
	height: 20px;
	background-color: #d5e5f2;
	content: "";
	bottom: 10px;
	left: 7%;
	z-index: -1;
}

.purchase p:last-child span{
	font-size: 65px;
	font-weight: bold;
	color: #ff657e;
}

.img_txt{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 80px;
}

.img_txt .img{
	width: 58%;
}

.img_txt .img p{
	font-size: 1.2rem;
	margin-top: 10px;
}

.img_txt .txt{
	width: 38%;
}

.img_txt .txt h4{
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 20px;
	z-index: 1;
}

.img_txt .txt h4 span{
	font-size: 2.4rem;
	font-weight: bold;
	position: relative;
	display: inline-block;
	z-index: 1;
}

.img_txt .txt h4 span::before{
	position: absolute;
	width: 100%;
	height: 10px;
	background-color: #ffd2d7;
	left: 0;
	bottom: 3px;
	content: "";
	z-index: -1;
}

.img_txt.flex_reverse{
	flex-direction: row-reverse;
}

.btn_contact{
	text-align: center;
	margin: 100px 0;
	color: #fff;
}

.btn_contact a{
	color: #fff;
	background-color: #407094;
	border: solid 2px #407094;
	border-radius: 20px;
	width: 45%;
	display: inline-block;
	padding: 25px;
	font-size: 2.8rem;
	letter-spacing: 0.8rem;
}

.dli-chevron-right {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	width: 1em;
	height: 1em;
	border: 0.1em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateX(-25%) rotate(45deg);
	display: inline-block;
	margin-left: 20px;
	margin-top: -5px;
}

.btn_contact a:hover{
	background-color: #fff;
	color: #407094;
	transition: 0.3s;
}

.btn_contact a:hover .dli-chevron-right{
	color: #407094;
}

.table-container{
	overflow-x: auto;
	white-space: nowrap;
	display: block;
	width: 100%;
}

@media screen and (max-width: 1200px) {
	.purchase p:last-child{
		font-size: 4vw;
	}

	.purchase p:last-child span{
		font-size: 5vw;
	}

	.purchase p:last-child::after{
		width: 100%;
		left: 0;
	}
}

@media screen and (max-width: 960px) {
	.hen{
		font-size: 8rem;
		margin-top: 50px;
	}

	.hjp{
		font-size: 3rem;
	}

	.main1_ul li{
		width: 100%;
		margin-bottom: 40px;
	}

	.btn_contact{
		margin: 40px 0;
	}

	.btn_contact a{
		width: 100%;
		font-size: 1.8rem;
		padding: 20px;
	}

	.img_txt .img,
	.img_txt .txt{
		width: 100%;
	}

	.img_txt .txt{
		margin-top: 20px;
		text-align: center;
	}

	.img_txt .txt h4{
		text-align: center;
	}

	.img_txt .txt h4,
	.img_txt .txt h4 span,
	.main4_txt h4,
	.main4_txt h4 span{
		font-size: 2rem;
	}

	.main4_box h4{
		font-size: 5rem;
	}

	.main4_box h4 span{
		font-size: 1.8rem;
		left: 15%;
	}

	.main_mv .gasrinnai{
		left: 5%;
	}
	.main_mv h3{
		left: 5%;
		line-height: 2.5;
	}

	.main_mv .rinnai{
		right: 4%;
	}
}

@media screen and (max-width:599px){
	*{
		font-size: 1.4rem;
	}

	.breadcrumb ul li,
	.breadcrumb ul li a{
		font-size: 1.4rem;
	}

	.inqArea .inr.flex {
        flex-direction: column;
    }

	.inqArea .inr.flex > div{
		width: 100%;
	}

	.ps{
		font-size: 1.4rem!important;
	}

	.bnrArea .flex {
        justify-content: flex-start;
    }

	.bnrArea ul li:nth-child(odd) {
        margin-right: 15px;
    }

	.bnrArea ul li {
        max-width: 225px;
        width: calc(100% / 2 - 10px);
        margin-bottom: 15px;
    }

	.inqArea .tel {
        border-right: none;
        border-bottom: 1px solid #b2b2b2;
    }

	.main4_box{
		padding: 20px;
	}

	.voice_box{
		padding: 20px;
	}

	.voice_box div h4{
		font-size: 2.5rem;
	}

	.osusume div:first-of-type{
		width: 100%;
		margin-bottom: 40px;
	}

	.main7_box .img{
		width: 100%;
		text-align: center;
		margin-right: 0;
	}

	.main7_box .desc{
		width: 100%;
		flex: unset;
	}

	.item_link{
		text-align: center;
	}

	.item_link a{
		padding: 20px;
		width: 100%;
		display: block;
	}

	.contact p:first-of-type{
		font-size: 2rem;
	}

	.contact p:last-of-type,
	.contact p:last-of-type span{
		font-size: 1.6rem;
	}

	.main1_ul li h4{
		text-align: center;
	}

	.main1_ul li span{
		margin: 10px auto;
	}

	.purchase p:last-child{
		font-size: 5vw;
	}

	.purchase p:last-child span{
		font-size: 6vw;
	}

	.purchase p:last-child::after{
		width: 100%;
		left: 0;
		bottom: 0;
	}

	.main_mv{
		margin-bottom: 40px;
	}
}