@charset "UTF-8";

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}

html{
	font-size: 62.5%;
}
body{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;	/* Regular */
	-webkit-text-size-adjust: 100%;
	line-height: 1.6;
	padding: 90px 0 0;
	color: #333333;
}
body *{
	box-sizing: border-box;
}
ul li,
ol li{
	list-style: none;
}
input,select,button,textarea{
	font-family: inherit;
}
input[type=submit]{
	cursor: pointer;
}
img{
	max-width: 100%;
}
@media screen and (max-width: 950px) {
	body{
		padding: 60px 0 0;
	}
}
a:hover{
	opacity: 0.5;
}
.font-barlow {
	font-family: 'Barlow', sans-serif;
}
/* module
------------------------------------------------------------------------ */
.clearfix:after{
	content:".";
	display:block;
	height:0px;
	clear:both;
	visibility:hidden;
	font-size: 0.1em;
}
.clearfix{
	display:block;
}
.inner{
	margin: 0 auto;
	padding: 0 50px;
	max-width: 1100px;
}
@media screen and (max-width: 767px) {
	.inner{
		padding: 0 4%;
	}
}
.sp { display: none; }
@media screen and (max-width: 767px) {
	.sp { display: block; }
	.pc { display: none; }
}
.btn{
	background: #FAC543;
	background:
		url("../img/icon_chevron-right.0ebfb7a75992.png") no-repeat right 20px center #FAC543;
	background-size: 11px auto, 100% 100%;
	border: none;
	letter-spacing: .05em;
	border-radius: 5px;
	width: 100%;
	max-width: 450px;
	height: 80px;
	font-size: 2.0rem;
	color: #004477;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	text-decoration: none;
}
@media screen and (max-width: 767px) {
	.btn{
		background: #FAC543;
		background:
			url("../img/icon_chevron-right.0ebfb7a75992.png") no-repeat right 15px center #FAC543;
		background-size: 11px auto, 100% 100%;
		max-width: 315px;
		height: 60px;
		font-size: 1.8rem;
	}
}

/* section
------------------------------------------------------------------------ */
.section {
	padding: 80px 0;
}
.section a{
	color: #004477;
}
.section-copy{
	margin: 0 auto 60px;
	text-align: center;
}
.section-copy-head{
	font-size: 2.8rem;
	letter-spacing: 0.1em;
	line-height: 1.46;
	font-weight: 500;
	color: #004477;
}
.section-copy-text{
	margin-top: 50px;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.section{
		padding: 50px 0;
	}
	.section-copy{
		margin-bottom: 35px;
		padding-left: 15px;
		padding-right: 15px;
		text-align: left;
	}
	.section-copy-head{
		font-size: 2.0rem;
		line-height: 1.7;
	}
	.section-copy-text{
		margin-top: 25px;
		font-size: 1.4rem;
		letter-spacing: 0;
	}
}


/* header
------------------------------------------------------------------------ */
header{
	background-color: #ffffff;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 2;
}
header a{
	color: #004477;
	text-decoration: none;
}
header .inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 60px;
}
@media screen and (min-width: 951px) {
	header{
		padding: 30px 0 0;
	}
	.header-logo{
		width: 150px;
	}
	.header-menu-open{
		display: none;
	}
	.header-menu-close{
		display: none;
	}
	.header-menu ul{
		display: flex;
		font-size: 1.5rem;
		letter-spacing: 0.05em;
	}
	.header-menu ul li + li::before{
		content: '｜';
		margin: 0 15px;
		color: #004477;
	}
}
@media screen and (max-width: 950px) {
	.header-logo{
		width: 150px;
	}
	.header-menu-open{
		width: 23px;
	}
	.header-menu-wrap{
		transition: opacity .3s ease-in-out;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: rgba(0, 0, 0, .5);
		opacity: 0;
		pointer-events: none;
		z-index: 2;
	}
	.header-menu-wrap.open{
		opacity: 1;
		pointer-events: unset;
	}
	.header-menu{
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		background-color: #F7F9FC;
	}
	.header-menu-close{
		background-color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		padding: 0 20px;
		height: 60px;
	}
	.header-menu-close img{
		width: 23px;
	}
	.header-menu ul{
		padding: 15px 30px;
		font-size: 1.4rem;
		letter-spacing: 0.05em;
		font-weight: 400;
	}
	.header-menu ul li{
		margin: 20px 0;
	}
}

/* mv
------------------------------------------------------------------------ */
#mv{
	overflow: hidden;
	position: relative;
	z-index: 1;
	height: 300px;
}
.mv-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	z-index: 1;
	padding-left: 50px;
	padding-right: 50px;
	margin: 0 auto;
	max-width: 1100px;
	height: 100%;
}
.mv-main {
	color: #004477;
	width: 100%;
}
.mv-item {
	position: absolute;
	z-index: -1;
	top: 15px;
	right: 0;
	margin-right: -93px;
	width: 40.637%;
	max-width: 447px;
}
.mv-sub {
	font-weight: 400;
	line-height: 1.15;
	font-size: 2.0rem;
	letter-spacing: .2em;
	margin-bottom: 2px;
}
.mv-logo {
	margin-left: -20px;
}
.mv-logo .logo {
	width: 75.583%;
	max-width: 616px;
}
.mv-logo img {
	width: 100%;
}
.mv-title {
	font-weight: 700;
	line-height: 1.542;
	font-size: 2.4rem;
	letter-spacing: .1em;
	margin-top: 9px;
}
.mv-slide {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mv-slide::after {
	content: "";
	background-color: rgba(255, 255, 255, .55);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mv-slide .slick-slide{
	background-size: cover;
	background-position: center center;
	height: 300px;
}
.mv-slide .slick-slide.slide1{
	background-image: url("../img/mv_slide1_pc.4250f16fcb4b.jpg");
}
.mv-slide .slick-slide.slide2{
	background-image: url("../img/mv_slide2_pc.61fc3a4711bf.jpg");
}
.mv-slide .slick-slide.slide3{
	background-image: url("../img/mv_slide3_pc.273135d52693.jpg");
}
@media screen and (max-width: 950px) {
	.mv-logo .logo {
		max-width: 516px;
	}
}
@media screen and (max-width: 767px) {
	#mv{
		height: 136vw;
	}
	.mv-inner {
		flex-direction: column-reverse;
		align-items: flex-start;
		justify-content: flex-end;
		padding-left: 4%;
		padding-right: 4%;
	}
	.mv-main {
		text-align: center;
	}
	.mv-item {
		position: static;
		margin-top: 11.594%;
		margin-right: 0;
		margin-left: 8.696%;
		width: 90.725%;
		max-width: none;
	}
	.mv-sub {
		font-size: 1.8rem;
		letter-spacing: .175em;
		margin-bottom: 0;
	}
	.mv-logo {
		margin-left: 5.217%;
	}
	.mv-logo .logo {
		width: 80.8vw;
		max-width: none;
	}
	.mv-title {
		text-align: left;
		line-height: 1.556;
		font-size: 1.8rem;
		margin-top: 8.696%;
		margin-left: 1.739%;
	}
	.mv-slide::after {
		background-color: rgba(255, 255, 255, .6);
	}
	.mv-slide .slick-slide{
		height: 0;
		padding-top: 136vw;
	}
	.mv-slide .slick-slide.slide1{
		background-image: url("../img/mv_slide1_sp.8752968402c5.jpg");
	}
	.mv-slide .slick-slide.slide2{
		background-image: url("../img/mv_slide2_sp.f53566f142e1.jpg");
	}
	.mv-slide .slick-slide.slide3{
		background-image: url("../img/mv_slide3_sp.8cb1ca6870b2.jpg");
	}
}

/* service
------------------------------------------------------------------------ */
/* intro ----------------- */
.intro-list {
	display: flex;
	margin-left: -20px;
}
.intro-item {
	padding-left: 20px;
	width: calc(100%/3);
}
.intro-main {
	border-radius: 5px;
	background-color: #004477;
	color: #ffffff;
	padding: 30px;
	height: 100%;
}
.intro-title {
	text-align: center;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.9;
	margin-bottom: 27px;
	letter-spacing: .05em;
}
.intro-title .marker {
	background: linear-gradient(#FFC40E, #FFC40E) 100% 100% / 100% 2.5px no-repeat;
	display: inline;
	padding-bottom: 4px;
}
.intro-text {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2;
}
@media screen and (max-width: 767px) {
	.intro-list {
		flex-direction: column;
		margin-left: 0;
	}
	.intro-item {
		padding-left: 0;
		width: 100%;
	}
	.intro-item + .intro-item {
		margin-top: 10px;
	}
	.intro-main {
		padding: 25px 15px;
	}
	.intro-title {
		text-align: left;
		font-size: 1.8rem;
		line-height: 1.5;
		margin-bottom: 16px;
		letter-spacing: .05em;
	}
	.intro-title .marker {
		padding-bottom: 4px;
	}
	.intro-text {
		font-size: 1.2rem;
	}
}

/* system ----------------- */
.system {
	overflow: hidden;
}
.system-content {
	position: relative;
	padding-top: 80px;
	padding-bottom: 80px;
}
.system-content::after {
	content: "";
	background-color: #E6ECEF;
	position: absolute;
	top: 0;
	left: 0;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	height: 100%;
	width: 100vw;
	z-index: -1;
}
.system-img {
	margin-bottom: 40px;
	line-height: 0;
}
.system-img img {
	width: 100%;
	vertical-align: top;
}
.system-note {
	counter-reset: number;
}
.system-note li {
	display: flex;
	align-items: flex-start;
	font-size: 1.2rem;
}
.system-note li:before {
	counter-increment: number;
	content: "※"counter(number);
	display: inline-block;
	margin-right: 8px;
	flex-shrink: 0;
}
.system-note li + li {
	margin-top: 7px;
}
@media screen and (max-width: 767px) {
	.system-content {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.system-img {
		margin-bottom: 25px;
	}
	.system-note li {
		line-height: 1.667;
	}
	.system-note li + li {
		margin-top: 10px;
	}
}

/* feature ----------------- */
.feature-list {
	display: flex;
	margin-left: -20px;
}
.feature-item {
	width: calc(100%/3);
	padding-left: 20px;
}
.feature-main {
	border-radius: 5px;
	background-color: #E6ECEF;
	padding: 30px;
	height: 100%;
}
.feature-img {
	overflow: hidden;
	position: relative;
	max-width: 238px;
	margin-top: 15px;
	margin-left: auto;
	margin-right: auto;
}
.feature-img::before {
	content: "";
	display: block;
	padding-top: 97.059%;
}
.feature-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	vertical-align: top;
}
.feature-item:nth-child(3) .feature-img {
	margin-top: 0;
	margin-left: -4px;
	margin-right: -4px;
	max-width: none;
}
.feature-item:nth-child(3) .feature-img::before {
	padding-top: 91.792%;
}
.feature-title {
	color: #004477;
	line-height: 1.6;
	font-size: 2.0rem;
	font-weight: 500;
	margin-bottom: 20px;
}
* + .feature-title {
	margin-top: 30px;
}
.feature-text {
	line-height: 2;
	font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
	.feature-list {
		flex-direction: column;
		margin-left: 0;
	}
	.feature-item {
		width: 100%;
		padding-left: 0;
	}
	.feature-item + .feature-item {
		margin-top: 10px;
	}
	.feature-main {
		padding: 25px 15px;
		height: auto;
	}
	.feature-img {
		max-width: none;
		margin-top: 0;
		width: 75.556%;
	}
	.feature-img::before {
		display: none;
	}
	.feature-img img {
		position: static;
	}
	.feature-item:nth-child(3) .feature-img {
		margin-left: auto;
		margin-right: auto;
		width: 85.08%;
	}
	.feature-title {
		letter-spacing: .05em;
		line-height: 1.778;
		font-size: 1.8rem;
		margin-bottom: 15px;
	}
	* + .feature-title {
		margin-top: 25px;
	}
	.feature-text {
		font-size: 1.2rem;
	}
}

/* case
------------------------------------------------------------------------ */
.case {
	margin-top: 129px;
}
.case-header {
	border-radius: 5px;
	background-color: #004477;
	position: relative;
	padding: 40px 30px;
	margin-bottom: 64px;
}
.case-header::after {
	content: "";
	position: absolute;
	bottom: -33px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 66px 24px 0 24px;
	border-color: #004477 transparent transparent transparent;
	transform: rotate(38deg);
	z-index: -1;
}
.case-header .title {
	color: #ffffff;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.46;
	letter-spacing: .095em;
	margin-bottom: 15px;
}
.case-header .sub {
	display: block;
	color: #ffffff;
	font-size: 1.4rem;
	font-weight: 500;
}
.case-review {
	display: flex;
	margin-bottom: 50px;
}
.case-review-img {
	flex-shrink: 0;
	width: 290px;
}
.case-review-img img {
	width: 100%;
	vertical-align: top;
}
.case-review-main {
	padding-left: 35px;
	flex-grow: 1;
}
.case-review-main > p {
	line-height: 2;
	font-size: 1.4rem;
}
.case-group {
	border-radius: 5px;
	background-color: #FAFAFA;
	padding: 30px;
	margin-bottom: 50px;
}
.case-group-column {
	display: flex;
	flex-wrap: wrap;
	margin-left: -30px;
	margin-bottom: -30px;
}
.case-group-column-item {
	padding-left: 30px;
	padding-bottom: 30px;
	width: 50%;
}
.case-card {
	display: flex;
}
.case-card-img {
	flex-shrink: 0;
	width: 41.758%;
	max-width: 190px;
}
.case-card-img img {
	width: 100%;
	vertical-align: top;
}
.case-card-main {
	flex-grow: 1;
	padding-left: 20px;
}
.case-card-main > p {
	line-height: 2;
	font-size: 1.4rem;
}
.case-point {
	border-radius: 5px;
	background-color: #E6ECEF;
	padding: 30px 30px 30px 35px;
}
.case-point-name {
	color: #004477;
	letter-spacing: .05em;
	line-height: 1.6;
	font-size: 2.0rem;
	font-weight: 500;
	margin-bottom: 11px;
}
.case-point-text {
	line-height: 2;
	font-size: 1.4rem;
}
.case-point-text a {
	text-decoration: underline;
	color: #1C6CC1;
}
.case-point-text + .case-point-text {
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.case {
		margin-top: 100px;
	}
	.case-header {
		padding: 25px 15px;
		margin-bottom: 45px;
	}
	.case-header::after {
		bottom: -20px;
		border-width: 48px 19px 0 19px;
	}
	.case-header .title {
		font-size: 2.0rem;
		line-height: 1.7;
		letter-spacing: .1em;
		margin-bottom: 10px;
	}
	.case-header .sub {
		font-size: 1.2rem;
	}
	.case-review {
		flex-direction: column;
		margin-bottom: 35px;
	}
	.case-review-img {
		text-align: center;
		width: auto;
	}
	.case-review-main {
		padding-left: 0;
		margin-top: 20px;
	}
	.case-review-main > p {
		font-size: 1.2rem;
	}
	.case-group {
		padding: 25px 4.3478%;
		margin-left: -4.3478%;
		margin-right: -4.3478%;
		margin-bottom: 35px;
	}
	.case-group-column {
		flex-direction: column;
		margin-left: 0;
		margin-bottom: 0;
	}
	.case-group-column-item {
		padding-left: 0;
		padding-bottom: 0;
		width: 100%;
	}
	.case-group-column-item + .case-group-column-item {
		margin-top: 20px;
	}
	.case-card {
		display: block;
	}
	.case-card-img {
		width: 100%;
		max-width: none;
	}
	.case-card-main {
		margin-top: 10px;
		padding-left: 0;
	}
	.case-card-main > p {
		font-size: 1.2rem;
	}
	.case-point {
		padding: 25px 15px;
	}
	.case-point-name {
		line-height: 1.7778;
		font-size: 1.8rem;
		margin-bottom: 15px;
	}
	.case-point-text {
		font-size: 1.2rem;
	}
	.case-point-text + .case-point-text {
		margin-top: 15px;
	}
}

/* function
------------------------------------------------------------------------ */
.function{
	overflow: hidden;
}
.function-item{
	display: flex;
	margin: 40px 0;
}
.function-item-img{
	position: relative;
	flex-shrink: 0;
	width: 290px;
	padding-top: 27px;
}
.function-item-img::before{
	content: '';
	position: absolute;
	top: 0;
	right: 30px;
	background: url("../img/function_item_bg_left.f1e1283260fd.png") no-repeat right 0 #E6ECEF;
	background-size: auto 185px;
	display: block;
	width: 100vw;
	height: 185px;
}
.function-item-img img{
	vertical-align: top;
	position: relative;
	z-index: 1;
}
.function-item-title{
	border-bottom: 1px dotted #004477;
	padding: 27px 0 10px 35px;
	font-size: 2.0rem;
	color: #004477;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.function-item-text{
	margin: 12px 0 0;
	padding: 0 0 0 35px;
	font-size: 1.4rem;
	line-height: 2;
}
.function-item-text-note{
	font-size: 1.2rem;
}
.function-item:nth-child(2n){
	flex-direction: row-reverse;
}
.function-item:nth-child(2n) .function-item-img::before{
	left: 30px;
	background-image: url("../img/function_item_bg_right.cf9c0db7c204.png");
	background-position: left 0;
}
.function-item:nth-child(2n) .function-item-title{
	padding: 25px 35px 10px 0;
}
.function-item:nth-child(2n) .function-item-text{
	padding: 0 35px 0 0;
}
@media screen and (max-width: 767px) {
	.function-item{
		display: block;
		margin: 35px 4vw;
	}
	.function-item:last-of-type {
		margin-bottom: 0;
	}
	.function-item-img{
		width: 100%;
	}
	.function-item-img::before{
		background-size: auto 200px;
		height: 200px;
	}
	.function-item-title{
		padding: 20px 0 10px;
		font-size: 1.8rem;
	}
	.function-item-text{
		padding: 0;
		font-size: 1.2rem;
	}
	.function-item-text-note{
		font-size: 1rem;
	}
	.function-item:nth-child(2n) .function-item-title{
		padding: 20px 0 10px;
	}
	.function-item:nth-child(2n) .function-item-text{
		padding: 0;
	}
}

/* step
------------------------------------------------------------------------ */
.step-list {
	overflow: hidden;
	counter-reset: num;
	display: flex;
}
.step-list li {
	background-color: #E6ECEF;
	width: calc(100%/3);
	position: relative;
}
.step-list li:first-child {
	border-radius: 5px 0 0 5px;
}
.step-list li:last-child {
	border-radius: 0 5px 5px 0;
}
.step-list li + li {
	padding-left: 15px;
}
.step-list li + li::before {
	content: "";
	background: url("../img/step_icon.91b6404591f6.png") no-repeat center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: -10px;
	width: 35px;
	height: 100%;
	margin: auto;
}
.step-item {
	padding: 28px 30px 30px;
}
.step-item-number {
	text-align: center;
}
.step-item-number > span {
	border-bottom: 1px dotted #004477;
	color: #004477;
	display: inline-flex;
	align-items: center;
	text-transform: uppercase;
	line-height: 1.2;
	font-family: 'Barlow', sans-serif;
	font-size: 2.0rem;
	letter-spacing: .1em;
	font-weight: 700;
	position: relative;
	padding-bottom: 2px;
	margin-bottom: 30px;
}
.step-item-number > span::after {
	counter-increment: num;
	content: counter(num);
	display: inline-block;
	font-size: 4.0rem;
	margin-left: 10px;
	line-height: 1;
	position: relative;
	top: -3px;
}
.step-item-title {
	color: #004477;
	font-size: 2.0rem;
	letter-spacing: .05em;
	font-weight: 500;
	line-height: 1.6;
	margin-bottom: 20px;
	min-height: 64px;
}
.step-item-text {
	font-size: 1.4rem;
	line-height: 2;
}
.step-item-text a {
	text-decoration: underline;
	color: #1C6CC1;
}
@media screen and (max-width: 767px) {
	.step-list {
		flex-direction: column;
	}
	.step-list li {
		width: 100%;
	}
	.step-list li:first-child {
		border-radius: 5px 5px 0 0;
	}
	.step-list li:last-child {
		border-radius: 0 0 5px 5px;
	}
	.step-list li + li {
		padding-left: 0;
		padding-top: 8vw;
	}
	.step-list li + li::before {
		background-image: url("../img/step_icon_down.a433e873692d.png");
		left: 0;
		width: 100%;
		height: 8vw;
	}
	.step-item {
		padding: 7.246% 15px 25px;
	}
	.step-item-number > span {
		font-size: 1.8rem;
		padding-bottom: 0;
		margin-bottom: 25px;
	}
	.step-item-number > span::after {
		font-size: 3.5rem;
		top: -3px;
	}
	.step-item-title {
		font-size: 1.8rem;
		margin-bottom: 15px;
		min-height: auto;
	}
}

/* about
------------------------------------------------------------------------ */
.about-logo {
	text-align: center;
	margin-top: 10px;
}
.about-logo img {
	vertical-align: top;
	width: 368px;
}
.about-list {
	display: flex;
	margin-left: -20px;
}
.about-list  > li {
	width: 50%;
	padding-left: 20px;
}
.about-item {
	border-radius: 5px;
	border: 2px solid #004477;
	padding: 30px;
	height: 100%;
}
.about-item-img.img-1 {
	margin: -15px auto 37px;
	max-width: 325px;
}
.about-item-img.img-2 {
	margin: 10px auto 30px;
	max-width: 243px;
}
.about-item-img img {
	vertical-align: top;
	width: 100%;
}
.about-item-title {
	color: #004477;
	text-align: center;
	line-height: 1.6;
	font-size: 2.0rem;
	letter-spacing: .05em;
	font-weight: 500;
	margin-bottom: 20px;
}
.about-item-text {
	line-height: 2;
	font-size: 1.4rem;
}
.about-bottom {
	text-align: center;
	margin-top: 60px;
}
.about-bottom-title {
	color: #004477;
	line-height: 1.45;
	font-size: 2.0rem;
	font-weight: 500;
	letter-spacing: .1em;
	margin-bottom: 30px;
}
.about-bottom-btn {
	max-width: 490px;
}
@media screen and (max-width: 767px) {
	.about .section-copy {
		margin-bottom: 18px;
	}
	.about-logo {
		text-align: left;
		margin-top: 2px;
		margin-left: -15px;
	}
	.about-logo img {
		width: 285px;
	}
	.about-list {
		flex-direction: column;
		margin-left: 0;
	}
	.about-list  > li {
		width: 100%;
		padding-left: 0;
	}
	.about-list  > li + li {
		margin-top: 10px;
	}
	.about-item {
		padding: 25px 15px;
		height: auto;
	}
	.about-item-img.img-1 {
		margin-top: -25px;
		margin-bottom: 31px;
		width: 87.46%;
		max-width: none;
	}
	.about-item-img.img-2 {
		margin-top: 0;
		margin-bottom: 25px;
		width: 78.136%;
		max-width: none;
	}
	.about-item-title {
		text-align: left;
		line-height: 1.5;
		font-size: 1.8rem;
		margin-bottom: 15px;
	}
	.about-bottom {
		margin-top: 35px;
		padding: 0 15px;
	}
	.about-bottom-title {
		text-align: left;
		line-height: 1.5;
		font-size: 1.8rem;
		letter-spacing: .05em;
		margin-bottom: 20px;
	}
	.about-bottom-btn {
		max-width: 315px;
		height: 66px;
	}
}

/* option
------------------------------------------------------------------------ */
.option-price {
	display: flex;
	margin-left: -60px;
}
.option-price-item {
	padding-left: 60px;
	width: 50%;
}
.option-price-item:nth-child(2) {
	position: relative;
}
.option-price-item:nth-child(2)::before {
	content: "";
	background: url("../img/icon_plus.d5959e5c1a8f.png") no-repeat center;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 20px;
	bottom: 0;
	margin: auto 0;
	width: 20px;
	height: 20px;
}
.option-price-main {
	text-align: center;
	color: #ffffff;
	border-radius: 5px;
	background-color: #004477;
	padding-top: 30px;
	padding-bottom: 30px;
	height: 100%;
}
.option-price-sub {
	letter-spacing: .05em;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.7778;
	margin-bottom: 5px;
}
.option-price-num {
	letter-spacing: .05em;
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1;
}
.option-price-num .unit {
	font-weight: 300;
}
.option-price-num small {
	display: inline-block;
	font-size: 1.2rem;
}
.option-note {
	margin-top: 20px;
}
.option-note li {
	position: relative;
	font-size: 1.2rem;
	line-height: 2;
	padding-left: 14px;
}
.option-note li::before {
	content: "※";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}
.option-note li + li {
	margin-top: 6px;
}
.option-note a {
	text-decoration: underline;
	color: #1C6CC1;
}
@media screen and (max-width: 767px) {
	.option-price {
		flex-direction: column;
		margin-left: 0;
	}
	.option-price-item {
		padding-left: 0;
		width: 100%;
	}
	.option-price-item + .option-price-item {
		padding-top: 50px;
	}
	.option-price-item:nth-child(2)::before {
		top: 12px;
		left: 0;
		right: 0;
		bottom: auto;
		margin: auto;
	}
	.option-price-main {
		padding-top: 20px;
		padding-bottom: 20px;
		height: auto;
	}
	.option-price-sub {
		margin-bottom: 0;
	}
	.option-price-num {
		line-height: 1.3;
	}
	.option-price-num small {
		letter-spacing: .05em;
	}
	.option-note li {
		line-height: 1.667;
	}
	.option-note li + li {
		margin-top: 10px;
	}
}

/* qa
------------------------------------------------------------------------ */
.qa-list {
	position: relative;
	padding: 0 0 80px;
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
}
.qa-list::after {
	content: "";
	background: url("../img/icon_ellipsis-v.51bae8a4508d.png") no-repeat center;
	background-size: cover;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 6px;
	height: 44px;
}
.qa-item {
	margin: 50px 0 0;
}
.qa-item-question {
	color: #004477;
	font-size: 2.0rem;
	letter-spacing: 0.1em;
	font-weight: 500;
	position: relative;
}
.qa-item-question::before {
	content: "";
	border-top: 1px solid #004477;
	position: absolute;
	bottom: -1px;
	height: 1px;
	width: calc(100% - 25px);
}
.qa-item-question::after {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: absolute;
	bottom: 0;
	width: 56px;
	height: 50px;
}
.qa-item-answer {
	font-size: 1.4rem;
	line-height: 2;
	position: relative;
}
.qa-item-answer::after {
	content: "";
	background-image: url("../img/icon_lightbulb-on.4143adba5db6.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: absolute;
	top: 20px;
	width: 50px;
	height: 50px;
}
.qa-item:nth-child(2n+1) .qa-item-question {
	padding: 10px 0 10px 70px;
}
.qa-item:nth-child(2n+1) .qa-item-question::before {
	right: 0;
}
.qa-item:nth-child(2n+1) .qa-item-question::after {
	background-image: url("../img/icon_question-circle-01.b777ca139e4c.png");
	left: 0;
}
.qa-item:nth-child(2n+1) .qa-item-answer {
	padding: 20px 0 0 70px;
}
.qa-item:nth-child(2n+1) .qa-item-answer::after {
	left: 0;
}
.qa-item:nth-child(even) .qa-item-question {
	padding: 10px 70px 10px 0;
}
.qa-item:nth-child(even) .qa-item-question::before {
	left: 0;
}
.qa-item:nth-child(even) .qa-item-question::after {
	background-image: url("../img/icon_question-circle-02.ee1c7a9844a2.png");
	right: 0;
}
.qa-item:nth-child(even) .qa-item-answer {
	padding: 20px 70px 0 0;
}
.qa-item:nth-child(even) .qa-item-answer::after {
	right: 0;
}
@media screen and (max-width: 767px) {
	.qa .section-copy {
		text-align: center;
	}
	.qa-list {
		padding-bottom: 60px;
	}
	.qa-item {
		margin: 25px 0 0;
	}
	.qa-item-question {
		line-height: 1.5;
		font-size: 1.6rem;
	}
	.qa-item:nth-child(2n+1) .qa-item-question {
		padding-top: 7px;
	}
	.qa-item-answer {
		font-size: 1.2rem;
	}
	.qa-item:nth-child(even) .qa-item-question {
		padding: 10px 0 10px 70px;
	}
	.qa-item:nth-child(even) .qa-item-question::before {
		left: auto;
		right: 0;
	}
	.qa-item:nth-child(even) .qa-item-question::after {
		background-image: url("../img/icon_question-circle-01.b777ca139e4c.png");
		right: auto;
		left: 0;
	}
	.qa-item:nth-child(even) .qa-item-answer {
		padding: 20px 0 0 70px;
	}
	.qa-item:nth-child(even) .qa-item-answer::after {
		right: auto;
		left: 0;
	}
}

/* inquiry
------------------------------------------------------------------------ */
.contact {
	margin-bottom: 80px;
}
.contact .section-copy {
	margin-bottom: 44px;
}
.inquiry-form{
	font-size: 1.4rem;
	color: #5C6B72;
}
.inquiry-form small{
	font-size: 80%;
}
.inquiry-form .red{
	color: #FE595F;
}
.inquiry-form .contact-form {
	max-width: 800px;
	margin: 0 auto;
	border-collapse: separate;
	border-spacing: 0;
	border-top: solid 1px #DDD;
}
.inquiry-form .contact-form tr>* {
	padding: 20px;
	border-bottom: solid 1px #DDD;
}
.inquiry-form .contact-form th {
	width: 1%;
	white-space: nowrap;
	text-align: right;
	vertical-align: middle;
}
.inquiry-form .contact-form td {
	padding-left: 0px;
	text-align: left;
}
.inquiry-form .contact-form input,
.inquiry-form .contact-form textarea {
	width: 100%;
	border: solid 1px #CCC;
	padding: 10px;
	vertical-align: top;
	color: #5C6B72;
}
.inquiry-form .submit{
	margin: 60px auto 0;
	text-align: center;
}
.inquiry-form .submit .btn:hover{
	opacity: 0.5;
}
@media screen and (max-width: 767px) {
	.contact {
		margin-bottom: 50px;
	}
	.contact .section-copy {
		text-align: center;
		margin-bottom: 35px;
	}
	.contact .section-copy-text {
		text-align: left;
	}
	.contact .section-copy-text.center {
		text-align: center;
	}
	.inquiry-form{
		font-size: 1.2rem;
		color: #5C6B72;
		padding: 0 0 20px;
	}
	.inquiry-form small{
		font-size: 80%;
	}
	.inquiry-form .red{
		color: #FE595F;
	}
	.inquiry-form .contact-form,
	.inquiry-form .contact-form tbody,
	.inquiry-form .contact-form tr {
		display: block;
	}
	.inquiry-form .contact-form tr>* {
		display: block;
		padding: 20px 0;
	}
	.inquiry-form .contact-form th {
		border-bottom: none;
		padding-bottom: 10px;
		width: 100%;
		text-align: left;
	}
	.inquiry-form .contact-form td {
		padding-top: 0;
	}
	.inquiry-form .submit{
		margin: 20px auto 0;
	}
}

/* pagetop
------------------------------------ ------------------------------------ */
#pagetop a{
	display: block;
	position: absolute;
	right: 0;
	bottom: 35px;
	line-height: 0;
	width: 50px;
}
@media screen and (min-width: 768px) {
	#pagetop{
		position: fixed;
		margin: 0 0 0 425px;
		z-index: 10;
		right: 100px;
		bottom: 80px;
	}

}
@media screen and (max-width: 767px) {
	#pagetop .inner{
		position: relative;
	}
	#pagetop a{
		right: 10px;
		bottom: 20px;
		width: 40px;
	}
}

/* footer
------------------------------------------------------------------------ */
footer{
	background-color: #004477;
	height: 100px;
	padding: 20px 0;
	color: #ffffff;
}
footer a{
	color: #ffffff;
	text-decoration: none;
}
footer a[target=_blank]{
	background: url("../img/icon_blank.e8386fbf6fc1.png") no-repeat right center;
	background-size: 11px auto;
	padding-right: 20px;
}
footer .inner{
	display: flex;
	justify-content: space-between;
}
.footer-logo img{
	width: 110px;
}
.footer-copyright{
	font-size: 1.1rem;
}
.footer-menu ul{
	display: flex;
	flex-wrap: wrap;
	font-size: 1.2rem;
}
.footer-menu ul li + li::before{
	content: '｜';
	margin: 0 20px;
}
@media screen and (max-width: 767px) {
	footer{
		background-color: #004477;
		height: auto;
		padding: 20px 0 40px;
		text-align: center;
	}
	footer .inner{
		flex-direction: column-reverse;
		align-items: center;
	}
	.footer-left{
		margin: 15px 0 0;
	}
}

.sns_btn a {
	display: inline-block;
	margin: -2px 0 0;
	line-height: 24px;
	vertical-align: top;
}
.sns_btn a + a { margin-left: 5px; }
.sns_btn img { vertical-align: top; }
.sns_btn span { display: none; }
@media screen and (max-width: 950px) {
	.sns_btn a {
		display: block;
		margin: 18px 0;
	}
	.sns_btn a + a { margin-left:0; }
	.sns_btn span {
		display: inline-block;
		margin-left: 5px;
	}
}
