@charset "UTF-8";

/* =BreakPoint
--------------------------------------------------------------
PC and TABLET ( and SP landscape )
@media ( min-width: 601px ){

PC ( and TABLET landscape )
@media ( min-width: 961px ){

TABLET ( and SP landscape )
@media ( min-width: 601px ) and ( max-width: 960px ){

TABLET and SP ( not TABLET landscape )
@media ( max-width: 960px ){

SP ( only portrait )
@media ( max-width: 600px ){

over
@media ( min-width: 1101px ){

under
@media ( max-width: 1100px ){
--------------------------------------------------------------
*/

/* =Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select,button{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"] {
	appearance: none;
	cursor: pointer;
}

/* clearfix */
.cf:before, .cf:after {content:"";display:table;}
.cf:after {clear:both;}
.clr {clear: both;}


/* =Styles 
-------------------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', YuGothic, -apple-system, BlinkMacSystemFont, 'Yu Gothic Medium', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	color: #231815;
	background: #fff;
	font-weight: 700;
}
a {
	text-decoration: none;
	color: #231815;
}
@media ( min-width: 601px ){
	body {
		font-size: 26px;
	}
	.sp {
		display: none !important;
	}
	.inner {
		max-width: 1150px;
		margin: 0 auto;
		padding: 0 30px;
	}
}
@media ( min-width: 961px ){
	.sptab {
		display: none !important;
	}
}
@media ( max-width: 960px ){
	.pc {
		display: none !important;
	}
}
@media ( max-width: 600px ){
	body {
		font-size: 4.8vw;
	}
	.pctab {
		display: none !important;
	}
	.inner {
		padding: 0 5.33vw;
	}
}

/*--------------------------------
common
--------------------------------*/
.underline_title {
	position: relative;
}
.underline_title .em {
	color: #27476a;
	display: inline-block;
}
@media ( min-width: 601px ) {
	.underline_title {
		font-size: 26px;
	}
	.underline_title .em {
		font-size: 50px;
		padding: 0 10px 10px;
		margin: 25px 0 0;
		border-bottom: solid 2px #231815;
	}
}
@media ( max-width: 600px ) {
	.underline_title {
		font-size: 4.8vw;
	}
	.underline_title .em {
		font-size: 6.93vw;
		padding: 0 0 2.67vw;
		margin: 2.13vw 0 0;
		border-bottom: solid 0.53vw #231815;
	}
}
.bg_navy_title {
	text-align: left;
}
.bg_navy_title .wrap {
	color: #fff;
	background: #2b496a;
}
@media ( min-width: 601px ) {
	.bg_navy_title .wrap {
		font-size: 32px;
		padding: 6px 25px 10px;
		line-height: 1.38;
	}
}
@media ( min-width: 961px ) {
	.bg_navy_title .wrap {
		display: inline-block;
	}
}
@media ( max-width: 960px ) {
	.bg_navy_title .wrap {
		display: block;
		text-align: center;
	}
}
@media ( max-width: 600px ) {
	.bg_navy_title .wrap {
		font-size: 5.87vw;
		padding: 1.33vw 2.67vw 1.87vw;
		line-height: 1.36;
	}
}
.fc_yellow {
	color: #bd8e00;
}
/*--------------------------------
.cv_area
--------------------------------*/
.cv_area {
	background: #2b496a;
}
.cv_area.fixed {
	background: #2b496a;
	position: fixed;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 100%;
	z-index: 999;
}
.cv_area .inner {
	display: flex;
	align-items: center;
}
.cv_area .lead {
	color: #fff;
}
@media ( min-width: 601px ) {
	.cv_area {
		padding: 40px 0;
	}
	.cv_area.fixed {
		padding: 20px 0;
	}
	.cv_area .lead {
		font-size: 34px;
	}
}
@media ( min-width: 961px ) {
	.cv_area .inner {
		justify-content: center;
		gap: 0 49px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.cv_area .inner {
		gap: 24px 0;
	}
}
@media ( max-width: 960px ) {
	.cv_area .inner {
		flex-direction: column;
	}
}
@media ( max-width: 600px ) {
	.cv_area {
		padding: 8vw 0;
	}
	.cv_area.fixed {
		padding: 3vw 0;
	}
	.cv_area .inner {
		gap: 3.2vw 0;
	}
	.cv_area .lead {
		font-size: 4.8vw;
	}
}
/*--------------------------------
.consult_btn
--------------------------------*/
.consult_btn a {
	box-sizing: border-box;
	width: 100%;
	color: #fff;
	background: #d70c19;
	position: relative;
}
.consult_btn a::after {
	content: '';
	display: block;
	background: url('img/btn_arrow.png') no-repeat left top/cover;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
@media ( min-width: 601px ) {
	.cv_area .consult_btn {
		width: 328px;
	}
	.cv_area .consult_btn a {
		font-size: 30px;
		height: 83px;
		padding: 0 50px;
	}
	.cv_area.fixed .consult_btn a {
		height: 65px;
	}
	.cv_area .consult_btn a::after {
		width: 22px;
		height: 22px;
		right: 50px;
	}
	.kv .consult_btn {
		width: 259px;
		margin-left: 23px;
	}
	.kv .consult_btn a {
		font-size: 28px;
		height: 60px;
		padding: 0 29px;
	}
	.kv .consult_btn a::after {
		width: 20px;
		height: 20px;
		right: 29px;
	}
}
@media ( min-width: 961px ) {
	.consult_btn a {
		text-align: left;
		display: block;
		white-space: nowrap;
		overflow: hidden;
	}
	.consult_btn a span {
		flex-shrink: 0;
		display: flex;
		align-items: center;
		transition: transform .7s cubic-bezier(0.15, 0.85, 0.45, 1),opacity .7s;
	}
	.kv .consult_btn a span {
		height: 60px;
	}
	.cv_area .consult_btn a span {
		height: 83px;
	}
	.cv_area.fixed .consult_btn a span {
		height: 63px;
	}
	.consult_btn a span:first-of-type {
		transform: translateY(0);
		opacity: 1;
	}
	.consult_btn a span:last-of-type {
		transform: translateY(100%);
		opacity: 0;
	}
	.consult_btn a:hover span:first-of-type {
		transform: translateY(-100%);
		opacity: 0;
	}
	.consult_btn a:hover span:last-of-type {
		transform: translateY(-100%);
		opacity: 1;
	}

}
@media ( max-width: 960px ) {
	.consult_btn a {
		display: flex;
		align-items: center;
	}
	.consult_btn a span:nth-of-type(2) {
		display: none;
	}
}
@media ( max-width: 600px ) {
	.cv_area .consult_btn {
		width: 58.13vw;
	}
	.cv_area .consult_btn a {
		font-size: 5.33vw;
		height: 13.87vw;
		padding: 0 8vw;
	}
	.cv_area.fixed .consult_btn a {
		height: 10vw;
	}
	.cv_area .consult_btn a::after {
		width: 5.07vw;
		height: 5.07vw;
		right: 8vw;
	}
	.kv .consult_btn {
		width: 51.2vw;
	}
	.kv .consult_btn a {
		font-size: 5.33vw;
		height: 11.2vw;
		padding: 0 5.33vw;
	}
	.kv .consult_btn a::after {
		width: 4.53vw;
		height: 4.53vw;
		right: 5.87vw;
	}
}
/*--------------------------------
.head
--------------------------------*/
.head {
	background: #ebebeb;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 999;
}
.head .inner {
	display: flex;
	align-items: center;
}
.head .content {
	margin: 0 0 0 auto;
}
@media ( min-width: 601px ) {
	.head .inner {
		height: 92px;
	}
	.head .logo {
		width: 211px;
	}
}
@media ( min-width: 601px ) and ( max-width: 1100px ) {
	.head .menu_btn {
		width: 66px;
		height: 30px;
	}
}
@media ( max-width: 600px ) {
	.head .inner {
		height: 9.87vw;
	}
	.head .logo {
		width: 24vw;
	}
	.head .menu_btn {
		width: 8.8vw;
		height: 4vw;
	}
}
@media ( min-width: 1101px ) {
	.head .content {
		display: flex;
		align-items: center;
		height: 100%;
		gap: 0 28px;
	}
	.head .head_navi ul {
		display: flex;
		gap: 0 27px;
	}
	.head .head_navi li a {
		display: block;
		width: 100%;
		height: 2em;
		position: relative;
		font-size: 16px;
		white-space: nowrap;
		overflow: hidden;
	}
	.head .head_navi li a span {
		height: 2em;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: transform .7s cubic-bezier(0.15, 0.85, 0.45, 1),opacity .7s;
	}
	.head .head_navi li a span:first-of-type {
		transform: translateY(0);
		opacity: 1;
	}
	.head .head_navi li a span:last-of-type {
		transform: translateY(100%);
		opacity: 0;
	}
	.head .head_navi li a:hover span:first-of-type {
		transform: translateY(-100%);
		opacity: 0;
	}
	.head .head_navi li a:hover span:last-of-type {
		transform: translateY(-100%);
		opacity: 1;
	}
	.head .tel {
		width: 234px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		color: #fff;
		background: #231815;
		height: 100%;
		gap: 11px 0;
	}
	.head .tel .num {
		width: 170px;
		margin: 0 auto;
	}
	.head .tel .num img {
		vertical-align: bottom;
	}
	.head .tel .time {
		font-size: 16px;
		font-weight: 400;
	}
	.head .menu_btn {
		display: none;
	}
}
@media ( max-width: 1100px ) {
	.head .head_navi,
	.head .tel {
		display: none;
	}
	.head .menu_btn {
		cursor: pointer;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.head .menu_btn span {
		height: 1px;
		background: #6cb1cb;
	}
}

/*--------------------------------
.sp_menu
--------------------------------*/
@media ( min-width: 601px ) {
	.sp_menu .line {
		padding: 16px 0 48px;
	}
	.sp_menu .logo {
		width: 211px;
	}
	.sp_menu .close_btn {
		width: 40px;
		height: 40px;
	}
	.sp_menu .sp_menu_navi li a {
		font-size: 26px;
		padding: 40px 0;
	}
}
@media ( max-width: 600px ) {
	.sp_menu .line {
		padding: 2.13vw 0 7.73vw;
	}
	.sp_menu .logo {
		width: 24.27vw;
	}
	.sp_menu .close_btn {
		width: 5.33vw;
		height: 5.33vw;
	}
	.sp_menu .sp_menu_navi li a {
		font-size: 4.8vw;
		padding: 8vw 0;
	}
}
@media ( min-width: 1101px ) {
	.sp_menu {
		display: none;
	}
}
@media ( max-width: 1100px ) {
	.sp_menu {
		opacity: 0;
		transform: translateY(-100%);
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background: #ebebeb;
		z-index: 999;
		transition: transform .7s,opacity 1s;
	}
	.sp_menu.on {
		opacity: 1;
		transform: translateY(0);
	}
	.sp_menu .line {
		border-bottom: 1px solid #231815;
	}
	.sp_menu .line .inner {
		display: flex;
		align-items: center;
	}
	.sp_menu .close_btn {
		cursor: pointer;
		display: flex;
		flex-direction: column;
		justify-content: center;
		position: relative;
		margin: 0 0 0 auto;
	}
	.sp_menu .close_btn span {
		display: block;
		height: 1px;
		background: #6cb1cb;
	}
	.sp_menu .close_btn span:nth-of-type(1) {
		transform: rotate(-45deg);
	}
	.sp_menu .close_btn span:nth-of-type(2) {
		transform: rotate(45deg);
	}
	.sp_menu .sp_menu_navi li {
		border-bottom: 1px solid #231815;
	}
	.sp_menu .sp_menu_navi li a {
		display: block;
		width: 100%;
	}
}

/*--------------------------------
.kv
--------------------------------*/
.kv .inner {
	position: relative;
}
.kv .content {
	position: relative;
	z-index: 5;
}
.kv .kv_lead,
.kv .kv_title {
	color: #fff;
}
.kv .kv_lead {
	position: relative;
}
.kv .kv_lead::after {
	content: '';
	display: block;
	width: 47.54%;
	background: #0084ff;
	position: absolute;
	left: 0;
}
.kv .kv_title {
	line-height: 1.29;
}
.kv .kv_features span {
	display: inline-block;
	background: #092e4e;
	color: #fff;
}
.kv .kv_cv_area .text span {
	position: relative;
	display: inline-block;
}
.kv .kv_cv_area .text span::before,
.kv .kv_cv_area .text span::after {
	content: '';
	display: inline-block;
	vertical-align: middle;
}
.kv .kv_cv_area .text span::before {
	transform: rotate(60deg);
}
.kv .kv_cv_area .text span::after {
	transform: rotate(-60deg);
}
.kv .item_photo {
	display: block;
	position: absolute;
}
@media ( min-width: 601px ) {
	.kv .content {
		padding: 170px 0 0;
	}
	.kv .kv_lead {
		max-width: 530px;
		border-bottom: 2px solid #fff;
		padding: 0 0 15px;
	}
	.kv .kv_lead::after {
		height: 2px;
		bottom: -2px;
	}
	.kv .kv_features span {
		padding: 7px 20px 11px;
	}
	.kv .kv_cv_area .text {
		margin: 0 0 14px;
	}
	.kv .kv_cv_area .text span {
		font-size: 18px;
	}
	.kv .kv_cv_area .text span::before {
		margin: 0 6px 0 0;
	}
	.kv .kv_cv_area .text span::after {
		margin: 0 0 0 6px;
	}
	.kv .kv_cv_area .text span::before,
	.kv .kv_cv_area .text span::after {
		width: 21px;
		height: 2px;
	}
}
@media ( min-width: 961px ) {
	.kv {
		background: url('img/kv_bg.jpg') no-repeat left top/cover;
		overflow-x: hidden;
	}
	.kv .inner {
		height: 666px;
	}
	.kv .inner::before {
		content: '';
		display: block;
		width: 100%;
		height: 303px;
		background: url('img/kv_inner.png') repeat-x;
		position: absolute;
		right: -100%;
		bottom: 0;
	}
	.kv .kv_lead,
	.kv .kv_title,
	.kv .kv_features,
	.kv .kv_cv_area {
		text-align: left;
	}
	.kv .kv_lead {
		font-size: min(24px,2.09vw);
		margin: 0 0 11px;
	}
	.kv .kv_lead .small {
		font-size: min(18px,1.57vw);
	}
	.kv .kv_title {
		font-size: min(50px,4.35vw);
		margin: 0 0 17px;
	}
	.kv .kv_title .em {
		font-size: min(66px,5.74vw);
	}
	.kv .kv_features {
		margin: 0 0 50px;
	}
	.kv .kv_features span {
		font-size: min(18px,1.57vw);
	}
	.kv .kv_cv_area .text span {
		color: #fff;
	}
	.kv .kv_cv_area .text span::before,
	.kv .kv_cv_area .text span::after {
		background: #fff;
	}
	.kv .item_photo {
		width: 769px;
		right: -30px;
		bottom: 0;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.kv .inner {
		height: 1104px;
	}
	.kv .kv_lead {
		font-size: 24px;
		margin: 0 auto;
	}
	.kv .kv_lead .small {
		font-size: 18px;
	}
	.kv .kv_title {
		font-size: 50px;
		margin: 0 0 17px;
	}
	.kv .kv_title .em {
		font-size: min(66px,8.8vw);
	}
	.kv .kv_features {
		margin: 0 0 480px;
	}
	.kv .kv_features span {
		font-size: 18px;
	}
	.kv .item_photo {
		width: calc(100% - 30px);
		max-width: 710px;
		right: 0;
		top: 450px;
	}
}
@media ( max-width: 960px ) {
	.kv {
		background: url('img/kv_bg_sp.jpg') no-repeat left bottom/cover;
	}
	.kv .kv_features {
		line-height: 1.47;
	}
	.kv .consult_btn {
		margin: 0 auto;
	}
	.kv .kv_cv_area .text span::before,
	.kv .kv_cv_area .text span::after {
		background: #231815;
	}
}
@media ( max-width: 600px ) {
	.kv .inner {
		height: 147.2vw;
	}
	.kv .content {
		padding: 15.2vw 0 0;
	}
	.kv .kv_lead {
		display: inline-block;
		font-size: 4.8vw;
		border-bottom: 0.53vw solid #fff;
		padding: 0 0 1.6vw;
		margin: 0 0 1.07vw;
	}
	.kv .kv_lead .small {
		font-size: 4.27vw;
	}
	.kv .kv_lead::after {
		height: 0.53vw;
		bottom: -0.53vw;
	}
	.kv .kv_title {
		font-size: 6.4vw;
		margin: 0 0 1.6vw;
	}
	.kv .kv_title .em {
		font-size: 9.07vw;
	}
	.kv .kv_features {
		margin: 0 0 65.33vw;
	}
	.kv .kv_features span {
		font-size: 4.27vw;
		padding: 0.8vw 1.6vw;
	}
	.kv .kv_cv_area .text {
		margin: 0 0 2.4vw;
	}
	.kv .kv_cv_area .text span {
		font-size: 4.27vw;
	}
	.kv .kv_cv_area .text span::before {
		margin: 0 0.8vw 0 0;
	}
	.kv .kv_cv_area .text span::after {
		margin: 0 0 0 0.8vw;
	}
	.kv .kv_cv_area .text span::before,
	.kv .kv_cv_area .text span::after {
		width: 4.8vw;
		height: 0.53vw;
	}
	.kv .item_photo {
		width: 94.67vw;
		right: 0;
		top: 60vw;
	}
}

/*--------------------------------
.worries
--------------------------------*/
.worries .underline_title .em {
	color: #231815;
}
.worries .speech_bubble_list {
	position: relative;
}
.worries .speech_bubble_list .illust {
	position: absolute;
}
.worries .speech_bubble_list ul {
	display: grid;
}
.worries .speech_bubble_list li div {
	position: relative;
	color: #fff;
	background: #231815;
	box-sizing: border-box;
}
.worries .speech_bubble_list li div::before {
	content: '';
	display: block;
	position: absolute;
	background: url('img/worries_speech_bubble_after.png') no-repeat left top/cover;
}
.worries .speech_bubble_list li div .em {
	color: #ffc103;
}
@media ( min-width: 601px ) {
	.worries {
		background: url('img/worries_bg.jpg') no-repeat left top/cover;
	}
	.worries .underline_title {
		margin: 0 0 40px;
	}
	.worries .speech_bubble_list {
		width: 100%;
		margin: 0 auto;
	}
	.worries .speech_bubble_list .illust {
		width: 201px;
		height: 384px;
		background: url('img/worries_illust.png') no-repeat;
	}
	.worries .speech_bubble_list ul {
		width: 100%;
	}
	.worries .speech_bubble_list li div {
		padding: 14px 10px 19px;
	}
	.worries .speech_bubble_list li:not(:last-child) div {
		width: 248px;
	}
	.worries .speech_bubble_list li:last-child div {
		width: 308px;
	}
	.worries .speech_bubble_list li div::before {
		width: 34px;
		height: 22px;
		background: url('img/worries_speech_bubble_after.png') no-repeat;
		bottom: -21px;
	}
	.worries .speech_bubble_list li:not(:last-child) div::before {
		right: 56px;
	}
	.worries .speech_bubble_list li:last-child div::before {
		right: 52px;
	}
}
@media ( min-width: 961px ) {
	.worries {
		padding: 33px 0 65px;
	}
	.worries .speech_bubble_list {
		max-width: 915px;
	}
	.worries .speech_bubble_list .illust {
		left: 337px;
		bottom: -65px;
	}
	.worries .speech_bubble_list ul {
		grid-template-columns: 278px 318px;
		grid-template-rows: 138px 128px;
		gap: 72px 0;
		justify-content: space-between;
	}
	.worries .speech_bubble_list li div {
		line-height: 1.46;
	}
	.worries .speech_bubble_list li:nth-child(1) {
		justify-self: end;
	}
	.worries .speech_bubble_list li:nth-child(2) {
		align-self: end;
	}
	.worries .speech_bubble_list li:nth-child(4) {
		align-self: end;
		justify-self: end;
	}
	.worries .speech_bubble_list li:nth-child(2) div::before,
	.worries .speech_bubble_list li:nth-child(4) div::before {
		transform: rotateY(180deg);
		right: 59px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.worries {
		padding: 33px 0 95px;
	}
	.worries .speech_bubble_list {
		max-width: 600px;
	}
	.worries .speech_bubble_list ul {
		gap: 60px 0;
	}
	.worries .speech_bubble_list .illust {
		bottom: -95px;
	}
}
@media ( max-width: 960px ) {
	.worries .speech_bubble_list .illust {
		right: 0;
	}
	.worries .speech_bubble_list ul {
		grid-template-rows: 1fr 1fr 1fr;
	}
	.worries .speech_bubble_list li div {
		line-height: 1.28;
	}
	.worries .speech_bubble_list li:nth-child(1) {
		order: 1;
	}
	.worries .speech_bubble_list li:nth-child(3) {
		order: 2;
	}
	.worries .speech_bubble_list li:nth-child(2) {
		order: 3;
		grid-row-start: 2;
		grid-column-start: 1;
		grid-column-end: 3;
	}
	.worries .speech_bubble_list li:nth-child(4) {
		order: 4;
		grid-row-start: 3;
		grid-column-start: 1;
		grid-column-end: 3;
	}
}
@media ( max-width: 600px ) {
	.worries {
		background: url('img/worries_bg_sp.jpg') no-repeat left top/cover;
		padding: 9.07vw 0 12.53vw;
	}
	.worries .underline_title {
		margin: 0 0 5.33vw;
	}
	.worries .underline_title .em {
		letter-spacing: -0.01em;
	}
	.worries .speech_bubble_list .illust {
		width: 34.27vw;
		height: 54.13vw;
		background: url('img/worries_illust_sp.png') no-repeat left top/cover;
		bottom: -12.53vw;
	}
	.worries .speech_bubble_list ul {
		width: 100%;
	}
	.worries .speech_bubble_list ul {
		grid-template-columns: 42.67vw 42.67vw; 
		gap: 8vw 0;
		justify-content: space-between;
		align-content: space-between;
	}
	.worries .speech_bubble_list li div {
		padding: 1.33vw 0 1.87vw;
	}
	.worries .speech_bubble_list li:not(:last-child) div {
		width: 42.67vw;
	}
	.worries .speech_bubble_list li:last-child div {
		width: 51.47vw;
	}
	.worries .speech_bubble_list li div::before {
		width: 4.53vw;
		height: 2.93vw;
		bottom: -2.8vw;
	}
	.worries .speech_bubble_list li:not(:last-child) div::before {
		right: 6.93vw;
	}
	.worries .speech_bubble_list li:last-child div::before {
		right: 7.6vw;
	}
}

/*--------------------------------
.solution
--------------------------------*/
.solution {
	overflow: hidden;
}
.solution .title {
	color: #fff;
	position: relative;
}
.solution .title::before,
.solution .title::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
}
.solution .title::before {
	background: #fff;
}
.solution .title::after {
	background: #0084ff;
}
.solution .title .title_wrap {
	position: relative;
}
.solution .title .title_wrap::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
}
.solution .title .logo {
	display: inline-block;
	vertical-align: text-bottom;
}
.solution .features {
	box-sizing: border-box;
	color: #fff;
	background: #092e4e;
}
.solution .features .list ul {
	position: relative;
	display: flex;
	justify-content: space-between;
}
.solution .features .list ul::before {
	content: '';
	display: block;
	background: url('img/solution_list_multiplication.png') no-repeat left top/cover;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.solution .features .list li {
	color: #092e4e;
	position: relative;
	background: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}
.solution .features .list li::before,
.solution .features .list li::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
}
.solution .features .list li::before {
	border-color: #092e4e transparent transparent transparent;
	top: 0;
	left: 0;
}
.solution .features .list li::after {
	border-color: transparent transparent #092e4e transparent;
	bottom: 0;
	right: 0;
}
.solution .features .text {
	font-weight: 400;
}
.solution .features .text span {
	display: inline-block;
	position: relative;
}
.solution .features .text span::before {
	content: '・・・';
	position: absolute;
	top: -0.7em;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.solution .item_photo {
	position: relative;
	z-index: 2;
}
@media ( min-width: 601px ) {
	.solution {
		background: url('img/solution_bg.jpg') no-repeat center top/cover;
		padding: 60px 0 55px;
	}
	.solution .title::before,
	.solution .title::after {
		height: 2px;
	}
	.solution .title::after {
		width: 44.82%;
	}
	.solution .title .title_wrap::before {
		width: 227px;
		height: 227px;
		background: url('img/solution_title_slash.png') no-repeat;
		left: -226px;
	}
	.solution .features {
		width: 100%;
		padding: 30px;
	}
	.solution .features .list ul {
		gap: 0 50px;
	}
	.solution .features .list ul::before {
		width: 24px;
		height: 25px;
	}
	.solution .features .list li {
		line-height: 1.38;
	}
	.solution .features .list li:last-child {
		letter-spacing: -0.05em;
	}
	.solution .features .list li::before {
		border-width: 19px 19px 0 0;
	}
	.solution .features .list li::after {
		border-width: 0 0 19px 19px;
	}
	.solution .features .text span {
		margin: 0 14px 0 0;
	}
}
@media ( min-width: 961px ) {
	.solution .inner {
		display: flex;
		justify-content: space-between;
		gap: 0 20px;
	}
	.solution .title {
		text-align: left;
		margin: 0 0 40px;
		font-size: 32px;
		line-height: 1.3;
	}
	.solution .title .logo {
		width: 530px;
		margin: 0 10px 0 0;
	}
	.solution .title .em {
		font-size: 70px;
	}
	.solution .title::before {
		width: 870px;
	}
	.solution .features {
		max-width: 710px;
	}
	.solution .features .list {
		margin: 0 0 27px;
	}
	.solution .features .list ul::before {
		top: 50%;
		transform: translateY(-50%);
	}
	.solution .features .list li {
		width: 50%;
		max-width: 282px;
		padding: 8px 10px 9px;
		font-size: min(30px,2.31vw);
	}
	.solution .features .list li .small {
		font-size: min(26px,2vw);
	}
	.solution .features .text {
		font-size: min(42px,3.23vw);
	}
	.solution .features .text span {
		font-size: min(32px,2.46vw);
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.solution .inner::before {
		width: 120px;
		height: 2px;
		top: 20px;
		left: -34px;
		transform: rotate(45deg);
	}
	.solution .title {
		margin: 0 0 40px 20px;
		font-size: min(32px,3.33vw);
	}
	.solution .title .title_wrap {
		padding: 0 0 35px;
	}
	.solution .title::before {
		width: 100%;
	}
	.solution .title .logo {
		width: min(530px,55.21vw);
		margin-right: min(10px,1.04vw);
	}
	.solution .title .em {
		font-size: min(70px,7.29vw);
	}
	.solution .features .wrap {
		gap: 0 30px;
	}
	.solution .features .list {
		width: 48%;
	}
	.solution .features .list ul {
		gap: 80px 0;
	}
	.solution .features .list ul::before {
		top: 150px;
	}
	.solution .features .list li {
		padding: 20px 10px 24px;
		font-size: 30px;
	}
	.solution .features .list li .small {
		font-size: 26px;
	}
	.solution .features .text {
		font-size: min(42px,5.6vw);
		margin: 20px 0 0;
	}
	.solution .features .text span {
		font-size: min(32px,4.27vw);
	}
}
@media ( max-width: 960px ) {
	.solution .title .pc_over {
		display: none;
	}
	.solution .features .wrap {
		display: flex;
		justify-content: space-between;
	}
	.solution .features .list ul {
		flex-direction: column;
	}
}
@media ( max-width: 600px ) {
	.solution {
		background: url('img/solution_bg_sp.jpg') no-repeat center top/cover;
		padding: 10.67vw 0 10.67vw;
	}
	.solution .title {
		font-size: 4.27vw;
		margin: 0 0 5.33vw 5.87vw;
	}
	.solution .title::before,
	.solution .title::after {
		height: 0.53vw;
	}
	.solution .title::before {
		width: calc(100% - 2.13vw);
	}
	.solution .title::after {
		width: 29.33vw;
	}
	.solution .title .title_wrap {
		padding: 0 0 6.13vw;
	}
	.solution .title .title_wrap::before {
		width: 10.67vw;
		height: 14.93vw;
		background: url(img/solution_title_slash_sp.png) no-repeat left top/cover;
		left: -10.67vw;
	}
	.solution .title .logo {
		width: 52.27vw;
		margin: 0 1.33vw 0 0;
	}
	.solution .title .em {
		font-size: 6.93vw;
	}
	.solution .features {
		padding: 4.8vw 5.33vw;
	}
	.solution .features .list ul::before {
		top: 20vw;
	}
	.solution .features .list {
		width: 38.13vw;
	}
	.solution .features .list ul {
		gap: 9.6vw 0;
	}
	.solution .features .list ul::before {
		width: 4.53vw;
		height: 4.53vw;
	}
	.solution .features .list li {
		font-size: 4.27vw;
		height: 16.8vw;
		padding: 0 1.33vw;
	}
	.solution .features .list li:first-child {
		line-height: 1.31;
	}
	.solution .features .list li:last-child {
		line-height: 1.19;
	}
	.solution .features .list li::before {
		border-width: 2.4vw 2.4vw 0 0;
	}
	.solution .features .list li::after {
		border-width: 0 0 2.4vw 2.4vw;
	}
	.solution .features .text {
		font-size: 4.8vw;
		margin: 4vw 0 0;
	}
	.solution .features .text span {
		font-size: 4.27vw;
		margin: 0 1.6vw 0 0;
	}
	.solution .item_photo {
		width: 36.53vw;
	}
}
@media ( min-width: 1251px ) {
	.solution .title .pc_over {
		display: none;
	}
	.solution .title .title_wrap {
		padding: 0 0 68px;
	}
}
@media ( min-width: 961px ) and ( max-width: 1250px ) {
	.solution .title .pc_over {
		display: block;
	}
	.solution .title .title_wrap {
		padding: 0 0 25px;
	}
}

/*--------------------------------
.two_stage_collection
--------------------------------*/
.two_stage_collection {
	overflow: hidden;
}
.two_stage_collection .step_wrap .step,
.two_stage_collection .step_wrap .text {
	text-align: left;
}
.two_stage_collection .step_wrap {
	position: relative;
}
.two_stage_collection .patent {
	text-align: left;
}
.two_stage_collection .patent span {
	color: #fff;
	background: #231815;
}
.two_stage_collection .patent span {
	display: inline-block;
}
@media ( min-width: 601px ) {
	.two_stage_collection {
		background: url('img/concrete_bg.jpg') no-repeat left top/cover;
		padding: 80px 0 70px;
	}
	.two_stage_collection .step_wrap .step {
		margin: 0 0 15px;
	}
	.two_stage_collection .step2 {
		margin: 0 0 70px;
	}
	.two_stage_collection .step1 .step {
		width: 155px;
	}
	.two_stage_collection .step2 .step {
		width: 154px;
	}
	.two_stage_collection .step_wrap .bg_navy_title {
		margin: 0 0 25px;
	}
	.two_stage_collection .step_wrap .text {
		line-height: 1.69;
	}
	.two_stage_collection .patent span {
		font-size: 20px;
		padding: 6px 20px 8px;
		margin: 10px 0 0;
	}
	.two_stage_collection .summary p {
		font-size: min(40px,4.17vw);
		line-height: 1.7;
	}
	.two_stage_collection .summary p .line {
		display: inline-block;
	}
	.two_stage_collection .summary p .em {
		font-size: min(56px,5.83vw);
	}
}
@media ( min-width: 961px ) {
	.two_stage_collection .underline_title {
		margin: 0 0 130px;
	}
	.two_stage_collection .step1 {
		margin: 0 0 132px;
	}
	.two_stage_collection .step1 .illust {
		width: min(844px,70.33vw);
		height: min(632px,52.67vw);
		position: absolute;
		top: calc(min(280px,23.33vw) * -1);
		right: calc(min(335px,27.92vw) * -1);
	}
	.two_stage_collection .step2 .illust {
		width: min(598px,49.83vw);
		height: min(575px,47.92vw);
		position: absolute;
		top: calc(min(55px,4.58vw) * -1);
		left: calc(min(60px,5vw) * -1);
	}
	.two_stage_collection .step1 .content {
		width: 52.17%;
		max-width: 600px;
	}
	.two_stage_collection .step2 .content {
		width: 50.43%;
		max-width: 580px;
		margin: 0 0 0 auto;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.two_stage_collection .underline_title {
		margin: 0 0 60px;
	}
	.two_stage_collection .step1 {
		margin: 0 0 60px;
	}
	.two_stage_collection .step1 .illust {
		width: 647px;
		margin: 0 -30px 0 auto;
	}
	.two_stage_collection .step2 .illust {
		width: 750px;
		margin: 0 -30px 0 auto;
	}
}
@media ( max-width: 960px ) {

}
@media ( max-width: 600px ) {
	.two_stage_collection {
		background: url('img/concrete_bg_sp.jpg') no-repeat left top/cover;
		padding: 8vw 0 10.67vw;
	}
	.two_stage_collection .underline_title {
		margin: 0 0 10.67vw;
	}
	.two_stage_collection .step_wrap .step {
		margin: 0 0 3.73vw;
	}
	.two_stage_collection .step1 {
		margin: 0 0 10.67vw;
	}
	.two_stage_collection .step1 .step {
		width: 30.93vw;
	}
	.two_stage_collection .step2 .step {
		width: 30.67vw;
	}
	.two_stage_collection .step_wrap .bg_navy_title {
		margin: 0 0 3.2vw;
	}
	.two_stage_collection .step2 .bg_navy_title .wrap {
		letter-spacing: -0.05em;
	}
	.two_stage_collection .step_wrap .text {
		line-height: 1.78;
	}
	.two_stage_collection .patent span {
		font-size: 4.27vw;
		padding: 1.07vw 2.67vw 1.6vw;
		margin: 2.67vw 0 0;
	}
	.two_stage_collection .step1 .illust {
		width: 86.4vw;
		margin: 0 -5.33vw 0 auto;
	}
	.two_stage_collection .step2 .illust {
		width: 100vw;
		margin: 0 -5.33vw;
	}
	.two_stage_collection .summary {
		margin: -8vw 0 0;
	}
	.two_stage_collection .summary p {
		font-size: 4.8vw;
		line-height: 1.56;
	}
	.two_stage_collection .summary p .em {
		font-size: 5.87vw;
	}
}

/*--------------------------------
.smart_mist_features
--------------------------------*/
.smart_mist_features .text {
	text-align: left;
}
.smart_mist_features .point1,
.smart_mist_features .point2 {
	display: flex;
}
.smart_mist_features .point3 .list ul {
	display: flex;
}
.smart_mist_features .point3 .list li {
	background: #ebebeb;
}
.smart_mist_features .point3 .list li .text_area dt {
	color: #2b496a;
	text-align: left;
}
.smart_mist_features .point3 .list li .text_area dd {
	text-align: left;
}
@media ( min-width: 601px ) {
	.smart_mist_features {
		padding: 70px 0 72px;
		background: url('img/smart_mist_features_bg.jpg') no-repeat left top/cover;
	}
	.smart_mist_features .underline_title {
		margin: 0 0 40px;
	}
	.smart_mist_features .point1 {
		margin: 0 0 37px;
	}
	.smart_mist_features .point_wrap .point {
		margin: 0 0 15px;
	}
	.smart_mist_features .point1 .point {
		width: 181px;
	}
	.smart_mist_features .point2 .point {
		width: 180px;
	}
	.smart_mist_features .point3 .point {
		width: 179px;
	}
	.smart_mist_features .point_wrap .bg_navy_title {
		margin: 0 0 24px;
	}
	.smart_mist_features .text {
		line-height: 1.69;
	}
	.smart_mist_features .text .comment {
		font-size: 20px;
	}
	.smart_mist_features .point3 .list li .img {
		border: 2px solid #ebebeb;
	}
	.smart_mist_features .point3 .list li .text_area {
		padding: 18px;
	}
	.smart_mist_features .point3 .list li .text_area dt {
		margin: 0 0 18px;
	}
	.smart_mist_features .point3 .list li .text_area dd {
		font-size: 22px;
		line-height: 1.55;
	}
}
@media ( min-width: 961px ) {
	.smart_mist_features .point2 {
		flex-direction: row-reverse;
	}
	.smart_mist_features .point_wrap {
		gap: 0 70px;
	}
	.smart_mist_features .point1 .content {
		width: calc(100% - (70px + 46%));
	}
	.smart_mist_features .point1 .img {
		width: 46%;
		max-width: 520px;
	}
	.smart_mist_features .point2 {
		margin: 0 0 25px;
	}
	.smart_mist_features .point2 .content {
		width: calc(100% - (70px + 45%));
	}
	.smart_mist_features .point2 .img {
		width: 45%;
		max-width: 508px;
	}
	.smart_mist_features .point3 .list ul {
		gap: 0 20px;
	}
	.smart_mist_features .point3 .list li {
		width: calc((100% - 40px) / 3);
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.smart_mist_features .point_wrap {
		gap: 20px 0;
	}
	.smart_mist_features .point3 .list {
		max-width: 666px;
		margin: 0 auto;
	}
	.smart_mist_features .point3 .list ul {
		gap: 30px 0;
	}
}
@media ( max-width: 960px ) {
	.smart_mist_features .point1,
	.smart_mist_features .point2 {
		flex-direction: column;
	}
	.smart_mist_features .point3 .list ul {
		flex-direction: column;
	}
}
@media ( max-width: 600px ) {
	.smart_mist_features {
		padding: 10.67vw 0 0;
		background: url('img/smart_mist_features_bg_sp.jpg') no-repeat left top/cover;
	}
	.smart_mist_features .underline_title {
		margin: 0 0 10.67vw;
	}
	.smart_mist_features .point_wrap {
		gap: 5.33vw 0;
	}
	.smart_mist_features .point1 {
		margin: 0 0 10.67vw;
	}
	.smart_mist_features .point2 {
		margin: 0 0 4vw;
	}
	.smart_mist_features .point_wrap .point {
		margin: 0 0 3.73vw;
	}
	.smart_mist_features .point1 .point {
		width: 36.27vw;
	}
	.smart_mist_features .point2 .point {
		width: 36vw;
	}
	.smart_mist_features .point3 .point {
		width: 36vw;
	}
	.smart_mist_features .point_wrap .bg_navy_title {
		margin: 0 0 5.33vw;
	}
	.smart_mist_features .point1 .img,
	.smart_mist_features .point2 .img {
		width: 100vw;
		margin: 0 -5.33vw;
	}
	.smart_mist_features .text {
		line-height: 1.78;
	}
	.smart_mist_features .text .comment {
		font-size: 4.27vw;
	}
	.smart_mist_features .point3 .list ul {
		gap: 5.33vw 0;
	}
	.smart_mist_features .point3 .list li .img {
		border: 0.53vw solid #ebebeb;
	}
	.smart_mist_features .point3 .list li .text_area {
		padding: 4.8vw;
	}
	.smart_mist_features .point3 .list li .text_area dt {
		font-size: 5.87vw;
		margin: 0 0 2.67vw;
	}
	.smart_mist_features .point3 .list li .text_area dd {
		line-height: 1.56;
	}
}

/*--------------------------------
.option_unit
--------------------------------*/
.option_unit {
	overflow: hidden;
}
.option_unit .item_list ul {
	display: flex;
}
.option_unit .item_list li {
	position: relative;
}
.option_unit .item_list li .block {
	background: #2b496a;
}
.option_unit .item_list .item_name {
	color: #2b496a;
	background: #fff;
}
.option_unit .item_list .item_name .em {
	display: block;
}
.option_unit .item_list .explanation {
	color: #fff;
}
.option_unit .item_list li .item_photo {
	position: absolute;
}
@media ( min-width: 601px ) {
	.option_unit {
		padding: 70px 0 72px;
	}
	.option_unit .underline_title {
		margin: 0 0 73px;
	}
	.option_unit .item_list {
		margin: 0 0 72px;
	}
	.option_unit .item_list .item_name .em {
		display: block;
		margin: 0 0 9px;
	}
	.option_unit .item_list .block {
		border: 2px solid #2b496a;
	}
	.option_unit .item_list .item_name {
		padding: 10px;
	}
	.option_unit .item_list .explanation {
		line-height: 1.42;
		padding: 14px 10px 15px;
		font-size: min(26px,2vw);
	}
	.option_unit .item_list li .item_photo {
		top: 50%;
		transform: translateY(-50%);
	}
}
@media ( min-width: 961px ) {
	.option_unit .item_list li:nth-child(1) {
		width: 45.5%;
	}
	.option_unit .item_list li:nth-child(2) {
		width: 54.5%;
	}
	.option_unit .item_list .item_name {
		font-size: min(26px,2vw);
	}
	.option_unit .item_list .item_name .em {
		font-size: min(32px,2.46vw);
	}
	.option_unit .item_list li .block {
		max-width: 334px;
	}
	.option_unit .item_list li:nth-child(1) .item_photo {
		width: min(257px,19.77vw);
		right: calc(max(15px,1.15vw) * -1);
	}
	.option_unit .item_list li:nth-child(2) .item_photo {
		width: min(374px,28.77vw);
		right: calc(max(30px,2.31vw) * -1);
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.option_unit .item_list {
		max-width: 600px;
		margin: 0 auto 72px;
	}
	.option_unit .item_list ul {
		gap: 60px 0;
	}
	.option_unit .item_list .item_name .em {
		font-size: 32px;
	}
	.option_unit .item_list li:nth-child(1) .item_photo {
		width: 257px;
		right: 0;
	}
	.option_unit .item_list li:nth-child(2) .item_photo {
		width: 300px;
		right: -60px;
	}
}
@media ( max-width: 960px ) {
	.option_unit .item_list ul {
		flex-direction: column;
	}
	.option_unit .item_list .item_name,
	.option_unit .item_list .explanation {
		text-align: left;
	}
}
@media ( max-width: 600px ) {
	.option_unit {
		padding: 10.67vw 0;
	}
	.option_unit .underline_title {
		margin: 0 0 11.2vw;
	}
	.option_unit .item_list {
		margin: 0 0 5.33vw;
	}
	.option_unit .item_list ul {
		gap: 5.87vw 0;
	}
	.option_unit .item_list .item_name .em {
		margin: 0 0 1.33vw;
	}
	.option_unit .item_list .block {
		border: 0.53vw solid #2b496a;
	}
	.option_unit .item_list .item_name {
		padding: 3.2vw 4.53vw 3.47vw;
	}
	.option_unit .item_list .explanation {
		line-height: 1.39;
		padding: 3.73vw 4.53vw 4vw;
	}
	.option_unit .item_list li .item_photo {
		top: 50%;
		transform: translateY(-50%);
	}
	.option_unit .item_list li:nth-child(1) .item_photo {
		width: 53.07vw;
		right: -5.33vw;
	}
	.option_unit .item_list li:nth-child(2) .item_photo {
		width: 54.13vw;
		right: -6.67vw;
	}
}
.option_unit .item_info ul {
	display: flex;
	flex-direction: column;
}
.option_unit .item_info .title {
	text-align: left;
}
.option_unit .item_info .title .wrap {
	color: #fff;
	background: #2b496a;
	box-sizing: border-box;
	display: inline-flex;
	position: relative;
}
.option_unit .item_info .title .wrap::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent #fff transparent;
	position: absolute;
	right: 0;
	bottom: 0;
}
.option_unit .item_info .title .wrap .em {
	color: #ffc103;
}
.option_unit .item_info li:nth-child(1) .layout_block {
	display: flex;
}
.option_unit .item_info .text_area .text {
	text-align: left;
}
@media ( min-width: 601px ) {
	.option_unit .item_info ul {
		gap: 42px 0;
	}
	.option_unit .item_info li {
		border: 2px solid #2b496a;
	}
	.option_unit .item_info .title .wrap {
		font-size: 32px;
		padding: 0 108px 0 45px;
	}
	.option_unit .item_info li .layout_block {
		padding: 30px;
	}
	.option_unit .item_info li:nth-child(2) .layout_block:first-of-type {
		margin: 0 0 10px;
	}
	.option_unit .item_info li:nth-child(2) .layout_block:last-of-type {
		padding-top: 0;
		display: flex;
	}
	.option_unit .item_info li:nth-child(1) .text_area .text {
		margin: 0 0 40px;
	}
	.option_unit .item_info li .text_area .text {
		line-height: 1.69;
	}
}
@media ( min-width: 961px ) {
	.option_unit .item_info .title .wrap {
		align-items: center;
		height: 90px;
	}
	.option_unit .item_info .title .wrap::before {
		border-width: 0 0 90px 80px;
	}
	.option_unit .item_info li:nth-child(1) .layout_block {
		gap: 0 40px;
	}
	.option_unit .item_info li:nth-child(2) .layout_block {
		gap: 0 27px;
	}
	.option_unit .item_info li:nth-child(2) .layout_block .time {
		width: 413px;
	}
	.option_unit .item_info li:nth-child(2) .layout_block:last-of-type .text_area {
		width: calc(100% - 440px);
	}
	.option_unit .item_info li:nth-child(1) .photo {
		width: 40.9%;
		max-width: 470px;
		flex-shrink: 0;
		position: relative;
		z-index: 5;
	}
	.option_unit .item_info li:nth-child(1) .text_area {
		width: calc((100% - (40.9% + 40px)));
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.option_unit .item_info .title .wrap {
		height: 110px;
	}
	.option_unit .item_info .title .wrap::before {
		border-width: 0 0 110px 80px;
	}
	.option_unit .item_info li:nth-child(1) .layout_block {
		gap: 40px 0;
	}
	.option_unit .item_info li:nth-child(2) .layout_block:last-of-type .time {
		margin: 0 0 30px;
	}
}
@media ( max-width: 960px ) {
	.option_unit .item_info .title .wrap {
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		line-height: 1.28;
	}
	.option_unit .item_info .layout_block {
		flex-direction: column;
	}
}
@media ( max-width: 600px ) {
	.option_unit .item_info li {
		border: 0.53vw solid #2b496a;
		margin-bottom: 4vw;
	}
	.option_unit .item_info .title .wrap {
		height: 17.87vw;
		padding: 0 14.93vw 0 4.53vw;
	}
	.option_unit .item_info .title .wrap::before {
		border-width: 0 0 18.13vw 12.27vw;
	}
	.option_unit .item_info li .layout_block {
		padding: 4vw;
	}
	.option_unit .item_info li:nth-child(2) .layout_block:last-of-type {
		padding-top: 0;
	}
	.option_unit .item_info li:nth-child(1) .layout_block {
		gap: 5.33vw 0;
	}
	.option_unit .item_info li:nth-child(1) .photo {
		width: 81.33vw;
		margin: 0 auto;
	}
	.option_unit .item_info li:nth-child(2) .text_area:not(:last-of-type) {
		margin: 0 0 8vw;
	}
	.option_unit .item_info li .text_area .text {
		line-height: 1.33;
	}
	.option_unit .item_info li:nth-child(1) .text_area .text {
		margin: 0 0 8vw;
	}
	.option_unit .item_info li:nth-child(1) .text_area .time {
		width: 62.13vw;
		margin: 0 auto;
	}
	.option_unit .item_info li:nth-child(2) .text_area .text {
		margin: 0 0 5.33vw;
	}
	.option_unit .item_info li:nth-child(2) .shapes {
		width: 78.93vw;
		margin: 0 auto;
	}
	.option_unit .item_info li:nth-child(2) .time {
		width: 62.13vw;
		margin: 0 auto 5.33vw;
	}
}
@media ( min-width: 1201px ) {
	.option_unit .item_info li:nth-child(1) .photo {
		margin: -73px 0 0;
	}
}
/*-----------------------------------------
.purpose
-----------------------------------------*/
.purpose .purpose01 .purpose_area .text_area dt {
	background: #2b496a;
	color: #fff;
}
.purpose .purpose01 .purpose_area .text_area dd {
	text-align: left;
	line-height: 1.2;
}
.purpose .purpose02 .text {
	line-height: 1.4;
}
@media ( min-width: 601px ){
	.purpose {
		padding: 70px 0;
		background: url('img/contact_bg.jpg') no-repeat left top/cover;
	}
	.purpose h2 {
		margin-bottom: 40px;
	}
	.purpose .purpose01 {
		margin-bottom: 40px;
	}
	.purpose .purpose01 .purpose_area .img_area {
		float: left;
		width: 47%;
	}
	.purpose .purpose01 .purpose_area .text_area {
		float: right;
		width: 47%;
	}
	.purpose .purpose01 .purpose_area .text_area dt {
		font-size: 32px;
		width: 280px;
		padding: 10px 0;
		margin-bottom: 20px;
	}
	.purpose .purpose01 .purpose_area .text_area dd {
		font-size: 26px;
		margin-bottom: 30px;
	}
	.purpose .purpose02 .text {
		font-size: 32px;
		margin-bottom: 40px;
	}
	.purpose .purpose02 .text span {
		font-size: 20px;
	}
	.purpose .purpose02 .parts_img li {
		display: inline-block;
		width: 13.4%;
	}
}
@media ( max-width: 600px ) {
	.purpose {
		padding: 10.6vw 0;
		background: url('img/contact_bg_sp.jpg') no-repeat left top/cover;
	}
	.purpose h2 {
		margin-bottom: 10.6vw;
	}
	.purpose .purpose01 {
		margin-bottom: 40px;
	}
	.purpose .purpose01 .purpose_area .img_area {
		margin-bottom: 5.333vw;
	}
	.purpose .purpose01 .purpose_area .text_area dt {
		font-size: 5.8vw;
		width: 100%;
		padding: 2.6vw 0;
		margin-bottom: 4vw;
	}
	.purpose .purpose01 .purpose_area .text_area dd {
		font-size: 4.8vw;
		margin-bottom: 5.333vw;
	}
	.purpose .purpose02 .inner {
		padding: 0;
		width: 100%;
		overflow: hidden;
	} 
	.purpose .purpose02 .text {
		font-size: 5.8vw;
		margin-bottom: 5.333vw;
	}
	.purpose .purpose02 .text span {
		font-size: 4.2vw;
	}
	.purpose .purpose02 .slider {
		width: 250%;
		height:auto;
		overflow: hidden;
	}
	.purpose .purpose02 .slider img {
		width:100%;
	}
	.purpose .purpose02 .slider .slick-slide {
	    margin:0 2vw;
	}
	.purpose .purpose02 .parts_img li {
		float: left;
		width: 26.1vw;
		margin: 0 2vw;
		display: block;
	}
}
/*-----------------------------------------
.support
-----------------------------------------*/
.support {
	background: #eff5f7;
}
.support h2 {
	color: #2b496a;
}
@media ( min-width: 601px ){
	.support {
		padding-top: 70px;
	}
	.support h2 {
		font-size: 70px;
		margin-bottom: 30px;
	}
	.support .text {
		font-size: 26px;
	}
}
@media ( max-width: 600px ) {
	.support {
		padding-top: 10.6vw;
	}
	.support h2 {
		font-size: 7vw;
		margin-bottom: 3.7vw;
	}
	.support .text {
		font-size: 4.8vw;
	}
	.support .img_area img {
		width: 100%;
	}
}
/*-----------------------------------------
.last_tel
-----------------------------------------*/
.last_tel {
	position: relative;
	color: #fff;
}
.last_tel::before {
	position: absolute;
	content: '';
	width: 3em;
	height: 2em;
	left: 0;
	right: 0;
	margin: auto;
	top: -5px;
	background: url('img/last_tel_tr.png') no-repeat center/contain;
	z-index: 99;
}
.last_tel .tel a {
	color: #fff;
}
.last_tel .text {
	line-height: 1.4;
}
@media ( min-width: 601px ){
	.last_tel {
		background: url('img/last_tel_bg.jpg') no-repeat left top/cover;
		padding: 100px 0 70px;
	}
	.last_tel h2 {
		font-size: 50px;
		margin-bottom: 25px;
	}
	.last_tel .tel {
		font-size: 46px;
		margin-bottom: 25px;
	}
	.last_tel .tel a {
		pointer-events: none;
	}
	.last_tel .text {
		font-size: 20px;
	}
}
@media ( max-width: 600px ) {
	.last_tel {
		background: url('img/last_tel_bg_sp.jpg') no-repeat left top/cover;
		padding: 10vw 0 8vw; 
	}
	.last_tel h2 {
		font-size: 8vw;
		margin-bottom: 25px;
	}
	.last_tel .tel {
		font-size: 7vw;
		margin-bottom: 25px;
	}
	.last_tel .text {
		font-size: 4.7vw;
	}
}
/*-----------------------------------------
.contact
-----------------------------------------*/
.contact form {
	background: #fff;
}
.contact h2 {
	text-align: center;
	color: #2b496a;
}
.contact dl {
	text-align: left;
	overflow: hidden;
}
.contact .thanks_text {
	line-height: 2;
}
.contact dt, .contact dd {
	display: block;
}
.contact dd ul.check label {
	display: block;
	position: relative;
	padding-left: 1.5em;
	cursor: pointer;
	line-height: 1.4;
}
.contact dd {
	border: 1px solid #bababa;
}
.contact.notop dd {
	border: 0;
	border-bottom: 1px solid #b9b9b9;
}
.contact dd.privacy {
	border: 0;
	padding: 0;
}
.contact dd ul.check label::before {
	position: absolute;
	content: '';
	width: 1em;
	height: 1em;
	top: 0.1em;
	left: 0;
	background: #b9b5b4;
	border-radius: 50%;
}
.contact dt .req {
	color: #fff;
	background: #d70c19;
	line-height: 1;
}
.contact dd [type="text"] {
	width: 100%;
	height: 2em;
	font-size: inherit;
	font-family: inherit;
	border: 0;
	border-radius: 0.2em;
	box-sizing: border-box;
	outline: none;
}
.contact::placeholder,
.contact::-ms-input-placeholder,
.contact:-ms-input-placeholder
 {
 	color: #b6b6b6;
}
.contact dd textarea {
	width: 100%;
	height: 12em;
	font-size: inherit;
	font-family: inherit;
	vertical-align: top;
	resize: none;
	border: 0;
	border-radius: 0.2em;
	box-sizing: border-box;
	outline: none;
}
.contact dd span.err {
	position: absolute;
	display: block;
	font-size: 80%;
	color: #d70c19;
}
.contact .privacy {
	text-align: left;
}
.contact .privacy a {
	text-decoration: underline;
}
.contact .privacy a:hover {
	text-decoration: none;
}
.contact .privacy input {
	position: relative;
}
.contact .privacy input::before {
	position: absolute;
	content: '';
	width: 1em;
	height: 1em;
	left: 0;
	background: #fff url('img/check_box_off.png') no-repeat center/contain;
}
.contact .privacy input[type="checkbox"]:checked::before {
	background: #fff url('img/check_box_on.png') no-repeat center/contain;
}
.contact .btn {
	margin-top: 2em;
}
.contact .btn button,
.contact .btn a {
	display: block;
	margin: 0 auto;
	padding: 1em 2em;
	font: inherit;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background: #d70c19;
	border: none;
	outline: none;
	box-sizing: border-box;
	cursor: pointer;
	font-size: 20px;
}
.contact .btn button:not(.back),
.contact .btn a:not(.back) {
	position: relative;
	background: #d70c19;
}
.contact .btn button:not(.back)::before,
.contact .btn a:not(.back)::before {
	content: '';
	display: block;
	background: url('img/form_btn_arrow.png') no-repeat left top/cover;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 21px;
	height: 21px;
	right: 60px;
}
.contact .btn button.back,
.contact .btn a.back {
	width: 248px;
	position: relative;
	background: #bd8e00;
}
.contact .btn button.back::before,
.contact .btn a.back::before {
	content: '';
	display: block;
	background: url('img/form_btn_arrow.png') no-repeat left top/cover;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 21px;
	height: 21px;
	right: 60px;
}
@media ( min-width: 601px ){
	#contact {
		padding: 80px 0 0;
		background: url('img/contact_bg.jpg') no-repeat left top/cover;
	}
	#contact.contact.notop {
		padding: 120px 0 70px;
	}
	.contact h2 {
		font-size: 50px;
		margin-bottom: 25px;
	}
	.contact .text {
		font-size: 20px;
		margin-bottom: 35px;
	}
	.contact form {
		font-size: 26px;
		padding: 40px;
		box-sizing: border-box;
	}
	.contact dt .req {
		font-size: 16px;
		padding: 1px 5px;
		margin-left: 20px;
	}
	.contact dt {
		margin-bottom: 20px;
	}
	.contact dd {
		font-size: 16px;
		margin-bottom: 30px;
		padding: 15px 20px;
	}
	.contact dd span.err {
		margin-top: 1.4em;
	}
	.contact dd.privacy span.err {
		font-size: 63%;
	}
	.contact.notop dd {
		padding: 0 0 25px;
		margin-bottom: 25px;
	}
	.contact::placeholder,
	.contact::-ms-input-placeholder,
	.contact:-ms-input-placeholder
	 {
	 	font-size: 16px;
	}
	.contact .privacy {
		font-size: 20px;
	}
	.contact .privacy label {
		padding-left: 15px;
	}
	.contact .privacy input::before {
		top: -0.2em;
	}
	.contact.notop .btn {
		margin-top: 15px;
	}
	.contact .btn button,
	.contact .btn a {
		display: inline-block;
		font-size: 30px;
		padding: 25px 85px 25px 40px;
	}
	.contact.notop .btn button,
	.contact.notop .btn a　{
		width: 390px;
		margin: 0 10px 25px;
	}
	.contact.notop .btn button.back,
	.contact.notop .btn a.back {
		padding: 25px 80px 25px 20px;
	}
	.contact .btn button:not(.back)::before,
	.contact .btn a:not(.back)::before {
		right: 40px;
		transition: all .3s;
	}
	.contact .btn button:not(.back):hover::before,
	.contact .btn a:not(.back):hover::before {
		right: 30px;
	}
	.contact.notop .btn button:not(.back)::before,
	.contact.notop .btn a:not(.back)::before {
		right: 90px;
		transition: all .3s;
	}
	.contact.notop .btn button:not(.back):hover::before,
	.contact.notop .btn a:not(.back):hover::before {
		right: 80px;
	}
	.contact.notop .btn button.back::before,
	.contact.notop .btn a.back::before {
		right: 40px;
		transition: all .3s;
	}
	.contact.notop .btn button.back:hover::before,
	.contact.notop .btn a.back:hover::before {
		right: 30px;
	}
	.contact.notop .btn.top_btn {
		width: 390px;
		margin: 0 auto;
	}
	.contact.notop .btn.top_btn button:not(.back):before,
	.contact.notop .btn.top_btn a:not(.back)::before {
		right: 36px;
		transition: all .3s;
	}
	.contact.notop .btn.top_btn button:not(.back):hover:before,
	.contact.notop .btn.top_btn a:not(.back):hover::before {
		right: 26px;
	}
}
@media ( max-width: 600px ){
	#contact {
		padding: 10.6vw 0 0;
		background: url('img/contact_bg_sp.jpg') no-repeat left top/cover;
	}
	#contact.contact.notop {
		padding: 18vw 0;
	}
	.contact.notop .contact_wrap {
		border-radius: 0 0 2.67vw 2.67vw;
	}
	.contact h2 {
		font-size: 6.9vw;
		margin-bottom: 4.2vw;
	}
	.contact h2 span {
		font-size: 6vw;
	}
	.contact .text {
		font-size: 4.8vw;
		margin-bottom: 5.333vw;
		line-height: 1.4;
	}
	.contact form {
		font-size: 4.8vw;
		padding: 5.333vw;
		box-sizing: border-box;
	}
	.contact dt .req {
		font-size: 4.2vw;
		padding: 0.2vw 2vw;
		margin-left: 3.7vw;
	}
	.contact dt {
		margin-bottom: 3.2vw;
	}
	.contact dd {
		font-size: 3.7vw;
		padding: 2vw 2vw;
		margin-bottom: 5.333vw;
	}
	.contact.notop dd {
		padding: 0 0 5.333vw;
	}
	.contact dd span.err {
		margin-top: 1em;
	}
	.contact dd.privacy span.err {
		font-size: 72%;
	}
	.contact::placeholder,
	.contact::-ms-input-placeholder,
	.contact:-ms-input-placeholder
	 {
	 	font-size: 3.7vw;
	}
	.contact .privacy {
		font-size: 4.2vw;
	}
	.contact .privacy label {
		padding-left: 2.5vw;
	}
	.contact .privacy input::before {
		top: 0;
	}
	.contact.notop .btn {
		margin-top: 4vw;
	}
	.contact .btn button,
	.contact .btn a {
		font-size: 5.333vw;
		margin: 0 auto 4vw;
	}
	.contact .btn button,
	.contact .btn a {
		font-size: 5.333vw;
		padding: 4.2vw 18.6vw 4.2vw 8vw;
	}
	.contact .btn button:not(.back)::before,
	.contact .btn a:not(.back)::before {
		right: 8vw;
	}
	.contact.notop .btn button,
	.contact.notop .btn a　{
		width: 67.7vw;
		margin-bottom: 3vw;
	}
	.contact.notop .btn button.back,
	.contact.notop .btn a.back {
		padding:4.2vw 15vw 4.2vw 4vw;
	}
	.contact.notop .btn button:not(.back)::before,
	.contact.notop .btn a:not(.back)::before {
		right: 18vw;
	}
	.contact.notop .btn button.back::before,
	.contact.notop .btn a.back::before {
		right: 5vw;
	}
	.contact.notop .btn.top_btn {
		width: 68vw;
		margin: 0 auto;
	}
	.contact .thanks_text {
		font-size: 3.8vw;
		margin-bottom: 4vw;
	}
}


/*-----------------------------------------
.company
-----------------------------------------*/
.company .company_wrap dl {
	text-align: left;
	border-top: 1px solid #231815;
	line-height: 1.4;
	letter-spacing: .12rem;
}
.company .company_wrap dl:last-child {
	border-bottom: 1px solid #231815;
}
.company .company_wrap dl dt {
	flex: 0 0 165px;
}
@media ( min-width: 601px ) {
	.company {		
		padding: 70px 0 45px;
		font-size: 26px;
	}
	.company h2 {
		font-size: 32px;
		margin-bottom: 40px;
	}
	.company .company_wrap dl {
		display: flex;
		align-items: top;
		padding: 25px 40px;
		color: #241b02;
		text-align: left;
		border-top: 1px solid #231815;
		line-height: 1.63;
		letter-spacing: .12rem;
	}
	.company dl dd span {
		font-size: 28px;
	}
	.company .company_wrap dl dt {
		flex: 0 0 165px;
	}
}
@media ( max-width: 600px ) {
	.company {		
		padding: 10vw 0 12vw;
		font-size: 4.8vw;
	}
	.company .inner {
		padding: 0;
	}
	.company h2 {
		font-size: 6.9vw;
		margin-bottom: 10.6vw;
	}
	.company .company_wrap dl {
		padding: 5.3vw 5.3vw;
	}
}
/*-----------------------------------------
.pagetop
-----------------------------------------*/
.pagetop a {
	display: block;
	background: #2b496a;
	color: #fff;
	position: relative;
}
.pagetop a::after {
	content: '';
	display: block;
	background: url('img/pagetop_arrow.png') no-repeat left top/cover;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
}
@media ( min-width: 601px ) {
	.pagetop a {
		float: right;
		width: 151px;
		height: 62px;
		padding-top: 30px;
		font-size: 20px;
		box-sizing: border-box;
	}
	.pagetop a::after {
		top: 15px;
		width: 14px;
		height: 8px;
		transition: all .3s;
	}
	.pagetop a:hover::after {
		top: 10px;
	}
}
@media ( max-width: 600px ) {
	.pagetop a {
		margin: 0 auto;
		width: 40.2vw;
		height: 16.5vw;
		padding-top: 8vw;
		font-size: 5.333vw;
		box-sizing: border-box;
	}
	.pagetop a::after {
		top: 15px;
		width: 3.4vw;
		height: 2.1vw;
	}
}

/*-----------------------------------------
footer
-----------------------------------------*/
footer {
	background: #2b496a;
	color: #fff;
}
@media ( min-width: 601px ) {
	footer {
		font-size: 20px;
		padding: 30px 0 120px;
	}
	footer.notop {
		padding: 30px 0;
	}
}
@media ( max-width: 600px )  {
	footer {
		font-size: 4.2vw;
		padding: 5vw 0 33.333vw;
	}
	footer.notop {
		padding: 5vw 0;
	}
}

/*--------------------------
.slick
--------------------------*/
@media ( min-width: 769px ) {
	.purpose .purpose02 .parts_img li {
		width: calc((100% - 66px)/7);
		float: left;
	}
	.purpose .purpose02 .parts_img li:not(:last-child) {
		margin: 0 11px 0 0;
	}
}
@media ( min-width: 601px ) and ( max-width: 768px ) {
	.purpose02 .slider {
		margin: 0 -30px;
	}
	.purpose .purpose02 .parts_img li:not(:last-child) {
		margin: 0 11px 0 0;
	}
}
@media ( max-width: 600px ) {
	.purpose .purpose02 .slider {
		width: 100%;
	}
}