@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Maven+Pro:wght@500&family=Noto+Sans+JP:wght@400;700&display=swap');

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# destyle.cssの追加設定
# common module
  ## 文字設定 / 見出し設定
  ## リンク設定
  ## メディア別表示切り替え設定
  ## ボタン設定
  ## アコーディオン設定
  ## モーダル設定（ボタン色）

# Contents
----------------------------
# body
# header
# ドロワー
# hero
# about__01
# about__02
# 波線イメージ
# コンテンツブロック
# ページトップ 
# お問い合わせ
# Footer
--------------------------------------------------------------*/


/*===============================================================

# destyle.cssの追加設定

===============================================================*/


/*--- add original ---------------------*/

img.cover {
	object-fit: cover;
	font-family: 'object-fit: cover; object-position: top;';
	width: 100%;
	height: 100%;
}

*:focus {
	outline: none;
}

.clearfix::after {
    content:"";
    display:block;
    clear:both;
}

.clear-both {
	clear: both;
}

/*--- safari calc ---------------------*/

_::-webkit-full-page-media, _:future, :root, body {
	-webkit-animation: safariFix 1s forwards infinite;
}
	@-webkit-keyframes safariFix {
		100% {
		z-index: 1;
		}
	}

/*===============================================================

# common module

===============================================================*/


/*　## 文字設定 / 見出し設定
--------------------------------------------------------------*/

html {
    font-size: 62.5%; /*フォントサイズを10px*/
}

body {
	font-family: 'Noto Sans JP', "sans-serif";
	font-size: 1.6rem;/*16px*/
	color: #1F2426;
	line-height: 1.8;
}
	@media screen and (max-width: 768px) {
		body {
			font-size: 1.4rem;/*14px*/
		}
	}


/*見出し スタイル*/
h1,h2,h3,h4,h5,h6 {
	line-height: 1.0;
}

h3 img {
	width: auto;
	height: auto;
}
	@media screen and (max-width: 768px) {
		h3 img {
			width: auto;
			height: 24px;
		}
	}

h2 img {
	width: auto;
	height: auto;
}
	@media screen and (max-width: 768px) {
		h2 img {
			width: auto;
			height: 26px;
		}
	}

h5 {
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	background-color: #034AA6;
	display: inline-block;
	padding: 0.5em 1.5em 0.6em;
	margin-bottom: 1.5em;
	border-radius: 20px
}
	@media screen and (max-width: 768px) {
		h5 {
			font-size: 1.4rem;
			margin-bottom: 1em;
		}
	}

p { 
	margin: 40px 0;
}
	@media screen and (max-width: 768px) {
		p { 
			margin: 20px 0;
		}
	}


.txt--bold {
	font-weight: 700;
}

.txt--small {
	font-size: 1.3rem;
	line-height: 1.6;
}

.txt--red {
	color: #CB0003;
}

.txt--notes {
	font-size: 1.4rem;
	line-height: 1.8;
	margin: 30px 0 0;
}
	@media screen and (max-width: 768px) {
		.txt--notes {
			margin: 20px 0 0;
		}
	}

.txt--shutcho{
	margin: -20px 0 0;
}
	@media screen and (max-width: 768px) {
		.txt--shutcho {
			margin: -20px 0 0;
		}
	}

.txt--tax {
	font-size: 1.4rem;
	line-height: 1.6;
	text-align: right;
	color: #034AA6;
	margin-top: -30px;
}
@media screen and (max-width: 768px) {
	.txt--tax {
		margin-top: 0px;
	}
}

/*　## リンク設定
--------------------------------------------------------------*/

a {
	font-weight: 700;
	color: #034AA6;
	text-decoration: underline;
}

a:hover {
	color: #034AA6;
	text-decoration: none;
}


/*　## メディア別表示切り替え設定
--------------------------------------------------------------*/

@media screen and (min-width: 768px) {
	.is_hidden_PC {
		display: none;
	}
	.is_noBr_PC {
		display: inline;
	}
}

@media screen and (max-width: 768px) {
	.is_hidden_SP {
		display: none;
	}
}

@media screen and (min-width: 1024px) {
	.is_visible_tablet {
		display: none;
	}
}


/*　## ボタン設定
--------------------------------------------------------------*/

/* ボタン */
.btn__base {
	display: inline;
	margin-top: auto;
	border-radius: 2em;
	background: #034AA6;
}

.btn__base a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	padding: 1em 1.5em;
	border-radius: 2em;
	background: #034AA6;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
	text-decoration: none;
	transition: 0.5s;
}
	@media screen and (max-width: 768px) {
		.btn__base a {
			font-size: 1.5rem;
		}
	}

.btn__base a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 2em;
	transition: 0.5s;
	opacity: 0;
	background: transparent linear-gradient(270deg, #034AA6 0%, #2366BC 50%, #034AA6 100%) 0% 0% no-repeat padding-box;
}

.btn__base a:hover {
	box-shadow: 0 6px 15px rgb(126, 135, 147) ;
}

.btn__base a:hover::before {
	opacity: 1;
}

/* ボタン　テキスト */
.btn__base__txt {
	white-space: nowrap;
	margin-right: 0.5em;
	z-index: 2;
}

/* ボタン　アイコン */
.btn__base__icon {
	position: relative;
	display: inline-block;
	width: 1.85em;
	height: 1.85em;
	border: 2px solid #fff;
	border-radius: 50%;
	z-index: 2;
}

.btn__base__icon::before {
	position: absolute;
	content: '';
	vertical-align: middle;
	margin: auto;
	top: 0;
	bottom: 0%;
	left: 0.4em;
	width: 0.6em;
	height: 0.6em;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
	z-index: 2;
}

/* ボタン　アイコン small */
.btn__base__icon.small {
	width: 1.5em;
	height: 1.5em;
}

.btn__base__icon.small::before {
	left: 0.3em;
	width: 0.5em;
	height: 0.5em;
}



/*　## アコーディオン設定
--------------------------------------------------------------*/

.accordion_header {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 400;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
}

.accordion_body {
	display: none;
  }
  

.acordion__ttl {
	width: calc(100% - 30px);
}

.acordion__btn {
	position: relative;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #034AA6;
}

.acordion__btn::before {
	content: '';
	position: absolute;
	left: 5px;
	top: 9px;
	width: 10px;
	height: 2px;
	background: #fff;
	transition: all 0.2s ease-in-out;
}

.acordion__btn::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 9px;
	width: 10px;
	height: 2px;
	background: #fff;
	transform: rotate(90deg);
	transition: all 0.2s ease-in-out;
}

.accordion_header.open .acordion__btn::after {
	transform: rotate(180deg);
}


/*　## モーダル設定（ボタン色）
--------------------------------------------------------------*/

.page .modaal-close:after,
.page .modaal-close:before {
	background: #034AA6 !important;
}
@media screen and (max-width: 768px) {
	.modaal-inner-wrapper {
		padding: 20px;
	}
	.modaal-video-wrap {
		margin: 0 auto;
	}
}


/*　ページトップ設定
--------------------------------------------------------------*/




/*===============================================================

# Contents

===============================================================*/


/*===================================================

  # body

---------------------------------------------------*/

/*body*/.page {
	position: relative;
	/*animation: start 0.5s ease-in;*/
	background-color: #F4FBFF;
}

@keyframes start {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1.0;
	}
}


#is-loading {
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #FFF;
	z-index: 9999;
   }
   #loading {
	display: none;
	z-index: 10000;
   }

   .loading__inner {
	   display: flex;
	   width: 100vw;
	   height: 100vh;
		justify-content: center;
	   align-items: center;
   }

/*===================================================

  # header

---------------------------------------------------*/

/*header */.header__site { 
	position: fixed;
	display: flex;
	justify-content: space-between;
	align-items: center;
    width: 100%;
	height: 78px;
	padding: 0 40px;
	background: #fff;
	z-index: 10;
	transition: .3s;
}
	@media screen and (max-width: 1023px) {
	/*header */.header__site {
		padding-right: 0;
		}
	}
	@media screen and (max-width: 768px) {
		/*header */.header__site {
			height: 60px;
			padding-left: 3%;
			}
	}
	
/* スクロール時非表示 */
header.hide {
	transform: translateY(-78px);
}
@media screen and (max-width: 768px) {
	header.hide {
		transform: translateY(-60px);
	}
}


/* ヘッダー左ブロック 
-------------------------------------------*/ 
.header__site__L {
	display: flex;
	align-items: center;
}

/* NAS ロゴ エンドレス */ 
.header__site__logo {
	box-sizing: content-box;
	margin-right: 23px;
}
	@media screen and (max-width: 768px) {
		.header__site__logo {
			margin-right: 4%;
		}
	}

.header__site__logo a {
	display: block;
}

.header__site__logo a img {
	width: 128px;
	height: auto;
}
	@media screen and (max-width: 768px) {
		.header__site__logo a img {
			width: 112px;
		}
	}
	@media screen and (max-width: 320px) {
		.header__site__logo a img {
			width: 100px;
		}
	}

/* 企業フィットネス ロゴ エンドレス */
.header__site h1 img {
	width: 406px;
	height: auto;
}
@media screen and (max-width: 768px) {
	.header__site h1 img {
		width: 162px;
	}
}
@media screen and (max-width: 320px) {
	.header__site h1 img {
		width: 162px;
		min-width: 162px;
	}
}
/* .header__site h1 img {
	width: 203px;
	height: auto;
}
@media screen and (max-width: 768px) {
	.header__site h1 img {
		width: 162px;
	}
}
@media screen and (max-width: 320px) {
	.header__site h1 img {
		width: 125px;
		min-width: 125px;
	}
} */

/* ヘッダー右ブロック
-------------------------------------------*/ 
nav.header__site__R {
	width: 100%;
	max-width: 830px;
	padding-left: 5%;
}
	@media screen and (max-width: 1023px) {
		nav.header__site__R {
			display: none;
		}
	}

/* ヘッダーメニュー */ 
.header__menu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.header__menu li {
	font-size: 1.4rem;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	margin: 0 0.7em;
}

.header__menu li span {
	display: inline-block;
	white-space: nowrap;
	text-align: center;
}

.header__menu li a {
	position: relative;
	display: block;
	color: #1F2426;
	text-decoration: none;
}


/* 外部リンク アイコン*/
.header__menu a .outter__link {
	position: relative;
	padding-right: 13px;
}
.header__menu a .outter__link::after {
	position: absolute;
	content: "";
	top: 2px;
	right: 0;
	width: 15px;
	height: 15px;
	background: url(../img/icon__link__bk.svg) no-repeat center center;
	background-size: 90%;
}
.header__menu a:hover .outter__link::after {
	background: url(../img/icon__link__blu.svg) no-repeat center center;
	background-size: 90%;
}




/* ホバースタイル */
.header__menu li a:hover {
	color: #034AA6;
}

.header__menu li a::after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 25%;
	width: 50%;
	height: 2px;
	background: #034AA6;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}

.header__menu li a:hover::after {
	transform-origin: left top;
	transform: scale(1, 1);
}

/* :last-child（お問い合わせ） */
.header__menu li:last-child {
	margin-right: 0;
}

.header__menu li:last-child a {
	display: block;
	width: 9em;
	padding: 13px 0;
	border: 1px solid #034AA6;
	border-radius: 30px;
	margin: auto;
	color: #034AA6;
}

.header__menu li:last-child a:hover {
	color: #fff;
	background: #034AA6;
}

.header__menu li:last-child a::after {
	content: none;
}


/*===================================================

  # ドロワー

---------------------------------------------------*/

.drawer {
	display: none;
}
	/*-- ハンバーガー 1023px --*/
	@media screen and (max-width: 1023px) {
		.drawer {
			display: block;
			width: 78px;
			height: 78px;
		}
		.drawer__checkbox {
			display: none;
		}

		/* ハンバーガー*/
		.drawer__icon {
			position: relative;
			display: block;
			width: 78px;
			height: 78px;
			background: #034AA6;
			cursor: pointer;
			transition: 0.3s;
		}
		.drawer__icon-parts{
			position: absolute;
			top: 0;
			left: 23px;
			display: block;
			width: 32px;
			height: 2px;
			margin-bottom: 8px;
			background: #fff;
		}

		/* ハンバーガーの位置設定 */
		.drawer__icon-parts:nth-child(1) { top: 27px; } /* top: 24px;*/
		.drawer__icon-parts:nth-child(2) { top: 38px; }/* top: 32px;*/
		.drawer__icon-parts:nth-child(3) { top: 49px; }/* top: 40px;*/

		/* チェックボックスがチェックされたら*/
		.drawer__checkbox:checked ~ .drawer__icon .drawer__icon-parts:nth-child(1) {
			top: 38px;
			height: 2.5px;
			transform: rotate(45deg); 
		}
		.drawer__checkbox:checked ~ .drawer__icon .drawer__icon-parts:nth-child(2) {
			top: 38px;
			width: 0;
			left: 50%;
		}
		.drawer__checkbox:checked ~ .drawer__icon .drawer__icon-parts:nth-child(3) {
			top: 38px;
			height: 2.5px;
			transform: rotate(-45deg);
		}
		.drawer__checkbox:checked ~ .drawer__menu {
			visibility: visible;
			opacity: 1;
			transform: translateX(0);
		}

		.drawer__icon-parts{
		  -webkit-transition: all 0.6s;
		  transition: all 0.6s;
		}
	}

	/*-- ドロワーメニュー 1023px --*/
	@media screen and (max-width: 1023px) {
		
		/* 重ね順*/
		.drawer__icon { z-index: 11000;	}
		.drawer__menu {	z-index: 10000;	}
		
		.drawer__menu {
			position: fixed;
			top: 0;
			right: 0;
			width: 50%;
			height: 100vh;
			background: #fff;
			color: #fff;
			visibility: hidden;
			opacity: 0;
			overflow-y: hidden;
			overflow-x: hidden;
			transition: all 0.7s ease;
			transform: translateX(50%);
		}

		.drawer__menu__inner {
			width: 100%;
			height: 100%;
			border-left: solid 1px #D6E6EF;
		}

		.drawer__menu--main {
			margin-top: 78px;

		}

		.drawer__menu--main .item {
			font-size: 1.6rem;
			font-weight: 700;
			border-bottom: 1px solid #D6E6EF;
		}

		.drawer__menu a {
			position: relative;
			display: block;
			color: #034AA6;
			text-decoration: none;
			padding: 1.5em;
			transition: 0.3s;
		}

		.drawer__menu a::after {
			content: '';
			position: absolute;
			top: 50%;
			bottom: 50%;
			right: 2em;
			width: 0.5em;
			height: 0.5em;
			margin-left: 10px;
			border-top: 1px solid #034AA6;
			border-right: 1px solid #034AA6;
			transform: rotate(45deg);
			transition: 0.3s;
		}

		.drawer__menu a:hover {
			letter-spacing: 0.1em;
		}

		.drawer__menu a:hover::after {
			transform: rotate(45deg) translate(5px, -5px);
		}

		/* 外部リンク　アイコン */
		.drawer__menu--main .item a span.outter__link {
			position: relative;
			padding-right: 1em;
		}
		.drawer__menu--main .item a span.outter__link::after {
			position: absolute;
			content: "";
			top: 4px;
			right: 0;
			width: 1em;
			height: 1em;
			background: url(../img/icon__link__blu.svg) no-repeat center center;
		}

	}

	/*-- ハンバーガー 768px --*/
	@media screen and (max-width: 768px) {
		.drawer {
			display: block;
			width: 60px;
			height: 60px;
		}

		/* ハンバーガー*/
		.drawer__icon {
			width: 60px;
			height: 60px;
		}
		.drawer__icon-parts{
			left: 20px;
			width: 20px;
		}

		/* ハンバーガーの位置設定 */
		.drawer__icon-parts:nth-child(1) { top: 21px; } /* top: 24px;*/
		.drawer__icon-parts:nth-child(2) { top: 29px; }/* top: 32px;*/
		.drawer__icon-parts:nth-child(3) { top: 37px; }/* top: 40px;*/

		/* チェックボックスがチェックされたら*/
		.drawer__checkbox:checked ~ .drawer__icon .drawer__icon-parts:nth-child(1) {
			top: 29px;
		}
		.drawer__checkbox:checked ~ .drawer__icon .drawer__icon-parts:nth-child(2) {
			top: 29px;
		}
		.drawer__checkbox:checked ~ .drawer__icon .drawer__icon-parts:nth-child(3) {
			top: 29px;
		}
	}

	/*-- ドロワーメニュー 768px --*/
	@media screen and (max-width: 768px) {
		
		.drawer__menu {
			width: 80%;
			height: 100vh;
		}

		.drawer__menu--main {
			margin-top: 60px;

		}
	}



/*===================================================

  # hero

---------------------------------------------------*/

.hero { 
	width: 100%;
	padding-top: 78px;
	background: transparent linear-gradient(0deg, #D1FFFD 0%, #DDF5FF 12%, #F4FBFF 100%) 0% 0% no-repeat padding-box;
}
	@media screen and (max-width: 768px) {
		.hero {
			padding-top: 60px;
		}
	}

.hero__inner { 
	position: relative;
	width: 100%;
	padding-top: 44.666%;
	margin-right: 5%;
	background: url(../img/hero__ph__01.png) center center no-repeat;
	background-size: cover;
}
	@media screen and (max-width: 768px) {
		.hero__inner {
			padding-top: 125.33%;
			background: url(../img/hero__ph__01__sp.jpg) top center no-repeat;
			background-size: cover;
		}
		.hero__inner::after {
			position: absolute;
			content: "";
			bottom: 0;
			left: 0;
			width: 100%;
			height: 0;
			padding-top: 4%;
			background: url(../img/hero__ph__bottom.png) bottom center no-repeat;
			background-size: cover;
			z-index: 100;
		}
	}

/* コピー */
.hero__copy {
	position: absolute;
	top: 32%;
	left: 0;
}

@keyframes copy__in {
	0% {
		opacity: 0;
		transform: translateX(-16%)
	}
	50% {
		opacity: 0;
		transform: translateX(-8%)
	}
	100% {
		opacity: 1;
		transform: translateX(0)
	}
}

.hero__copy li {
	display:block;
	width: auto;
	background: #fff;
	padding: 1vw 3.5vw;
}
.hero__copy li:first-child {
	animation: 1s cubic-bezier(.54,.1,.68,.92) .8s backwards copy__in;
}

.hero__copy li:last-child {
	margin-top: 1vw;
	margin-right: -2vw;
	animation: 1s cubic-bezier(.54,.1,.68,.92) 1.2s backwards copy__in;
}
.hero__copy li:last-child img {
	padding-left: 2vw;
}
.hero__copy img {
	width: auto;
	height: 4.8vw;
}

	@media screen and (max-width: 768px) {
		.hero__copy {
			top: 29%;
		}
		.hero__copy li:last-child {
			margin-top: 2vw;
		}
		.hero__copy img {
			height: 10vw;
		}
	}

/* heroエリア　IE11用 */
	@media all and (-ms-high-contrast: none) {
		.hero__inner { 
			background: url(../img/hero__ph__01__ie.png) center center no-repeat;
			background-size: cover;
		}
		.hero__copy {
			display: none;
		}
	}

	@media all and (max-width: 768px) and (-ms-high-contrast: none) {
		.hero__inner {
				background: url(../img/hero__ph__01__sp__ie.jpg) top center no-repeat;
				background-size: cover;
		}
	}

	




/*===================================================

  # about__01

---------------------------------------------------*/

.about__01{
	position: relative;
	padding-top: 90px;
	margin-bottom: 120px;
}
	@media screen and (max-width: 768px) {
		.about__01 {
			padding-top: 40px;
			margin-bottom: 40px;
		}
	}

.about__01::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
	background: transparent linear-gradient(180deg, rgba(209, 255, 253, 1) 0%, rgba(221, 245, 255, 1) 20%, rgba(244, 251, 255, 1) 100%) 0% 0% no-repeat padding-box;
	z-index: -1;
}

.about__01__inner {
	max-width: 1040px;
	padding: 0 40px;
	margin: 0 auto;
}
	@media screen and (max-width: 768px) {
		.about__01__inner {
			width: 100%;
			padding: 0 5%;
		}
	}

.about__01__box {
	display: flex;
	justify-content: space-between;
}
	@media screen and (max-width: 768px) {
		.about__01__box {
			flex-direction: column;
		}
	}

.about__01__box__txt {
	width: 50%;
}
	@media screen and (max-width: 768px) {
		.about__01__box__txt {
			width: 100%;
		}
	}

	@media screen and (max-width: 768px) {
		.about__01__box__txt h3 img {
			height: 67px;
		}
	}


.about__01__box__ph {
	position: relative;
	width: 45%;
}
	@media screen and (max-width: 768px) {
		.about__01__box__ph  {
			width: 100%;
		}
	}

.about__01__box__ph__inner {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 66.666%;
	overflow: hidden;
}
.about__01__box__ph__inner::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* about__01__01 */
.about__01__01 .about__01__box__ph {
	margin-left: 60px;
}
	@media screen and (max-width: 1023px) {
		.about__01__01 .about__01__box__ph {
			margin-left: 5%;
		}
	}
	@media screen and (max-width: 768px) {
		.about__01__01 .about__01__box__ph {
			margin-left: 0;
		}
	}

.about__01__01 .about__01__box__ph__inner::before {
	background: url(../img/about__01__ph01-2.jpg) no-repeat center center;
	background-size: cover;
}

/* about__01__02 */
.about__01__02 {
	flex-direction: row-reverse;
}
	@media screen and (max-width: 768px) {
		.about__01__02 {
			flex-direction: column;
		}
	}

.about__01__02 .about__01__box__txt {
	margin-top: 0;
}

.about__01__02 .about__01__box__ph {
	margin-right: 60px;
}
	@media screen and (max-width: 1023px) {
		.about__01__02 .about__01__box__ph {
			margin-right: 5%;
		}
	}
	@media screen and (max-width: 768px) {
		.about__01__02 .about__01__box__ph {
			margin-right: 0;
		}
	}

.about__01__02 .about__01__box__ph__inner::before {
	background: url(../img/about__01__ph02-2.jpg) no-repeat center center;
	background-size: cover;
}

/* about__01__details */
.about__01__details {
	max-width: 800px;
	width: 100%;
	height: auto;
	margin: 60px auto;
	box-shadow: #C0E7FC 0 3px 10px;
}
	@media screen and (max-width: 768px) {
		.about__01__details {
			width: 100%;
			margin: 30px auto;
		}
	}

.about__01__details__inner {
	width: 100%;
	height: 0;
	padding-top: 60%;
	position: relative;
}
	@media screen and (max-width: 768px) {
		.about__01__details__inner {
			padding-top: 68%;
		}
	}

.about__01__details__inner::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/about__01__detail__02.png) no-repeat center center;
	background-size: cover;
}
	@media screen and (max-width: 768px) {
		.about__01__details__inner::before {
			background: url(../img/about__01__detail__sp__02.png) no-repeat center center;
			background-size: cover;
		}
			}




/*===================================================

  # about__02 

---------------------------------------------------*/

.about__02 {
	width:100%;
	margin: 0 auto;
	margin-top: 120px;
	margin-bottom: calc(120px - 4%);
}
	@media screen and (max-width: 768px) {
		.about__02 {
			margin: 60px auto 90px;
		}
	}

.about__02__inner {
	max-width:1040px;
	padding: 0 40px;
	margin: 0 auto;
}
	@media screen and (max-width: 768px) {
		.about__02__inner {
			width: 100%;
			padding: 0 5%;
		}
		.about__02__inner p {
			margin-bottom: 30px;
		}
	}

.about__02__card {
	max-width: 1500px;
	padding: 0 40px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	height: 100%;
}
	@media screen and (max-width: 768px) {
		.about__02__card {
			padding: 0 5%;
			flex-direction: column;
		}
	}
	

/*レイアウト カードタイプ2分割 */

.ly__card {
	display: flex;
	justify-content: space-between;
	height: 100%;
}

.ly__card--col2 {
	width: calc(96% / 2);
}
@media screen and (max-width: 768px) {
	.ly__card--col2 {
		width: calc(95% / 2);
	}
}

.ly__card--col4 {
	width: calc(96% / 4);
}
@media screen and (max-width: 1023px) {
	.ly__card--col4 {
		width: calc(96% / 2);
	}
}
@media screen and (max-width: 768px) {
	.ly__card--col4 {
		width: 100%;
	}
}


/* ボタン サービスコンテンツリンク */
.btn__servise {
	margin-bottom: 4%;
}
.btn__servise a {
	display: block;
	border-radius: 20px;
	text-decoration: none;
	overflow: hidden;
}
.btn__servise__ph {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 75%;
	overflow: hidden;
}
	@media screen and (max-width: 1023px) {
		.btn__servise__ph {
			padding-top: 66.66%;
		}
	}

.btn__servise__ph::before{
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.btn__servise a .btn__servise__ph::before {
	transition: 0.5s;
}
.btn__servise a:hover .btn__servise__ph::before {
	transform: scale(1.05);
}

.online .btn__servise__ph::before{
	background: url(../img/btn__service__01.jpg) center center no-repeat;
	background-size: cover;
}
.field .btn__servise__ph::before{
	background: url(../img/btn__service__02.jpg) center center no-repeat;
	background-size: cover;
}
.houjin .btn__servise__ph::before{
	background: url(../img/btn__service__03.jpg) center center no-repeat;
	background-size: cover;
}
.event .btn__servise__ph::before{
	background: url(../img/btn__service__04.jpg) center center no-repeat;
	background-size: cover;
}


/* ボタン　テキスト */
.btn__servise__ttl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.7em 1em 0.9em;
	border-radius: 0 0 20px 20px;
	background-color: rgba(3, 74, 166, 0.9);
}

.btn__servise a .btn--type2__txt {
	color: #fff;
	font-size: 1.6rem;
	transition: .3s;
}
.btn__servise a .btn--type2__txt span{
	font-size: 1.4rem;
}
	@media screen and (max-width: 768px) {
		.btn__servise a .btn--type2__txt {
			font-size: 1.4rem;
		}
	}

.btn__servise a:hover .btn--type2__txt {
	letter-spacing: 0.05em;
}

/* 外部リンク アイコン */
.btn__servise.outter__link  a .btn--type2__txt {
	position: relative;
	padding-right: 16px;
}
.btn__servise.outter__link a .btn--type2__txt::after {
	position: absolute;
	content: "";
	top: 5px;
	right: 0;
	width: 20px;
	height: 20px;
	background: url(../img/icon__link__wh.svg) no-repeat center center;
}
	@media screen and (max-width: 768px) {
		.btn__servise.outter__link a .btn--type2__txt::after {
			top: 4px;
			right: 0;
			width: 15px;
			height: 15px;
			background: url(../img/icon__link__wh.svg) no-repeat center center;
			background-size: 90%;
		}
	}

/* ボタン　アイコン */
.btn__servise a .btn__base__icon {
	transition: .3s;
}

.btn__servise a:hover .btn__base__icon {
	transform: translateX(0.3em);
}
	@media screen and (min-width: 767px) {
		.btn__servise a:hover .btn__base__icon {
			transform: none;
		}
	}


/*===================================================

  # 波線イメージ

---------------------------------------------------*/

.bl__img {
	width: 100%;
	position: relative;
}

.bl__img::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	background: transparent linear-gradient(180deg, #F4FBFF 0%, #EFFCFF 42%, #D1FFFD 88%, #DDF5FF 97%, #DCF5FE 100%) 0% 0% no-repeat padding-box;
	z-index: -1;
}

.bl__img__inner {
	max-width: 1500px;
	height: 0;
	padding-top: 27.767%;
	margin: 0 auto;
}
.online .bl__img__inner{
	background: url(../img/bl__img__online.png) no-repeat center center;
	background-size: contain;
}
.field .bl__img__inner {
	background: url(../img/bl__img__field.png) no-repeat center center;
	background-size: contain;
}
.event .bl__img__inner {
	background: url(../img/bl__img__event.png) no-repeat center center;
	background-size: contain;
}

	@media screen and (max-width: 768px) {
		.bl__img__inner {
			max-width: 100%;
			padding-top: 51.4%;
		}
		.online .bl__img__inner{
			background: url(../img/bl__img__online__sp.png) no-repeat center center;
			background-size: contain;
		}
		.field .bl__img__inner {
			background: url(../img/bl__img__field__sp.png) no-repeat center center;
			background-size: contain;
		}
		.event .bl__img__inner {
			background: url(../img/bl__img__event__sp.png) no-repeat center center;
			background-size: contain;
		}
	}

/*===================================================

  # コンテンツブロック

---------------------------------------------------*/

/* ブロックタイトル */
.bl__ttl {
	padding-top: 60px;
	padding-left: 20px;
	position: relative;
}
	@media screen and (max-width: 768px) {
		.bl__ttl {
			padding-top: 60px;
			padding-left: 3%;
		}
	}

.bl__ttl__en {
	font-family: 'Maven Pro', Sans-serif;
	font-weight: 500;
	font-size: 2.0rem;
	line-height: 1.0;
	color: #9AA5B4;
	margin-bottom: 30px;
}
	@media screen and (max-width: 768px) {
		.bl__ttl__en {
			font-size: 1.4rem;
			margin-bottom: 20px;
		}
	}

.bl__ttl__ja {
	padding-bottom: 30px;
	position: relative;;
}
	@media screen and (max-width: 768px) {
		.bl__ttl__ja {
			padding-bottom: 25px;
		}
	}

h2.bl__ttl__ja::after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 1px #174D91;
	bottom: 0px;
	width: 40px;
}

.bl__ttl__lead {
	font-size: 1.8rem;
	color: #09264A;
	margin: 30px 0;
}
	@media screen and (max-width: 768px) {
		.bl__ttl__lead {
			font-size: 1.5rem;
		}
}

.bl__ttl__lead span {
	font-size: 1.4rem;
}
	@media screen and (max-width: 768px) {
		.bl__ttl__lead span {
			font-size: 1.3rem;
		}
}

/* ブロック スタイル */

.bl__wrapper {
	position: relative;
	width: 100%;
	padding-top: 78px;
	margin-top: -78px;
}
	@media screen and (max-width: 768px) {
		.bl__wrapper {
			padding-top: 59px;
			margin-top: -59px;
			}
	}

.bl__wrapper::before {
	content: '';
	position: absolute;
	top: 78px;
	width: 100%;
	height: 78px;
	background: transparent linear-gradient(180deg, #DEF5FF 0%, #F4FBFF 100%) 0% 0% no-repeat padding-box;
}
	@media screen and (max-width: 768px) {
		.bl__wrapper::before {
			top: 59px;
		}
	}

.bl__inner{
	max-width: 1040px;
	padding: 0 40px;
	margin: 0 auto 60px;
}
	@media screen and (max-width: 768px) {
		.bl__inner{
			max-width: 100%;
			padding: 0 3%;
		}
	}


/* サービス スタイル　*/
.sv {
	margin: 60px 0;
}
	@media screen and (max-width: 768px) {
		.sv {
			margin: 30px 0;
		}
	}

.sv__inner{
	padding: 4%;
	border: 1px solid #C0E7FC;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0px 4px 25px #C0E7FC99;
}
	@media screen and (max-width: 768px) {
		.sv__inner{
			padding: 5%;
		}
	}

/* サービスタイトル */
.sv__ttl {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
	@media screen and (max-width: 768px) {
		.sv__ttl {
			flex-direction: column;
			align-items: flex-start;
		}
	}

.sv__ttl h3 {
	padding: 10px 25px;
	border-left: 6px solid;
	border-image: linear-gradient(180deg, #AFDBEB 0%, #9CE892 100%);
	border-image-slice: 1;
	display: flex;
	flex-direction: column;
}
	@media screen and (max-width: 768px) {
		.sv__ttl h3 {
			padding: 10px 15px 13px;
		}
	}

.sv__ttl--sub {
	font-size: 1.5rem;
	line-height: 1.0;
	font-weight: 700;
	color: #034AA6;
	margin-bottom: 10px;
}
	@media screen and (max-width: 768px) {
		.sv__ttl--sub {
			font-size: 1.2rem;
			margin-bottom: 10px;
		}
	}

/* サービス料金 */
.sv__price {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	color: #034AA6;
	margin-right: 0.4em;
}

.sv__price span {
	line-height: 1.0;
}

.sv__price__ttl{
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
	white-space: nowrap;
	background: #034AA6;
	border-radius: 8px;
	padding: 0.5em 1.3em 0.6em;
	margin-top: 0.05em;
	margin-right: 0.6em;
}
	@media screen and (max-width: 768px) {
		.sv__price__ttl{
			font-size: 1.2rem;
			padding: 0.5em 1.3em;
		}
	}

.sv__price__price {
	font-family: 'Maven Pro', sans-serif;
	font-size: 4.5rem;
	font-weight: 500;
	white-space: nowrap;
	margin-right: 0.1em;
}
	@media screen and (max-width: 768px) {
		.sv__price__price {
			font-size: 2.4rem;
			font-weight: 500;
		}
	}

.sv__price__price.ja {
	font-family: 'Noto Sans JP', "sans-serif";
	font-size: 3.4rem;
	font-weight: 700;
	white-space: nowrap;
	margin-right: 0.1em;
	margin-bottom: 0.1em;
}
.sv__price__price.ja span {
	font-size: 2.4rem;
	vertical-align:top;
}

	@media screen and (max-width: 768px) {
		.sv__price__price.ja {
			font-size: 2.2rem;
		}
		.sv__price__price.ja span {
			font-size: 1.5rem;
		}
	}

.sv__price__adv {
	font-size: 2.3rem;
	font-weight: 700;
	white-space: nowrap;
}
	@media screen and (max-width: 768px) {
		.sv__price__adv {
			font-size: 1.6rem;
		}
	}

.sv__price__time {
	font-family: 'Maven Pro', sans-serif;
	font-size: 3.0rem;
	font-weight: 500;
	letter-spacing: -0.03em;
	white-space: nowrap;
}
	@media screen and (max-width: 768px) {
		.sv__price__time {
			font-size: 2.0rem;
		}
	}

/*料金2種の場合*/
.sv__price__2type .sv__ttl {
	align-items: flex-start;
}

.sv__price__2type .sv__price {
	align-items: flex-start;
	margin-top: 10px;
}
	@media screen and (max-width: 768px) {
		.sv__price__2type .sv__price {
			flex-direction: column;
		}
	}

.sv__price__2type__L {
	margin-top: 0.4em;
}
	@media screen and (max-width: 768px) {
		.sv__price__2type__L {
			margin-top: 0;
		}
	}

.sv__price__2type__R {
	display: flex;
	flex-direction: column;	
}
	@media screen and (max-width: 768px) {
		.sv__price__2type__R {
			margin-top: 0.5em;
		}
	}

.sv__price__2type__box {
	display: flex;
	flex-direction: column;	
}
.sv__price__2type__box + .sv__price__2type__box {
	margin-top: 1em;
}
	@media screen and (max-width: 768px) {
		.sv__price__2type__box {
			flex-direction:row;
			align-items: center;
		}
		.sv__price__2type__box + .sv__price__2type__box {
			margin-top: 0.3em;
		}
	}

.sv__price__2type__box__type {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	padding: 0 1em;
	border: 1px solid #034AA6;
	border-radius: 1rem;
	margin-bottom: 0.3em;
}
	@media screen and (max-width: 768px) {
		.sv__price__2type__box__type {
			font-size: 1.3rem;
			margin-bottom: 0;
			margin-right: 0.5em;
		}
	}

.sv__price__2type__R .mt{
	margin-top: 1em;
}
	@media screen and (max-width: 768px) {
		.sv__price__2type__R .mt {
			margin-top: 0.6em;
		}
	}

.sv__price__2type__box__price {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}

.sv__price__2type .sv__price__price{
	font-size: 3.8rem;
	margin-right: 0.1em;
}
	@media screen and (max-width: 768px) {
		.sv__price__2type .sv__price__price{
			font-size: 2.4rem;
			font-weight: 500;
		}
	}

.sv__price__2type .sv__price__adv {
	font-size: 2.2rem;
}
	@media screen and (max-width: 768px) {
		.sv__price__2type .sv__price__adv {
			font-size: 1.6rem;
		}
	}

.sv__price__2type .sv__price__time {
	font-size: 2.6rem;
}
	@media screen and (max-width: 768px) {
		.sv__price__2type .sv__price__time {
			font-size: 2.0rem;
		}
	}

/*サービス　カテゴリー SP */
	@media screen and (max-width: 768px) {
		.sv h3 {
			margin-bottom: 10px;
		}
		.sv .sv__price span {
			line-height: 1.0;
		}
		.sv .ly__card {
			flex-direction: column;
		}
		.sv .ly__card--col2 {
			width: 100%;
		}
		.sv .ly__card--col2 + .ly__card--col2 {
			margin-top: 20px;
		}
	}


/* サービス　カテゴリーボックス */

.sv__cat__box {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	padding-bottom: 7%;
	background: #F2F2F2;
	border-radius: 10px;
	overflow: hidden;
}
	@media screen and (max-width: 768px) {
		.sv__cat__box {
			padding-bottom: 3.7%;
		}
	}

/* サービス　カテゴリータイトル */
h4.sv__cat__ttl {
	font-size: 2.2rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
	width: 100%;
	padding: 0.8em 1.5em 0.9em;
	border-radius: 10px 10px 0 0;
}
	@media screen and (max-width: 768px) {
		h4.sv__cat__ttl {
			font-size: 1.8rem;
			padding: 0.8em 1.5em 0.9em;
		}
	}


h4.sv__cat__ttl.ly__L {
	background: #54A9C3;
}

h4.sv__cat__ttl.ly__R {
	background: #59B459;
}

/* サービス　ラインナップ */
.sv__cat__lineup {
	width: 86%;
	margin: 7% 7% 0 7%;
	overflow: hidden;
}
	@media screen and (max-width: 768px) {
		.sv__cat__lineup {
			width: 92.6%;
			margin: 3.7% 3.7% 0 3.7%;
		}
	}

.sv__cat__linup__qty {
	white-space: nowrap;
}

.sv__cat__lineup-btn {
	margin-bottom: calc( 7% - 10px );
}
	@media screen and (max-width: 768px) {
		.sv__cat__lineup-btn {
			margin-bottom: calc( 3.7% - 10px );
		}
	}

.sv__cat__lineup li {
	font-size: 1.5rem;
	line-height: 1.6;
	color: #335783;
	background: #fff;
	padding: 0.6em 1.5em;
	margin-bottom: 10px;
	border-radius: 6px;
}
	@media screen and (max-width: 768px) {
		.sv__cat__lineup li {
			font-size: 1.4rem;
			padding: 0.6em 1em;
		}
	}

/* サービス　ラインナップ アコーディオン　展開時 */

.sv__cat__lineup li .sv__movie__details ol {
	border-top: 1px solid #e9e9e9;
	padding-top: 1em;
	margin-top: 0.6em;
}

.sv__cat__lineup li .sv__movie__details li {
	list-style: decimal-leading-zero;
	font-size: 1.4rem;
	padding: 0;
	margin: 0 0 1em 1.8em;
}
	@media screen and (max-width: 768px) {
		.sv__cat__lineup li .sv__movie__details li {
			font-size: 1.2rem;
			margin: 0 0 1em 2em;
		}
	}

/* サービス説明 */
.sv__dsc {
	display: flex;
	justify-content: space-between;
	margin: 40px 0;
}
	@media screen and (max-width: 768px) {
		.sv__dsc  {
			flex-direction: column;
			margin: 20px 0;
		}
	}

.sv__dsc__photo {
	position: relative;
	width: 40%;
}
.sv__dsc__photo__inner {
	width: 100%;
	height: 0;
	padding-top: 66.666%;
}

.sv__dsc__photo::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/sv__02__01__ph.jpg) no-repeat center center;
	background-size: cover;
}
	@media screen and (max-width: 768px) {
		.sv__dsc__photo  {
			width: 100%;
			margin-right: 0;
		}
	}

.sv__dsc__txt {
	width: 56%;
	font-size: 1.5rem;
	margin: 0;
}
	@media screen and (max-width: 768px) {
		.sv__dsc__txt {
			width: 100%;
			font-size: 1.4rem;
			margin-top: 20px;
		}
	}

.sv__dsc__txt p {
	font-size: 1.5rem;
	margin: 0;
}
	@media screen and (max-width: 768px) {
		.sv__dsc__txt {
			font-size: 1.4rem;
			margin-top: 20px;
		}
	}


/* サービス詳細 */
.sv__details{
	position: relative;
	padding: 2em 2% 1em;
	background: #F2F2F2;
	border-radius: 10px;
	margin-top: calc( 40px + 1em);
	margin-bottom: 40px;
}
	@media screen and (max-width: 768px) {
		.sv__details{
			padding: 2em 1em 1em;
			margin-top: calc( 20px + 1em);
			margin-bottom: 20px;
		}
	}

.sv__details h5 {
	position: absolute;
	top: -1em;
	left: 1.2em;
	background: #9EC90F;
}

.sv__details__inner {
	display: flex;
	justify-content: space-between;
	margin: 0 2%;
	align-content: stretch;
}
	@media screen and (max-width: 768px) {
		.sv__details__inner   {
			flex-direction: column;
		}
	}

.sv__details__box {
	display: flex;
	flex-direction: column;
}

.sv__details__box li {
	line-height: 1.6;
	margin-bottom: 0.8em;
}

.sv__details__box li span {
	display: inline-block;
}


/* sv__02__01 体力測定 */

.sv__02__01 .sv__dsc__photo::before{
	background: url(../img/sv__02__01__ph.jpg) no-repeat center center;
	background-size: cover;
}

.sv__02__01 .sv__details__box {
	width: calc( calc( 100% - 2em ) / 3 );
}

.sv__02__01 .sv__details__box li::before {
	content: '●';
	margin-right: 0.5em;
	color: #9EC90F;
}
	@media screen and (max-width: 768px) {
		.sv__02__01 .sv__details__box  {
			width: 100%;
		}
	}


/* sv__02__02 ミライカラダ点検 */

.sv__02__02 .sv__dsc__photo::before{
	background: url(../img/sv__02__02__ph.jpg) no-repeat center center;
	background-size: cover;
}

.sv__02__02 .sv__details__box {
	width: calc( calc( 100% - 1em ) / 3 * 2 );
}
	@media screen and (max-width: 768px) {
		.sv__02__02 .sv__details__box  {
			width: 100%;
			margin-bottom: 0;
		}
	}

.sv__02__02 .sv__details__box li {
	margin-bottom: 1em;
}

.sv__02__02 .sv__details__box li dt {
	font-weight: 700;
}

.sv__02__02 .sv__details__box li dt::before {
	content: '●';
	margin-right: 0.5em;
}

.sv__02__02 .sv__details__box li:nth-child(1) dt {
	color: #54A9C3;
}

.sv__02__02 .sv__details__box li:nth-child(2) dt {
	color: #59B459;
}

.sv__02__02 .sv__details__box li:nth-child(3) dt {
	color: #BA8C35;
}

.sv__02__02 .sv__details__box li dd {
	line-height: 1.6;
}

.sv__details__img {
	width: calc( calc( 100% - 1em ) / 3 * 1 );
	margin-left: 1em;
}
	@media screen and (max-width: 768px) {
		.sv__details__img  {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 60%;
			margin: 0 auto;
		}
	}

.sv__details__img img {
	object-fit: contain;
}


/* sv__02__03 トレーナー相談 */

.sv__02__03 .sv__dsc__photo::before{
	background: url(../img/sv__02__03__ph.jpg) no-repeat center center;
	background-size: cover;
}

.sv__02__03 .sv__details__box {
	width: 100%;
}

.sv__02__03 .sv__details__box li::before {
	content: '●';
	margin-right: 0.5em;
	color: #9EC90F;
}
	@media screen and (max-width: 768px) {
		.sv__02__03 .sv__details__box li {
			padding-left: 1.5em;
			text-indent: -1.5em;
		}
	}

/* sv__03__01 ウォーキングイベント */

.sv__03__01 .sv__dsc__photo::before{
	background: url(../img/sv__03__01__ph.jpg) no-repeat center center;
	background-size: cover;
}





/*===================================================

  # ページトップ

---------------------------------------------------*/

.pagetop {
	z-index: 100;
	position: fixed;
}

.pagetop a {
	position: relative;
	display: block;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background-color: #034AA6;
}
	@media screen and (max-width: 768px) {
		.pagetop a {
			width: 50px;
			height: 50px;
		}
	}

.pagetop a::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: transparent linear-gradient(270deg, #034AA6 0%, #2366BC 50%, #034AA6 100%) 0% 0% no-repeat padding-box;
	opacity: 0;
	transition: 0.5s;
	z-index: 2;
}
	@media screen and (max-width: 768px) {
		.pagetop a::before {
			width: 50px;
			height: 50px;
		}
	}

.pagetop a:hover::before {
	opacity: 1;
}

.pagetop a::after {
	position: absolute;
	content: '';
	top: 30px;
	left: 27.5px;
	width: 15px;
	height: 15px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	transform: rotate(-45deg);
	transition: 0.5s;
	z-index: 3;
}
	@media screen and (max-width: 768px) {
		.pagetop a::after {
			top: 19px;
			left: 19px;
			width: 12px;
			height: 12px;
		}
	}

.pagetop a:hover::after {
	transform: rotate(-45deg) translate(3px, -3px);
}
	@media screen and (max-width: 768px) {
		.pagetop a:hover::after {
			transform: rotate(-45deg) translate(0, 0);
		}
	}


/*===================================================

  # お問い合わせ

---------------------------------------------------*/

.contact {
	width: 100%;
	background: transparent linear-gradient(270deg, #D1F6FF 0%, #E7F5FD 15%, #E7F5FD 85%, #D1F6FF 100%) 0% 0% no-repeat padding-box;
}

.contact__inner {
	max-width: 1040px;
	padding: 100px 40px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
	@media screen and (max-width: 768px) {
		.contact__inner {
			max-width: 100%;
			padding: 50px 5%;
			flex-direction: column;
		}
	}

.contact .bl__ttl {
	width: 65%;
	padding-top: 0;
}
	@media screen and (max-width: 768px) {
		.contact .bl__ttl {
			width: 100%;
			margin-bottom: 30px;
		}
	}

.contact .bl__ttl__lead{
	font-size: 1.6rem;
	margin-bottom: 0;
}
	@media screen and (max-width: 768px) {
		.contact .bl__ttl__lead{
			font-size: 1.4rem;
		}
	}

.contact .btn__base {
	width: 30%;
	margin-top: 0;
	margin-right: 20px;
	border-radius: 4em;
}
	@media screen and (max-width: 768px) {
		.contact .btn__base {
			width: 60%;
			margin-right: 0;
			border-radius: 5em;
		}
	}

.contact .btn__base a {
	padding: 1.2em 0;
}

.contact .btn__base__txt {
	font-size: 1.8rem;
}
	@media screen and (max-width: 768px) {
		.contact .btn__base__txt {
			font-size: 1.7rem;
		}
	}



/*===================================================

  # footer

---------------------------------------------------*/

footer {
	color:#566369;
	width: 100%; 
	padding: 18px 40px;
	background: #fff;
}
	@media screen and (max-width: 768px) {
		footer {
			border-top: none;
			padding: 0 0 15px;
		}
	}

.footer__inner {
	display: flex;
	justify-content: space-between;
}
	@media screen and (max-width: 768px) {
		.footer__inner {
			width: 100%;
			display: block;
		}
	}

.footer__box {
	width: calc( calc(100% - 3%) / 2 );
}
	@media screen and (max-width: 768px) {
		.footer__box {
			width: 100%;
		}
	}

.footer__box a {
	font-weight: 400;
	color: #566369;
	text-decoration: none;
}

.footer__box__L__txt {
	font-size: 1.3rem;
	vertical-align: middle;
	display: inline-block;
}
	@media screen and (max-width: 768px) {
		.footer__box__L__txt {
			font-size: 1.2rem;
			display: block;
			margin-left: 0;
		}
	}

.footer__box__L__list {
	display: flex;
}
	@media screen and (max-width: 768px) {
		.footer__box__L__list + .footer__box__L__list {
			border-top: solid 1px #D6E6EF;
			border-bottom: solid 1px #D6E6EF;
		}
	}

.footer__box__L__list li{
	display: inline;
	padding: 0 1.5em;
	margin-bottom: 8px;
}
	@media screen and (max-width: 768px) {
		.footer__box__L__list li{
			text-align: center;
			width: 50%;
			padding: 1em 0;
			margin-bottom: 0;
			display: block;
		}
	}

.footer__box__L__list li:first-child {
	padding-left: 0;
}

.footer__box__L__list li:nth-child(2) {
	border-left: 1px solid #D6E6EF;
}

.footer__box__R__logo {
	text-align: right;
	margin-top: 0px;
}
	@media screen and (max-width: 768px) {
		.footer__box__R__logo {
			text-align: center;
			margin: 15px 0 5px;
		}
	}

.footer__box__R__logo img {
	height: 15px;
	vertical-align: middle;
	margin-bottom: 5px;
}
	@media screen and (max-width: 768px) {
		.footer__box__R__logo img {
			width: 50%;
		}
	}

.footer__box__R__txt {
	font-family: 'Meven Pro', sans-serif;
	font-weight: 500;
	font-size: 1.2rem;
	text-align: right;
	color: #6c6c6c;
}
	@media screen and (max-width: 768px) {
		.footer__box__R__txt {
			font-size: 1.1rem;
			text-align: center;
		}
	}

/* end
----------------------------------------------------------- */



