@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Roboto:wght@400;500;600;700&display=swap');

/* Common
-----------------------------------*/
*{
	box-sizing: border-box;
}
html{
	height: 100%;
}
body{
	font-family: 'Zen Kaku Gothic New', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	line-height: 1.8;
	color: #222;
	font-size: 14px;
	position: relative;
}
body.active:after{
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 9990;
	background: rgba(0,0,0,0.6);
}
a{
	color: inherit;
	text-decoration: none;
}
img,svg{
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
input,select,textarea,label,button{
	font-family: 'Zen Kaku Gothic New', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.inner1120{
	max-width: 1160px;
	width: 100%;
	padding: 0 20px;
	margin: 0 auto;
}
.inner960{
	max-width: 1000px;
	width: 100%;
	padding: 0 20px;
	margin: 0 auto;
}
.tit{
	font-size: 16px;
	font-weight: 600;
	line-height: 180%;
	padding-top: 12px;
	position: relative;
	font-family: 'Roboto', sans-serif;
	margin-bottom: 32px;
}
.tit:before{
	content: "";
	width: 24px;
	height: 4px;
	background: #F43F3F;
	position: absolute;
	top: 0;
	left: 0;
}
.fadeUp{
	opacity: 0;
	transform: translate3d(0, 15px, 0);
	transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}
.fadeUp.is-inview{
	opacity: 1;
	transform: none;
}
.pc{
	display: block;
}
.sp{
	display: none;
}

/* Header
-----------------------------------*/
header{
	background: #FFF;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
header .box{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 52px;
}
header .box .logos{
	max-width: 120px;
	width: 100%;
	font-size: 20px;
	font-weight: bold;
	padding-left: 20px;
}
header .box nav{
	display: flex;
	align-items: center;
	max-width: 752px;
	width: 100%;
}
header .box nav ul{
	display: flex;
	align-items: center;
}
header .box nav ul li{
	font-size: 14px;
	line-height: 180%;
	color: #333;
	margin-right: 56px;
}
header .box nav ul li a{
	display: block;
}
header .box nav .btn{
	max-width: 188px;
	width: 100%;
	font-size: 14px;
}
header .box nav .btn a{
	display: block;
	line-height: 52px;
	background: #F43F3F;
	color: #fff;
	text-align: center;
}

/* MainVisual
-----------------------------------*/
#mainVisual{
	aspect-ratio: 1440 / 810;
	margin-top: 52px;
	position: relative;
	z-index: 1;
	overflow: hidden;
	min-height: 810px;
}
#mainVisual video{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
#mainVisual:after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url(../images/ico_mainvisual_dots.png);
	z-index: 1;
}
#mainVisual .bloc{
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
#mainVisual .bloc .box{
	max-width: 540px;
	width: 100%;
}
#mainVisual .bloc .box h1{
	font-weight: bold;
	font-size: 36px;
	line-height: 160%;
	margin-bottom: 24px;
	color: #FFF;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.6);
}
#mainVisual .bloc .box .txt{
	font-weight: 400;
	font-size: 16px;
	line-height: 180%;
	margin-bottom: 56px;
	color: #FFF;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.6);
}
#mainVisual .bloc .box .ico_btn .btn{
	max-width: 254px;
	width: 100%;
	text-align: center;
	margin-bottom: 52px;
}
#mainVisual .bloc .box .ico_btn .btn a{
	line-height: 53px;
	width: 100%;
	font-size: 18px;
	font-weight: bold;
	color: #FFF;
	background: #F43F3F;
	border-radius: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
#mainVisual .bloc .box .ico_btn .ico{
	max-width: 160px;
	width: 100%;
}

/* Solution
-----------------------------------*/
#solution{
	background-image: url(../images/bg_solution.png);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	position: relative;
	overflow: hidden;
	padding: 120px 40px 250px 40px;
	z-index: 1;
	position: relative;
}
#solution .tit{
	color: #FFF;
}
#solution .bloc{
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
}
#solution .eyebrow{
	margin-bottom: 32px;
}
#solution .box .txt{
	max-width: 520px;
	width: 100%;
}
#solution .box .txt h3{
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 32px;
	line-height: 1.6;
	color: #fff;
	width: 100%;
	margin-bottom: 48px;
}
#solution .box .txt p{
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 180%;
	color: #fff;
	max-width: 520px;
	width: 100%;
}
#solution .box .txt p span{
	font-weight: 500;
}
#solution .box .image{
	/*max-width: 600px;*/
	max-width: 41.6667vw;
	width: 100%;
	margin: 0 40px;
	right: 0;
	top: 190px;
	position: absolute;
}

/* Benefits
-----------------------------------*/
#benefits .badge{
	max-width: 403px;
	width: 100%;
	border-radius: 24px;
	overflow: hidden;
	display: flex;
	align-items: center;
	border: 1px solid #f43f3f;
	margin-bottom: 40px;
	background: #fff;
}
#benefits .badge h2{
	max-width: 93px;
	width: 100%;
	background: #F43F3F;
	color: #fff;
	line-height: 45px;
	vertical-align: middle;
	font-size: 12px;
	text-align: center;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
}
#benefits .badge h2 span{
	font-size: 20px;
	margin-left: 8px;
}
#benefits .badge p{
	margin-left: 16px;
	font-size: 18px;
	color: #F43F3F;
}

/* Benefit01
-----------------------------------*/
#benefit01{
	padding: 80px 0;
}
#benefit01 h3{
	font-size: 32px;
	line-height: 180%;
	font-weight: 500;
	margin-bottom: 64px;
}
#benefit01 h4{
	font-size: 28px;
	font-weight: 500;
	line-height: 160%;
	margin-bottom: 24px;
}
#benefit01 h4 span{
	color: #F43F3F;
}
#benefit01 ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0 20px;
	margin-bottom: 64px;
}
#benefit01 ul li{
	max-width: 225px;
	width: 100%;
}
#benefit01 ul li h5{
	font-size: 16px;
	line-height: 54px;
	font-weight: bold;
	text-align: center;
	color: #FFF;
	background: #C8A451;
}
#benefit01 ul li .box01{
	border: 1px solid #ccc;
	padding: 12px 16px;
	min-height: 232px;
}
#benefit01 ul li .box01 .image{
	overflow: hidden;
	border-radius: 8px;
}
#benefit01 ul li .box01 .image img{
	width: 100%;
}
#benefit01 ul li .box01 .p01{
	font-size: 16px;
	line-height: 140%;
	margin-bottom: 8px;
	text-align: center;
	font-weight: bold;
}
#benefit01 ul li .box01 .logo01{
	padding: 0 34px;
	margin-bottom: 10px;
}
#benefit01 ul li .box01 .row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	/*flex-wrap: wrap;*/
	width: 100%;
	margin-bottom: 8px;
}
#benefit01 ul li .box01 .naillit{
	color: #d65980;
	font-weight: 700;
	font-size: 11px;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
}
#benefit01 ul li .box01 .eyely{
	color: #40a3b2;
	font-weight: 700;
	font-size: 11px;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
}
#benefit01 ul li .box01 .row .logo02 img{
	width: 84px;
	height: 28px;
	object-fit: cover;
}
#benefit01 ul li .box01 .p02{
	font-family: 'Roboto', sans-serif;
	font-weight: bold;
	font-size: 24px;
	line-height: 140%;
	margin-bottom: 15px;
	color: #ff04ab;
	text-align: center;
}
#benefit01 ul li .box01 .p03{
	font-weight: bold;
	font-size: 28px;
	line-height: 140%;
	margin-bottom: 6px;
	color: #333;
	text-align: center;
}
#benefit01 .box02{
	border: 2px solid #f43f3f;
	border-radius: 16px;
	justify-content: space-between;
	display: flex;
	align-items: center;
	height: 180px;
	padding: 32px;
}
#benefit01 .box02 h6{
	max-width: 400px;
	width: 100%;
	color: #F43F3F;
	font-size: 24px;
	line-height: 180%;
}
#benefit01 .box02 p{
	max-width: 476px;
	width: 100%;
	font-size: 16px;
	line-height: 180%;
	font-weight: 400;
}
#benefit01 .box02 p span{
	font-weight: 500;
}

/* Benefit02
-----------------------------------*/
#benefit02{
	padding: 80px 0;
	background: #F7F8FA;
}
#benefit02 h3{
	font-size: 28px;
	font-weight: 500;
	line-height: 180%;
	margin-bottom: 32px;
}
#benefit02 h3 span{
	color: #F43F3F;
}
#benefit02 .box01{
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 16px;
	padding: 40px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 64px;
}
#benefit02 .box01 .circle{
	width: 248px;
	height: 248px;
	border-radius: 200px;
	background: #f43f3f;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px;
	flex-shrink: 0;
	box-sizing: border-box;
	margin-right: 32px;
}
#benefit02 .box01 .circle p{
	font-weight: bold;
	font-size: 24px;
	line-height: 140%;
	color: #fff;
	text-align: center;
}
#benefit02 .box01 .txt{
	max-width: 416px;
	width: 100%;
}
#benefit02 .box01 .txt h4{
	font-weight: 500;
	font-size: 20px;
	line-height: 160%;
	margin-bottom: 20px;
	color: #111;
}
#benefit02 .box01 .txt h4 span{
	color: #F43F3F;
}
#benefit02 .box01 .txt p{
	font-weight: 400;
	font-size: 14px;
	line-height: 160%;
	color: #333;
}
#benefit02 .box01 .image{
	max-width: 160px;
	width: 100%;
}
#benefit02 .box02{
	margin-bottom: 64px;
}
#benefit02 .box02 dl{
	margin-bottom: 40px;
	padding-left: 24px;
	border-left: 4px solid #f43f3f;
}
#benefit02 .box02 dl:last-child{
	margin-bottom: 0;
}
#benefit02 .box02 dl dt{
	display: flex;
	align-items: center;
	font-size: 20px;
	line-height: 160%;
	color: #F43F3F;
	font-family: 'Roboto', 'Zen Kaku Gothic New', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;;
	margin-bottom: 16px;
}
#benefit02 .box02 dl dt span{
	font-weight: bold;
	font-size: 10px;
	line-height: 160%;
	padding-left: 36px;
	margin-left: 16px;
	position: relative;
}
#benefit02 .box02 dl dt span:before{
	content: "";
	width: 20px;
	height: 1px;
	background: #F43F3F;
	position: absolute;
	left: 0;
	top: 50%;
}
#benefit02 .box02 dl dd ul,
#benefit02 .box02 dl dd ol{
	font-size: 20px;
	line-height: 160%;
	font-weight: 500;
}
#benefit02 .box02 dl dd ul li,
#benefit02 .box02 dl dd ol li{
	margin-bottom: 20px;
}
#benefit02 .box02 dl dd ul li:last-child,
#benefit02 .box02 dl dd ol li:last-child{
	margin-bottom: 0;
}
#benefit02 .box02 dl dd ol span{
	margin-right: 8px;
}
#benefit02 .box02 dl dd .notice{
	margin-top: 8px;
	font-size: 14px;
	line-height: 160%;
	font-weight: 400;
}
#benefit02 .box03 ul{
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	margin-bottom: 24px;
}
#benefit02 .box03 ul:before{
	content: "";
	background-image: url(../images/ico_benefit02.png);
	background-size: cover;
	width: 36px;
	aspect-ratio: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#benefit02 .box03 ul li{
	max-width: 430px;
	width: 100%;
}
#benefit02 .box03 ul li h4{
	line-height: 32px;
	font-size: 20px;
	font-weight: bold;
	color: #FFF;
	padding: 10px 24px;
}
#benefit02 .box03 ul li:nth-child(1) h4{
	background: #1F3A5F;
}
#benefit02 .box03 ul li:nth-child(2) h4{
	background: #F43F3F;
}
#benefit02 .box03 ul li .box{
	background: #FFF;
	border: 1px solid #ccc;
	border-top: none;
	padding: 24px 32px;
	min-height: 245px;
}
#benefit02 .box03 ul li .box .p01{
	font-size: 24px;
	line-height: 160%;
	color: #1F3A5F;
	margin-bottom: 4px;
}
#benefit02 .box03 ul li .box .p02{
	font-size: 16px;
	font-weight: 400;
	line-height: 160%;
	display: flex;
	align-items: center;
}
#benefit02 .box03 ul li .box .p02 span{
	max-width: 12px;
	width: 100%;
	margin-right: 8px;
	display: block;
	line-height: 1;
}
#benefit02 .box03 ul li .box .p02.mb20{
	margin-bottom: 20px;
}
#benefit02 .box03 ul li .box .logo{
	padding: 0 67px;
	margin-bottom: 32px;
}
#benefit02 .box03 ul li .box .p03{
	font-size: 16px;
	line-height: 160%;
	font-weight: 400;
}
#benefit02 .box03 h5{
	text-align: center;
	font-weight: 500;
	font-size: 28px;
	line-height: 160%;
}

/* Benefit03-04
-----------------------------------*/
#benefit03-04{
	padding: 80px 0;
}
#benefit03-04 ul{
	display: flex;
	justify-content: space-between;
}
#benefit03-04 ul li{
	max-width: 456px;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 16px;
	padding: 40px 32px;
}
#benefit03-04 ul li .badge{
	max-width: 295px;
	width: 100%;
	margin-bottom: 24px;
}
#benefit03-04 ul li h3{
	font-size: 24px;
	line-height: 160%;
	margin-bottom: 16px;
}
#benefit03-04 ul li .txt01{
	font-size: 16px;
	font-weight: 400;
	line-height: 160%;
	margin-bottom: 24px;
}
#benefit03-04 ul li .image01{
	margin-bottom: 8px;
}
#benefit03-04 ul li .txt02{
	font-size: 14px;
	font-weight: 400;
	line-height: 160%;
}
#benefit03-04 ul li .box{
	background: #ECFBFB;
	padding: 24px;
	border-radius: 20px;
	display: flex;
	align-items: center;
	margin-bottom: 24px;
}
#benefit03-04 ul li .box .ico{
	margin-right: 16px;
	max-width: 80px;
	width: 100%;
}
#benefit03-04 ul li .box .txt03{
	font-size: 16px;
	line-height: 160%;
	font-weight: 400;
}
#benefit03-04 ul li .image02{
	max-width: 204px;
	width: 100%;
	margin: 0 auto 24px auto;
}
#benefit03-04 ul li .txt04{
	font-size: 12px;
	font-weight: 400;
	line-height: 140%;
}

/* Benefit05
-----------------------------------*/
#benefit05{
	background: #F7F8FA;
	padding: 80px 0;
}
#benefit05 h3{
	font-size: 28px;
	font-weight: 500;
	line-height: 160%;
	margin-bottom: 48px;
}
#benefit05 .txt01{
	font-size: 16px;
	line-height: 180%;
	margin-bottom: 48px;
	font-weight: 400;
}
#benefit05 .image01{
	margin-bottom: 32px;
}
#benefit05 ul{
	display: flex;
	flex-wrap: wrap;
	gap: 24px 48px;
	width: 100%;
}
#benefit05 ul li{
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 16px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1 1 456px;
	min-width: 330px;
	max-width: 456px;
	box-sizing: border-box;
}
#benefit05 ul li .title{
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	width: 100%;
}
#benefit05 ul li .title .ico{
	width: 80px;
	flex-shrink: 0;
}
#benefit05 ul li .title .ico img{
	width: 80px;
	height: 80px;
	object-fit: contain;
}
#benefit05 ul li .title .txt{
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
	min-width: 150px;
}
#benefit05 ul li .title .txt h4{
	font-weight: 500;
	font-size: 16px;
	line-height: 1.4;
	color: #111;
}
#benefit05 ul li .title .txt p{
	font-weight: 500;
	font-size: 20px;
	line-height: 1.4;
	color: #111;
}
#benefit05 ul li .desc{
	font-weight: 400;
	font-size: 14px;
	line-height: 1.6;
	color: #333;
	width: 100%;
}
#benefit05 ul li .desc_list{
	font-weight: 500;
}

/* Quality
-----------------------------------*/
#quality{
	background: #fff;
	padding: 80px 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
#quality{
	padding: 80px 0;
}
#quality h3{
	font-size: 28px;
	margin-bottom: 24px;
	font-weight: 500;
	line-height: 160%;
}
#quality .txt01{
	font-weight: 400;
	font-size: 16px;
	line-height: 180%;
	margin-bottom: 48px;
}
#quality h4{
	font-size: 20px;
	line-height: 180%;
	margin-bottom: 32px;
}
#quality .list01{
	display: flex;
	justify-content: space-between;
	margin-bottom: 48px;
}
#quality .list01 li{
	max-width: 456px;
	width: 100%;
}
#quality .txt02{
	font-size: 16px;
	line-height: 180%;
	font-weight: 400;
	margin-bottom: 32px;
}
#quality .list02{
	display: flex;
	justify-content: space-between;
}
#quality .list02 li{
	max-width: 456px;
	width: 100%;
}
#quality .list02 li h5{
	font-size: 14px;
	font-weight: 400;
	line-height: 160%;
	margin-bottom: 20px;
}

/* Plan
-----------------------------------*/
#plan{
	background: #F7F8FA;
	padding: 80px 0;
}
#plan h3{
	font-size: 28px;
	margin-bottom: 24px;
	line-height: 160%;
}
#plan .txt01{
	font-size: 16px;
	line-height: 180%;
	margin-bottom: 48px;
	font-weight: 400;
}
#plan ul{
	display: flex;
	justify-content: space-between;
	margin-bottom: 32px;
}
#plan ul li{
	max-width: 456px;
	width: 100%;
}
#plan ul li h4{
	font-size: 20px;
	line-height: 140%;
	margin-bottom: 16px;
}
#plan table{
	width: 100%;
	border-collapse: collapse;
}
#plan table th,
#plan table td{
	border: 1px solid #ccc;
	padding: 12px 24px;
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
}
#plan table th{
	background: #666;
	color: #fff;
	font-weight: 700;
}
#plan table td{
	background: #fff;
	font-weight: 500;
	color: #333;
}
#plan table td:first-child{
	background: #e3e3e3;
}

/* Message
-----------------------------------*/
#message{
	padding: 80px 0;
	background-image: url(../images/bg_message.png);
	background-size: cover;
	background-repeat: no-repeat;
}
#message .box{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#message .box .image{
	max-width: 560px;
	width: 100%;
}
#message .box .txt{
	max-width: 504px;
	width: 100%;
}
#message .box .txt h2{
	font-size: 36px;
	line-height: 160%;
	margin-bottom: 56px;
}
#message .box .txt h3{
	font-size: 20px;
	line-height: 160%;
	margin-bottom: 20px;
}
#message .box .txt p{
	font-size: 16px;
	font-weight: 400;
	line-height: 200%;
}

/* Company
-----------------------------------*/
#company{
	padding: 80px 0;
}
#company h2{
	font-size: 20px;
	line-height: 160%;
	padding-bottom: 8px;
	font-weight: bold;
	border-bottom: 1px solid #ccc;
	margin-bottom: 48px;
}
#company .box{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 48px;
}
#company .box .image01{
	max-width: 360px;
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
}
#company .box table{
	max-width: 552px;
	width: 100%;
}
#company .box table th,
#company .box table td{
	text-align: left;
}
#company .box table tbody tr th,
#company .box table tbody tr td{
	padding: 25px 0;
	line-height: 23px;
	position: relative;
	vertical-align: middle;
}
#company .box table tbody tr:first-child th,
#company .box table tbody tr:first-child td{
	padding-top: 0;
}
#company .box table tbody tr th:after,
#company .box table tbody tr td:after{
	content: "";
	width: 100%;
	height: 1px;
	background-size: 4px 1px;
	background-image: linear-gradient(to right, #000, #000 2px, transparent 2px, transparent 4px);
	background-repeat: repeat-x;
	position: absolute;
	bottom: 0;
	left: 0;
}
#company .box table tbody tr th{
	font-weight: 500;
	font-size: 19px;
	width: 119px;
}
#company .box table tbody tr td{
	font-size: 15px;
	font-weight: 400;
}
#company .box table tbody tr td span{
	font-size: 13px;
}
#company .box table tbody tr:last-child th,
#company .box table tbody tr:last-child td{
	vertical-align: top;
	padding-bottom: 0;
	margin-bottom: 0;
}
#company .box table tbody tr:last-child th:after,
#company .box table tbody tr:last-child td:after{
	display: none;
}
#company .box table tbody tr:last-child td{
	position: relative;
}
#company .image02{
	margin-bottom: 48px;
}
#company h3{
	font-size: 20px;
	line-height: 160%;
	padding-bottom: 8px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 48px;
}

/* Contact
-----------------------------------*/
#contact{
	background: #f7f8fa;
	padding: 64px 40px;
	box-sizing: border-box;
}
#contact h2{
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 28px;
	line-height: 1.6;
	color: #111;
	text-align: center;
	width: 100%;
	margin-bottom: 20px;
}
#contact .txt{
	font-weight: 400;
	text-align: center;
	font-size: 16px;
	line-height: 180%;
	margin-bottom: 32px;
}
#contact .box{
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}
#contact #mailformpro{
	text-align: center;
}
#contact table{
	width: 100%;
	margin-bottom: 40px;
}
#contact table th,
#contact table td{
	border: 1px solid #ccc;
	padding: 15px;
	text-align: left;
	vertical-align: middle;
	font-size: 13px;
	font-weight: 500;
}
#contact table th{
	background: #ececec;
	width: 160px;
}
#contact table th span{
	color: #d90000;
	padding-left: 3px;
}
#contact table td input,
#contact table td textarea{
	width: 100%;
	font-size: 14px;
	padding: 5px;
	box-shadow: none;
}
#contact table td a{
	text-decoration: underline;
}
#contact table td label{
	width: max-content;
	display: flex;
	align-items: center;
	font-weight: bold;
}
#contact table td input[type="checkbox"]{
	width: auto;
	margin-right: 5px;
}
#contact table td textarea{
	min-height: 200px;
}
#contact table td div.mfp_err{
	padding-left: 0;
	background: none;
}
#contact .mfp_element_submit,
#contact .mfp_element_reset,
#contact .mfp_element_button,
#contact button.mfp_next,
#contact button.mfp_prev{
	text-shadow: none;
	box-shadow: none;
	background: #111;
	border: 2px solid #111;
	color: #FFF;
	width: 400px;
	margin: 0 auto;
	padding: 10px;
	transition: color 0.2s, background 0.2s;
}
#contact .mfp_element_button{
	max-width: 290px;
}
#contact .mfp_element_submit:hover,
#contact .mfp_element_reset:hover,
#contact .mfp_element_button:hover,
#contact button.mfp_next:hover,
#contact button.mfp_prev:hover{
	background: #FFF;
	color: #111;
}
#contact div#mfp_phase_confirm h4{
	font-size: 22px;
	line-height: 36px;
	margin-bottom: 20px;
}
#contact .thanks{
	text-align: left;
	font-size: 14px;
	line-height: 24px;
}

/* Footer
-----------------------------------*/
footer{
	padding: 20px 0 64px 0;
}
footer ul{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px;
	gap: 0 56px;
}
footer ul li{
	font-size: 14px;
	font-weight: 400;
	line-height: 180%;
}
footer .logo{
	text-align: center;
	max-width: 150px;
	width: 100%;
	margin: 0 auto 40px auto;
	font-size: 20px;
	font-weight: bold;
}
footer .ftr_privacy{
	font-size: 12px;
	font-weight: 400;
	line-height: 180%;
	color: #666;
	margin-bottom: 40px;
	text-align: center;
}
footer .ftr_copy{
	font-size: 12px;
	line-height: 180%;
	font-weight: 300;
	color: #666;
	text-align: center;
}

/* thanks
-----------------------------------*/
#thanks{
	margin-top: 52px;
	padding: 120px 0;
}
#thanks h2{
	font-size: 28px;
	margin-bottom: 24px;
	font-weight: 500;
	line-height: 160%;
}
#thanks .txt{
	font-size: 16px;
	line-height: 180%;
	margin-bottom: 48px;
	font-weight: 400;
}

/* 1024px以下の場合
-----------------------------------*/
@media screen and (max-width: 1024px){
	html,
	body{
		overflow-x: hidden;
	}
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	.inner960,
	.inner1120{
		padding: 0 5.1282vw;
	}
	.tit{
		font-size: 4.1026vw;
		padding-top: 3.0769vw;
		margin-bottom: 8.2051vw;
	}
	.tit:before{
		width: 6.1538vw;
		height: 1.0256vw;
	}


	/* Header
	-----------------------------------*/
	header .box{
		height: 13.3333vw;
	}
	header .box .logos{
		/*width: 100%;*/
		max-width: 30.7692vw;
		font-size: 5.1282vw;
		padding-left: 5.1282vw;
	}
	header .box .logos img{
		/*width: 100%;*/
		height: 13.3333vw;
	}
	header .box nav.pc{
		display: none;
	}
	header .box .sp_btn{
		display: flex;
		align-items: center;
		height: 100%;
		gap: 2.0513vw;
	}
	header .box .sp_btn .btn{
		max-width: 33.8462vw;
		width: 100%;
	}
	header .box .sp_btn .btn a{
		display: block;
		line-height: 9.4872vw;
		background: #F43F3F;
		color: #fff;
		text-align: center;
		white-space: nowrap;
		font-size: 3.5897vw;
		font-weight: bold;
		border-radius: 6.1538vw;
		padding: 0 6.1538vw;
	}
	header .box .sp_btn #hbg_btn{
		width: 13.3333vw;
		height: 13.3333vw;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		background: #fff;
		border: none;
		padding: 0;
	}
	header .box .sp_btn #hbg_btn span{
		display: block;
		width: 7.1795vw;
		height: 0.5128vw;
		background: #888;
		margin-bottom: 2.0513vw;
		transition: transform 0.2s;
	}
	header .box .sp_btn #hbg_btn span:last-child{
		margin-bottom: 0;
	}
	header .box .sp_btn #hbg_btn.active{
		background: #665454;
	}
	header .box .sp_btn #hbg_btn.active span{
		background: #FFF;
	}
	header .box .sp_btn #hbg_btn.active span:nth-child(1){
		transform: rotate(45deg);
	}
	header .box .sp_btn #hbg_btn.active span:nth-child(2){
		display: none;
	}
	header .box .sp_btn #hbg_btn.active span:nth-child(3){
		margin-top: -2.5641vw;
		transform: rotate(-45deg);
	}
	#gNav_sp{
		position: fixed;
		top: 13.3333vw;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 10000;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		overflow-y: auto;
		transform: translateX(100%);
		transition: transform .3s;
		pointer-events: none;
	}
	#gNav_sp.is-show{
		transform: translateX(0);
		pointer-events: auto;
	}
	#gnav_close_btn span{
		position: absolute;
		top: 50%;
		left: 50%;
		width: 0.4103vw;
		height: 8.2885vw;
		background: #fff;
	}
	#gnav_close_btn span:nth-child(1){
		transform: translate(-50%, -50%) rotate(45deg);
	}
	#gnav_close_btn span:nth-child(2){
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	#gNav_sp .gnav_body{
		background: #fff;
		max-width: 82.0513vw;
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 14.3590vw;
		padding: 12.3077vw 8.2051vw;
	}
	#gNav_sp .gnav_body ul{
		display: flex;
		flex-direction: column;
		gap: 7.1795vw;
		width: 100%;
	}
	#gNav_sp .gnav_body ul li a{
		display: block;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 500;
		font-size: 4.1026vw;
		line-height: 1.8;
		color: #333;
		white-space: nowrap;
	}
	#gNav_sp .gnav_body .btn a{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 4.1026vw;
		width: 100%;
		background: #f43f3f;
		color: #fff;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: bold;
		font-size: 4.1026vw;
		line-height: 1.6;
		border-radius: 10.2564vw;
		padding: 3.0769vw 4.1026vw 3.0769vw 12.3077vw;
		white-space: nowrap;
	}
	#gNav_sp .gnav_body .btn a img{
		width: 3.5897vw;
		height: 4.1026vw;
	}
	#gNav_sp .gnav_bottom{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 8.2051vw;
		width: 100%;
	}
	#gNav_sp .gnav_bottom .gnav_ftr{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 6.1538vw;
		width: 100%;
	}
	#gNav_sp .gnav_bottom .gnav_ftr .logo{
		max-width: 38.4615vw;
		font-size: 5.1282vw;
		font-weight: bold;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#gNav_sp .gnav_bottom .gnav_ftr .logo img{
		width: auto;
		max-width: 100%;
	}
	#gNav_sp .gnav_bottom .gnav_ftr .privacy{
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 400;
		font-size: 3.0769vw;
		line-height: 1.8;
		color: #666;
		white-space: nowrap;
	}
	#gNav_sp .gnav_bottom .copy{
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 300;
		font-size: 3.0769vw;
		line-height: 1.8;
		color: #666;
		white-space: nowrap;
	}


	/* MainVisual
	-----------------------------------*/
	#mainVisual{
		aspect-ratio: unset;
		min-height: 0;
		margin-top: 13.3333vw;
	}
	#mainVisual video{
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#mainVisual:after{
		background-size: cover;
	}
	#mainVisual .bloc{
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: center;
		gap: 10.2564vw;
		padding: 0 5.1282vw 10.2564vw;
		height: auto;
		min-height: 203.0769vw;
	}
	#mainVisual .bloc .box{
		max-width: none;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 5.1282vw;
	}
	#mainVisual .bloc .box h1{
		font-size: 7.6923vw;
		line-height: 1.4;
		margin-bottom: 0;
	}
	#mainVisual .bloc .box .txt{
		font-size: 3.5897vw;
		line-height: 1.8;
		margin-bottom: 0;
	}
	#mainVisual .bloc .box .ico_btn{
		width: 100%;
		display: flex;
		flex-direction: column;
	}
	#mainVisual .bloc .box .ico_btn .btn{
		order: 2;
		max-width: none;
		width: fit-content;
		margin-bottom: 0;
		margin: 0 auto;
	}
	#mainVisual .bloc .box .ico_btn .btn a{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 4.1026vw;
		width: auto;
		line-height: 1.6;
		font-size: 4.6154vw;
		border-radius: 10.2564vw;
		padding: 3.0769vw 4.1026vw 3.0769vw 7.1795vw;
	}
	#mainVisual .bloc .box .ico_btn .btn a img{
		width: 3.5897vw;
		height: 4.1026vw;
	}
	#mainVisual .bloc .box .ico_btn .ico{
		order: 1;
		width: 28.7179vw;
		margin-bottom: 10.2564vw;
	}


	/* Solution
	-----------------------------------*/
	#solution{
		background-image: url(../images/bg_solution_sp.png);
		background-size: cover;
		background-position: center bottom;
		padding: 12.3077vw 5.1282vw;
	}
	#solution .tit{
		margin-bottom: 6.1538vw;
	}
	#solution .bloc{
		max-width: none;
	}
	#solution .box{
		display: flex;
		flex-direction: column;
	}
	#solution .box .txt{
		max-width: none;
	}
	#solution .box .txt h3{
		font-size: 7.1795vw;
		line-height: 1.6;
		margin-bottom: 7.1795vw;
	}
	#solution .box .txt p{
		font-size: 4.1026vw;
		line-height: 1.6;
		max-width: none;
		margin-bottom: 7.1795vw;
	}
	#solution .box .image{
		position: static;
		max-width: none;
		margin: 0;
		aspect-ratio: 600 / 377;
	}
	#solution .box .image img{
		width: 100%;
		height: 100%;
		object-fit: contain;
	}


	/* Benefits
	-----------------------------------*/
	#benefits .badge{
		max-width: none;
		width: 100%;
		border-radius: 6.1538vw;
		margin-bottom: 6.1538vw;
	}
	#benefits .badge h2{
		max-width: 20vw;
		width: auto;
		flex-shrink: 0;
		line-height: 11.2821vw;
		font-size: 3.0769vw;
		padding: 0 3.0769vw;
	}
	#benefits .badge h2 span{
		font-size: 3.5897vw;
		margin-left: 1.0256vw;
	}
	#benefits .badge p{
		margin-left: 4.1026vw;
		font-size: 4.1026vw;
	}


	/* Benefit01
	-----------------------------------*/
	#benefit01{
		padding: 12.3077vw 0;
	}
	#benefit01 h3{
		font-size: 7.1795vw;
		line-height: 1.6;
		margin-bottom: 6.1538vw;
	}
	#benefit01 h4{
		font-size: 4.6154vw;
		line-height: 1.6;
		margin-bottom: 8.2051vw;
	}
	#benefit01 ul{
		flex-wrap: wrap;
		gap: 5.1282vw;
		margin-bottom: 6.1538vw;
	}
	#benefit01 ul li{
		max-width: calc(50% - 2.5641vw);
		width: calc(50% - 2.5641vw);
	}
	#benefit01 ul li h5{
		font-size: 3.3333vw;
		height: 13.8462vw;
		line-height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 0 3.0769vw;
	}
	#benefit01 ul li h5 span{
		display: block;
		font-size: 14px;
		line-height: 150%;
		letter-spacing: 0.01em;
	}
	#benefit01 ul li .box01{
		padding: 2.5641vw 3.0769vw 3.0769vw;
		min-height: 0;
	}
	#benefit01 ul li .box01 .p01{
		font-size: 3.5897vw;
		margin-bottom: 2.0513vw;
	}
	#benefit01 ul li .box01 .logo01{
		width: 32.0513vw;
		margin: 0 auto 2.5641vw;
		padding: 0;
	}
	#benefit01 ul li .box01 .row{
		flex-wrap: wrap;
		margin-bottom: 2.0513vw;
	}
	#benefit01 ul li .box01 .naillit,
	#benefit01 ul li .box01 .eyely{
		font-size: 2.5641vw;
	}
	#benefit01 ul li .box01 .row .logo02{
		flex-shrink: 0;
	}
	#benefit01 ul li .box01 .row .logo02 img{
		width: 10.5128vw;
		height: 3.5897vw;
	}
	#benefit01 ul li .box01 .p02{
		font-size: 5.1282vw;
		margin-bottom: 3.8462vw;
	}
	#benefit01 ul li .box01 .p03{
		font-size: 6.1538vw;
		margin-bottom: 2.3077vw;
	}
	#benefit01 .box02{
		flex-direction: column;
		align-items: flex-start;
		height: auto;
		padding: 7.1795vw;
		gap: 4.1026vw;
	}
	#benefit01 .box02 h6{
		max-width: none;
		font-size: 4.6154vw;
		line-height: 1.6;
	}
	#benefit01 .box02 p{
		max-width: none;
		font-size: 4.1026vw;
		line-height: 1.6;
	}


	/* Benefit02
	-----------------------------------*/
	#benefit02{
		padding: 12.3077vw 0;
	}
	#benefit02 h3{
		font-size: 5.1282vw;
		line-height: 1.6;
		margin-bottom: 6.1538vw;
	}
	#benefit02 .box01{
		flex-direction: column;
		align-items: center;
		padding: 8.2051vw 7.1795vw;
		margin-bottom: 10.2564vw;
	}
	#benefit02 .box01 .circle{
		width: 63.5897vw;
		height: 63.5897vw;
		padding: 8.2051vw;
		margin-right: 0;
		margin-bottom: 8.2051vw;
	}
	#benefit02 .box01 .circle p{
		font-size: 6.1538vw;
		line-height: 1.4;
	}
	#benefit02 .box01 .txt{
		max-width: none;
	}
	#benefit02 .box01 .txt h4{
		font-size: 5.1282vw;
		line-height: 1.6;
		margin-bottom: 5.1282vw;
	}
	#benefit02 .box01 .txt p{
		font-size: 3.5897vw;
		line-height: 1.6;
	}
	#benefit02 .box01 .image{
		max-width: 41.0256vw;
		margin-top: 6.1538vw;
	}
	#benefit02 .box02{
		margin-bottom: 10.2564vw;
	}
	#benefit02 .box02 dl{
		margin-bottom: 10.2564vw;
		padding-left: 6.1538vw;
	}
	#benefit02 .box02 dl dt{
		font-size: 5.1282vw;
		margin-bottom: 2.5641vw;
	}
	#benefit02 .box02 dl dt span{
		font-size: 2.5641vw;
		padding-left: 9.2308vw;
		margin-left: 4.1026vw;
	}
	#benefit02 .box02 dl dd ul,
	#benefit02 .box02 dl dd ol{
		font-size: 4.6154vw;
	}
	#benefit02 .box02 dl dd ul li,
	#benefit02 .box02 dl dd ol li{
		margin-bottom: 3.0769vw;
	}
	#benefit02 .box02 dl dd ol span{
		margin-right: 2.0513vw;
	}
	#benefit02 .box02 dl dd .notice{
		margin-top: 3.0769vw;
		font-size: 3.5897vw;
	}
	#benefit02 .box03 ul{
		flex-direction: column;
		margin-bottom: 5.1282vw;
	}
	#benefit02 .box03 ul:before{
		display: block;
		position: static;
		order: 1;
		width: 6.1538vw;
		margin: 5.1282vw auto;
		transform: none;
	}
	#benefit02 .box03 ul li{
		max-width: none;
		width: 100%;
	}
	#benefit02 .box03 ul li:nth-child(1){
		order: 0;
	}
	#benefit02 .box03 ul li:nth-child(2){
		order: 2;
	}
	#benefit02 .box03 ul li h4{
		font-size: 5.1282vw;
		padding: 2.5641vw 6.1538vw;
	}
	#benefit02 .box03 ul li .box{
		min-height: 0;
	}
	#benefit02 .box03 ul li:nth-child(1) .box{
		padding: 6.1538vw 5.1282vw 6.1538vw;
	}
	#benefit02 .box03 ul li:nth-child(2) .box{
		padding: 6.1538vw 8.2051vw 8.2051vw;
		gap: 8.2051vw;
	}
	#benefit02 .box03 ul li .box .p01{
		font-size: 5.1282vw;
		margin-bottom: 1.0256vw;
	}
	#benefit02 .box03 ul li .box .p02{
		font-size: 4.1026vw;
	}
	#benefit02 .box03 ul li .box .p02 span{
		max-width: 3.0769vw;
		margin-right: 2.0513vw;
	}
	#benefit02 .box03 ul li .box .p02.mb20{
		margin-bottom: 5.1282vw;
	}
	#benefit02 .box03 ul li .box .logo{
		width: 59.4872vw;
		margin: 0 auto;
		padding: 0;
	}
	#benefit02 .box03 ul li .box .p03{
		font-size: 4.1026vw;
		margin-top: 8.2051vw;
	}
	#benefit02 .box03 h5{
		font-size: 5.1282vw;
		line-height: 1.6;
	}


	/* Benefit03-04
	-----------------------------------*/
	#benefit03-04{
		padding: 12.3077vw 0;
	}
	#benefit03-04 ul{
		flex-direction: column;
		gap: 10.2564vw;
	}
	#benefit03-04 ul li{
		max-width: none;
		padding: 8.2051vw 7.1795vw;
	}
	#benefit03-04 ul li .badge{
		max-width: none;
		margin-bottom: 6.1538vw;
	}
	#benefit03-04 ul li:nth-child(1) .badge{
		margin-bottom: 5.1282vw;
	}
	#benefit03-04 ul li h3{
		font-size: 5.1282vw;
		line-height: 1.6;
		margin-bottom: 4.1026vw;
	}
	#benefit03-04 ul li .txt01{
		font-size: 4.1026vw;
		line-height: 1.6;
		margin-bottom: 5.1282vw;
	}
	#benefit03-04 ul li .image01{
		margin-bottom: 2.0513vw;
	}
	#benefit03-04 ul li .txt02{
		font-size: 3.5897vw;
		line-height: 1.6;
	}
	#benefit03-04 ul li .box{
		padding: 4.1026vw;
		border-radius: 5.1282vw;
		margin-bottom: 6.1538vw;
	}
	#benefit03-04 ul li .box .ico{
		margin-right: 3.5897vw;
		max-width: 16.4103vw;
	}
	#benefit03-04 ul li .box .txt03{
		font-size: 3.5897vw;
		line-height: 1.6;
	}
	#benefit03-04 ul li .image02{
		max-width: 52.3077vw;
		margin: 0 auto 6.1538vw auto;
	}
	#benefit03-04 ul li .txt04{
		font-size: 3.0769vw;
		line-height: 1.4;
	}


	/* Benefit05
	-----------------------------------*/
	#benefit05{
		padding: 12.3077vw 0;
	}
	#benefit05 h3{
		font-size: 5.1282vw;
		line-height: 1.6;
		margin-bottom: 6.1538vw;
	}
	#benefit05 .txt01{
		font-size: 4.1026vw;
		line-height: 1.6;
		margin-bottom: 6.1538vw;
	}
	#benefit05 .image01{
		margin-bottom: 6.1538vw;
	}
	#benefit05 ul{
		gap: 5.1282vw 12.3077vw;
	}
	#benefit05 ul li{
		flex: 1 1 100%;
		min-width: 0;
		max-width: none;
		border-radius: 4.1026vw;
		padding: 6.1538vw;
		gap: 4.1026vw;
	}
	#benefit05 ul li .title{
		gap: 5.1282vw;
	}
	#benefit05 ul li .title .ico{
		width: 20.5128vw;
	}
	#benefit05 ul li .title .ico img{
		width: 20.5128vw;
		height: 20.5128vw;
	}
	#benefit05 ul li .title .txt{
		gap: 2.0513vw;
		min-width: 38.4615vw;
	}
	#benefit05 ul li .title .txt h4{
		font-size: 4.1026vw;
	}
	#benefit05 ul li .title .txt p{
		font-size: 5.1282vw;
	}
	#benefit05 ul li .desc{
		font-size: 3.5897vw;
	}


	/* Quality
	-----------------------------------*/
	#quality{
		padding: 12.3077vw 0;
	}
	#quality h3{
		font-size: 7.1795vw;
		line-height: 1.4;
		margin-bottom: 6.1538vw;
	}
	#quality .txt01{
		font-size: 4.1026vw;
		line-height: 1.6;
		margin-bottom: 10.2564vw;
	}
	#quality h4{
		font-size: 5.1282vw;
		line-height: 1.6;
		margin-bottom: 8.2051vw;
	}
	#quality .list01{
		flex-direction: column;
		gap: 8.2051vw;
		margin-bottom: 10.2564vw;
	}
	#quality .list01 li{
		max-width: none;
	}
	#quality .txt02{
		font-size: 4.1026vw;
		line-height: 1.6;
		margin-bottom: 8.2051vw;
	}
	#quality .list02{
		flex-direction: column;
		gap: 10.2564vw;
	}
	#quality .list02 li{
		max-width: none;
	}
	#quality .list02 li h5{
		font-size: 3.5897vw;
		line-height: 1.6;
		margin-bottom: 5.1282vw;
	}


	/* Plan
	-----------------------------------*/
	#plan{
		padding: 12.3077vw 0;
	}
	#plan h3{
		font-size: 7.1795vw;
		line-height: 1.6;
		margin-bottom: 6.1538vw;
	}
	#plan .txt01{
		font-size: 4.1026vw;
		line-height: 1.6;
		margin-bottom: 6.1538vw;
	}
	#plan ul{
		flex-direction: column;
		gap: 8.2051vw;
		margin-bottom: 8.2051vw;
	}
	#plan ul li{
		max-width: none;
	}
	#plan ul li h4{
		font-size: 5.1282vw;
		line-height: 1.6;
		margin-bottom: 4.1026vw;
	}
	#plan table th,
	#plan table td{
		padding: 3.0769vw 2.0513vw;
		font-size: 3.5897vw;
	}
	#plan table thead tr th:first-child{
		width: 20.5128vw;
	}


	/* Message
	-----------------------------------*/
	#message{
		padding: 12.3077vw 0;
		background-position: 50% 81.5385vw;
		background-size: contain;
	}
	#message .inner1120{
		max-width: 100%;
	}
	#message .box{
		flex-direction: column;
	}
	#message .box .image{
		max-width: none;
		margin-bottom: 8.2051vw;
	}
	#message .box .txt{
		max-width: none;
	}
	#message .box .txt h2{
		font-size: 8.2051vw;
		line-height: 1.6;
		margin-bottom: 8.2051vw;
	}
	#message .box .txt h3{
		font-size: 5.1282vw;
		line-height: 1.6;
		margin-bottom: 5.1282vw;
	}
	#message .box .txt p{
		font-size: 4.1026vw;
		line-height: 2;
	}


	/* Company
	-----------------------------------*/
	#company{
		padding: 8.2051vw 0;
	}
	#company h2{
		font-size: 5.1282vw;
		line-height: 1.6;
		padding-bottom: 2.0513vw;
		margin-bottom: 12.3077vw;
	}
	#company .box{
		flex-direction: column;
		margin-bottom: 8.2051vw;
	}
	#company .box .image01{
		max-width: none;
		margin-bottom: 8.2051vw;
		border-radius: 4.1026vw;
		overflow: hidden;
	}
	#company .box table{
		max-width: none;
		display: block;
	}
	#company .box table tbody{
		display: block;
	}
	#company .box table tbody tr{
		display: flex;
		flex-wrap: wrap;
		gap: 2.0513vw;
		border-bottom: 1px dashed #ccc;
		padding-bottom: 3.0769vw;
		margin-bottom: 5.1282vw;
	}
	#company .box table tbody tr:last-child{
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	#company .box table tbody tr th,
	#company .box table tbody tr td{
		display: block;
		padding: 0;
		line-height: 1.6;
		font-size: 4.1026vw;
	}
	#company .box table tbody tr th:after,
	#company .box table tbody tr td:after{
		display: none;
	}
	#company .box table tbody tr th{
		flex: 1 0 0;
		max-width: 20.5128vw;
		min-width: 20.5128vw;
	}
	#company .box table tbody tr td{
		flex: 1 0 0;
	}
	#company .box table tbody tr td span{
		font-size: 3.0769vw;
	}
	#company .image02{
		margin-bottom: 8.2051vw;
		border-radius: 5.1282vw;
		overflow: hidden;
	}
	#company h3{
		font-size: 5.1282vw;
		line-height: 1.6;
		padding-bottom: 2.0513vw;
		margin-bottom: 8.2051vw;
	}


	/* Contact
	-----------------------------------*/
	#contact{
		padding: 10.2564vw 0;
	}
	#contact h2{
		font-size: 6.1538vw;
		line-height: 1.6;
		margin-bottom: 5.1282vw;
	}
	#contact .box{
		max-width: 100%;
	}
	#contact table{
		margin-bottom: 5.1282vw;
	}
	#contact table th,
	#contact table td{
		display: block;
		padding: 3.8462vw;
		font-size: 3.3333vw;
	}
	#contact table th{
		width: 100%;
		border-bottom: none;
		margin-top: -1px;
	}
	#contact table th span{
		padding-left: 0.7692vw;
	}
	#contact table td input,
	#contact table td textarea{
		padding: 2.5641vw;
	}
	#contact table td textarea{
		min-height: 41.0256vw;
	}
	#contact .mfp_element_submit,
	#contact .mfp_element_reset,
	#contact .mfp_element_button,
	#contact button.mfp_next,
	#contact button.mfp_prev{
		border: 0.5128vw solid #111;
		width: 102.5641vw;
		padding: 2.5641vw;
	}
	#contact .mfp_element_button{
		max-width: 49%;
	}
	#contact div#mfp_phase_confirm h4{
		line-height: 10.2564vw;
		margin-bottom: 5.1282vw;
	}
	#contact .thanks{
		font-size: 3.5897vw;
		line-height: 6.1538vw;
	}


	/* Footer
	-----------------------------------*/
	footer{
		padding: 6.1538vw 0 12.3077vw 0;
	}
	footer ul{
		flex-direction: column;
		align-items: center;
		gap: 6.1538vw;
		margin-bottom: 10.2564vw;
	}
	footer ul li{
		font-size: 3.5897vw;
	}
	footer .logo{
		max-width: 38.4615vw;
		margin: 0 auto 6.1538vw auto;
		font-size: 5.1282vw;
	}
	footer .ftr_privacy{
		font-size: 3.0769vw;
		margin-bottom: 6.1538vw;
	}
	footer .ftr_copy{
		font-size: 3.0769vw;
	}
}