@charset "UTF-8";
/* =============================================

  # 基本設定

  ## 配色

  - #004070;
  - #32a99c;
  - #0069b7;
  - #7bc1f4;
  - #ff2400;
  - #f4f6f8;
  - rgba(244, 246, 248, *);

  - $white: #fff;
  - $black: #333;

  ## ブレイクポイント

  PC 1101
  TB 1100 - 770
  SP 769

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

common

========================================================================== */
.colorsList {
	color:#004070;
	color:#32a99c;
	color:#0069b7;
	color:#7bc1f4;
	color:#ff2400;
	color:#f4f6f8;
}
* {
	box-sizing: border-box;
}

html {
	text-size-adjust: 100%;
}

body {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 1.6rem;
	line-break: normal;
	line-height: 1.7;
	color: #333;
	width: 100%;
	overflow-x: hidden;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}

html,
body {
	/*height: 100%;*/
	line-height: 1.6;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	main {
		overflow: hidden;
	}
}

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

table th,
table td {
	border-collapse: collapse;
	border-spacing: 0;
}

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

.links {
	text-decoration: underline;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.links:hover {
		text-decoration: none;
	}
}

.single strong {
	font-weight:bold;
	background: -moz-linear-gradient(transparent 50%, #7bc1f4 50% );
	background: -webkit-linear-gradient(transparent 50%, #7bc1f4 50% );
	background: -webkit-gradient(linear, 0 0, 0 100%, color-stop(0.5, transparent), color-stop(0.5, #7bc1f4));
	background: -o-linear-gradient(transparent 50%, #7bc1f4 50% );
	background: linear-gradient(transparent 50%, #7bc1f4 50% ) ;
}

.bold {
	color: #004070;
	font-weight: bold;
}

img {
	max-width: 100%;
	display: block;
	font-size: 0;
	line-height: 0;
	height: auto;
	vertical-align: bottom;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	a:hover img {
		opacity: .7;
	}
}

select::-ms-expand {
	display: none;
}

label {
	font-weight: normal;
}

button {
	margin: 0;
	padding: 0;
	border: none;
	background: initial;
}

input[type='button'],
input[type='submit'],
input[type='search'],
input[type='reset'],
button {
	-webkit-appearance: none;
}

a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
	margin: 0;
	padding: 0;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
}

input,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	*font-size: 100%;
}

.imgWrap .wp-post-image,
.reImg {
	width: 100%;
	height: auto;
}

.wp-post-image,
.reImg02 {
	max-width: 100%;
	height: auto;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.wp-post-image,
	.reImg02 {
		width: 100%;
	}
}

.modP {
	margin-bottom: 1em;
}
.modP:last-child {
	margin-bottom: 0;
}
.contentNotice {
	font-size: 13px;
	font-size: 1.3rem;
}
.contentText strong,
.contentNotice strong {
	font-weight: bold;
}
.contentText i,
.contentNotice i {
	font-style: italic;
}
.contentText p,
.contentNotice p {
	margin-bottom: 1em;
}
.contentText p:last-child,
.contentNotice p:last-child {
	margin-bottom: 0;
}
.contentText + .btnA {
	margin-top: 1em;
}

.contentText .nonList {
	padding: 30px 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.contentText .nonList {
		padding: 15px 0;
	}
}

/*  
clearfix
-------------------------------------------------------------*/
.clearfix {
    zoom: 1;
}
.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
}
.clearfix:after {
    clear: both;
}

/* パンくずリスト
-------------------------------------------------------------*/
.bread {
	margin-top: 20.75%;
	border-bottom: 1px solid #ddd;
	background: #fff;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 769px) {
	.bread {
		margin-top: 43.23277%;
		font-size: 1.3rem;
	}
}
@media screen and (min-width: 769px) {
	.bread .breadList li a:hover {
		text-decoration: underline;
	}
}

.bread .breadList {
	color: #004070;
	max-width: 1480px;
	margin: 0 auto;
	padding: 11px 20px;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.bread .breadList li {
	position: relative;
	font-size: 1.3rem;
	letter-spacing: .05em;
	padding-right: 15px;
	margin-right: 5px;
}

.bread .breadList li:last-child {
	margin-right: 0;
	padding-right: 0;
}

.bread .breadList li:after {
	position: absolute;
	top: 0;
	bottom: 0; 
	right: 0;
	content: '>';
	z-index: 2;
	margin: auto 0;
	display: inline-block;
}

.bread .breadList li:last-child:after {
	display: none;
}

.bread .breadList li a {
	color: #004070;
}

.bread .breadList li br {
	display: none;
}

/*  
SNSスタイル
-------------------------------------------------------------*/
.snsWrap {
    padding: 30px;
    background: #f2f2f2;
    margin-top: 40px;
    text-align: center;
}

.snsWrap .ttlF {
    margin-bottom: 1em;
}

.snsWrap .roboto {
	display: block;
}

/*  
基本大見出しスタイル
-------------------------------------------------------------*/
.ttlMain {
	color: #004070;
	text-align: center;
	line-height: 1;
	font-weight: bold;
	margin: 0 0 3.3%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain {
		margin: 0 0 10.453%;
	}
}

.ttlMain .roboto {
	font-size: 7.5rem;
	letter-spacing: .13em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain .roboto {
	    font-size: 3.5rem;
	}
}

/* COMPANY用 */
.ttlMain.companyTtl {
	margin: 0 0 -1.1%;
}

.ttlMain .sub {
	display: block;
	font-size: 2rem;
	letter-spacing: .2em;
	padding: 1% 0 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain .sub {
		font-size: 1.6rem;
		padding: 2.5% 0 0;
	}
}

/*  
基本大見出しスタイル（下層ページ用）
-------------------------------------------------------------*/
.ttlMain.under .roboto {
	font-size: 4.8rem;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain.under .roboto {
		font-size: 2.5rem;
	}
}

.ttlMain.under .sub {
	font-size: 2rem;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain.under .sub {
		font-size: 1.3rem;
	}
}

.ttlMain.notFound {
	font-size: 3rem;
	letter-spacing: .05em;
	margin: 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain.notFound {
		font-size: 1.8rem;
		margin: 0 0 30px;
	}
}


/*  
ローディング
-------------------------------------------------------------*/
html.fix,
body.fix {
	overflow: hidden;
}

.loadingArea {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: #004070;
	z-index: 100;
}

.loadingArea #loading {
	height: 1px;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.loadingArea #loading svg {
	width: 100%;
	height: 2px;
}

#animatedElem {
	position: relative;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
	height: 100vh;
}

#animatedElem::after {
	content: '';
	position: absolute;
	height: 0;
	left: 50%;
	top: 50%;
	width: 100%;
	z-index: -1;
	background: #FFFFFF;
	-webkit-transition: all 0.75s ease 0s;
	-moz-transition: all 0.75s ease 0s;
	-o-transition: all 0.75s ease 0s;
	transition: all 0.75s ease 0s;
	-moz-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

#animatedElem.start:after {
	height: 100%;
}


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

Web Font

========================================================================== */
.en {
	font-family: 'Anton', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	word-break: break-all;
	letter-spacing: 0.1em;
	font-weight: 400;
}

.latoFont {
	font-family: 'Lato', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.roboto {
	font-family: 'Roboto', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.yu {
	font-family: "Yu Mincho", "YuMincho", serif;
}


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

RWD

========================================================================== */
.pc,
.pcOnly {
	display: block;
}
.sp,
.spOnly {
	display: none;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.pc,
	.pcOnly {
		display: none;
	}
	.sp,
	.spOnly {
		display: block;
	}
}

/* レスポンシブチェック
-------------------------------------------------------------*/
#responsibleCheck {
	width: 1px;
	height: 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	#responsibleCheck {
		width: 2px;
	}
}


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

アニメーション

========================================================================== */
.trans {
	-webkit-transition:	all 0.3s ease-in-out;
	-moz-transition:		all 0.3s ease-in-out;
	-ms-transition:			all 0.3s ease-in-out;
			transition:			all 0.3s ease-in-out;
}
/*  3D Appear */
.deg {
	position:relative;
	perspective:1000px;
}
.deg.back {
	z-index:-1;
}
.deg > [data-type="left"] {
	transition:all 1s ease;
	transform: rotateY(90deg) translateX(-100px);
	opacity:0;
}
.deg > [data-type="right"] {
	transition:all 1s ease;
	transform: rotateY(-90deg) translateX(100px);
	opacity:0;
}
.deg.active > *{
	transform: rotateY(0deg);
	opacity:1;
}
/*  Scrolling Appear */
.scroll {
	transition:transform 1.0s ease,opacity 1.0s ease;
}
.scroll[data-type="up"] {
	transform: translate3d(0, 100px, 0);
	opacity:0.01;
}
.scroll[data-type="down"] {
	transform: translate3d(0, -100px, 0);
	opacity:0.01;
}
.scroll[data-type="left"] {
	transform: translate3d(-100px, 0, 0);
	opacity:0.01;
}
.scroll[data-type="right"] {
	transform: translate3d(100px, 0, 0);
	opacity:0.01;
}
.scroll[data-type="fade"] {
	opacity:0;
}
.scroll[data-type="up"].active, .scroll[data-type="down"].active, .scroll[data-type="left"].active, .scroll[data-type="right"].active, .scroll[data-type="fade"].active  {
	transform: translate3d(0, 0, 0);
	opacity:1;
}
.scroll[data-type="width"] {
	transition:all 1.0s ease;
	max-width: 100%;
	width: 100%;
	min-height: 62px;
	padding: 20px 0 0;
	opacity:1;
}
.scroll[data-type="width"].active  {
	width:350px;
	padding: 20px 70px 0;
	opacity:1;
}
.scroll[data-type="text"]{
	transition:all 1.0s ease;
	opacity:0;
	filter:alpha(opacity=0);
	-webkit-transform:scale3d(1.3,1.3,1) rotate3d(1,-3,-1,-.1turn) translate3d(-50px,100px,0);
	transform:scale3d(1.3,1.3,1) rotate3d(1,-3,-1,-.1turn) translate3d(-50px,100px,0);
/* 	transition-delay: 2s; */
}
.scroll[data-type="text"].active{
	opacity:1;
	filter:alpha(opacity=100);
	-webkit-transform:scale3d(1,1,1) rotate3d(0,0,0,0) translate3d(0,0,0);
	transform:scale3d(1,1,1) rotate3d(0,0,0,0) translate3d(0,0,0);
	transition:all 0.8s linear;
/* 	transition-delay: 2s; */
}

.scroll[data-type="text"].dur   {transition-delay: 0.1s;}
.scroll[data-type="text"].dur2  {transition-delay: 0.2s;}
.scroll[data-type="text"].dur3  {transition-delay: 0.3s;}
.scroll[data-type="text"].dur4  {transition-delay: 0.4s;}
.scroll[data-type="text"].dur5  {transition-delay: 0.5s;}
.scroll[data-type="text"].dur6  {transition-delay: 0.6s;}
.scroll[data-type="text"].dur7  {transition-delay: 0.7s;}
.scroll[data-type="text"].dur8  {transition-delay: 0.8s;}
.scroll[data-type="text"].dur9  {transition-delay: 0.9s;}
.scroll[data-type="text"].dur10 {transition-delay:   1s;}
.scroll[data-type="text"].dur11 {transition-delay: 1.1s;}
.scroll[data-type="text"].dur12 {transition-delay: 1.2s;}
.scroll[data-type="text"].dur13 {transition-delay: 1.3s;}
.scroll[data-type="text"].dur14 {transition-delay: 1.4s;}
.scroll[data-type="text"].dur15 {transition-delay: 1.5s;}
.scroll[data-type="text"].dur16 {transition-delay: 1.6s;}
.scroll[data-type="text"].dur17 {transition-delay: 1.7s;}
.scroll[data-type="text"].dur18 {transition-delay: 1.8s;}
.scroll[data-type="text"].dur19 {transition-delay: 1.9s;}
.scroll[data-type="text"].dur20 {transition-delay:   2s;}
.scroll[data-type="text"].dur25 {transition-delay: 2.5s;}
.scroll[data-type="text"].dur30 {transition-delay:   3s;}
.scroll[data-type="text"].dur35 {transition-delay: 3.5s;}

.scrollup {
	opacity:0;
	-webkit-transform: translateY(100px);
					transform: translateY(100px);
	-webkit-transition:all 0.5s ease-in-out;
					transition:all 0.5s ease-in-out;
}
.scrollup.action {
	-webkit-transform: translateY(0px);
					transform: translateY(0px);
	opacity:1;
}
.scrollSlide {
	opacity:0;
	-webkit-transition:all 1s ease-in-out;
					transition:all 1s ease-in-out;
}
.scrollSlide.top {
	opacity:0;
    -webkit-transform: translateY(-150px);
  			  	transform: translateY(-150px);
}
.scrollSlide.left {
	opacity:0;
	-webkit-transform: translateX(150px);
					transform: translateX(150px);
}
.scrollSlide.right {
	opacity:0;
	-webkit-transform: translateX(-150px);
					transform: translateX(-150px);
}
.scrollSlide.action {
	-webkit-transform: translateX(0px);
					transform: translateX(0px);
	opacity:1;
}
.scrollZoom {
	opacity:0;
	-webkit-transform: scale3d(0 ,0 , -1);
					transform: scale3d(0 ,0 , -1);
	-webkit-transition:all 1s ease-in-out;
					transition:all 1s ease-in-out;
}
.scrollZoom.action {
	-webkit-transform: scale3d(1 ,1 ,1);
					transform: scale3d(1 ,1 ,1);
	opacity:1;
}


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

インナーのスタイル

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

.inner {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
	z-index: 5;
}
.inner.center {
	z-index: 10;
}
.bgColor {
	background-color: #ebebeb;
}
.bgColor.inner {
	padding-bottom: 100px;
}



.subTtlB .en {
	font-size: 4.0rem;
	line-height: 1.3;
	display: inline-block;
	vertical-align: top;
}
.subTtlB .min {
	font-size: 1.5rem;
	line-height: 1.3;
	position: relative;
	display: inline-block;
	vertical-align: top;
	padding: 35px 0 0 40px;
	margin: 0;
}
.subTtlB .min:before {
	content: "";
	position: absolute;
	height: 90px;
	width: 1px;
	top: -10px;
	left: 20px;
	background: #333;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.subTtlC {
	position: relative;
	top: -35px;
	text-align: center;
}
.subTtlC .en {
	display: block;
	font-size: 6.0rem;
	line-height: 1;
}

.subWrap .subTtlC .en {
	display: block;
	font-size: 4.0rem;
	line-height: 1;
}

@media screen and (max-width: 769px) {
	.subWrap .subTtlC .en {
		font-size: 2.4rem;
	}
}

.subTtlC .jp {
	display: block;
	font-size: 1.8rem;
	line-height: 1;
	font-weight: bold;
	position: relative;
	margin: 10px 0 0;
}
.subTtlD {
	text-align: center;
	display: block;
	font-weight: bold;
	font-size: 2.4rem;
}
.ttlA {
	font-size: 2.4rem;
	letter-spacing: 0.2em;
	font-weight: bold;
	margin-bottom: 10px;
	position: relative;
}
.ttlA span {
	padding: 10px 10px 5px 15px;
	position: relative;
	display: inline-block;
}
.ttlA:before,
.ttlA:after,
.ttlA span:before,
.ttlA span:after {
	content: "";
	display: block;
	position: absolute;
	background: #333;
}
.ttlA:before {
	width: 40px;
	height: 1px;
	left: -5px;
	top: 0;
}
.ttlA:after {
	width: 1px;
	height: 40px;
	left: 0;
	top: -5px;
}
.ttlA span:before {
	width: 40px;
	height: 1px;
	right: -5px;
	bottom: 0;
}
.ttlA span:after {
	width: 1px;
	height: 40px;
	right: 0;
	bottom: -5px;
}
.ttlB {
	font-size: 2rem;
	font-weight: bold;
}
.ttlC {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: .2em;
}
.ttlD {
	text-align: center;
	line-height: 1.4;
}
.ttlD .en {
	display: block;
	font-size: 4rem;
}
.ttlD .jp {
	position: relative;
	text-align: center;
}
.ttlD .jp:after,
.ttlD .jp:before {
	content: " ";
	width: 40px;
	height: 1px;
	display: inline-block;
	background: rgba(28, 28, 28, .9);
	vertical-align: top;
	margin-top: 10px;
}
.ttlD i {
	font-style: normal;
	display: inline-block;
	vertical-align: top;
	padding: 0 10px;
	font-size: 1.6rem;
}
.ttlE {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .1em;
}
.ttlF {
	text-align: center;
	line-height: 1.4;
}
.ttlF .en {
	display: block;
	font-size: 2rem;
}
.ttlF .jp {
	position: relative;
	text-align: center;
}
.pageTtl {
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 0 0 0 80px;
	z-index: 10;
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: flex-start;
	-ms-flex-pack: flex-start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.pageTtl .en {
	display: inline-block;
	font-size: 8.0rem;
	line-height: 1;
	letter-spacing: 0.2em;
}
.pageTtl .jp {
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: bold;
	position: relative;
	display: inline-block;
	vertical-align: top;
	padding: 80px 0 0 55px;
	margin: 0;
}
.pageTtl .jp:before {
	content: "";
	position: absolute;
	height: 90px;
	width: 1px;
	top: 40px;
	left: 25px;
	background: #333;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}


/*btn*/
.btnA {
	width: 100%;
	max-width: 300px;
	height: 70px;
	border: 1px solid #004070;
	font-size: 2.0rem;
	color: #004070;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	cursor: pointer;
	transition: border 0.2s linear,background 0.2s linear;
}
.btnA.btnAw {
	border: 1px solid #ffffff;
	color: #ffffff;
}
@media screen and (min-width: 769px) {
	.btnA:hover {
		border: 1px solid #004070;
		background-color: #004070;
		color: #ffffff;
	}
	.btnA.btnAw:hover {
		border: 1px solid #ffffff;
		background-color:#ffffff;
		color: #32a99c;
	}
}
.btnB a {
	width: 150px;
	height: 40px;
	display: block;
	border: 1px solid #fff;
	border-radius: 20px;
	color: #fff;
	text-align: center;
	line-height: 38px;
	font-size: 1.4rem;
	margin-left: auto;
	margin-right: auto;
}
.btnB a:visited {
	color: #fff;
}
@media screen and (min-width: 769px) {
	.btnB a:hover {
		background: #fff;
		color: rgba(28, 28, 28, 0.9);
	}
}

/*txtBox*/
.twoBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: top;
	-ms-flex-align: top;
	align-items: top;
	width: 100%;
}
.twoBox .txtBox {
	width: 54%;
}
.twoBox .imgBox {
	width: 40%;
}


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

汎用性　Box style

========================================================================== */
.oneBox {
	padding: 35px;
	width: 100%;
	background-color: #fff;
}
.oneBox .contentText {
	margin-top: 25px;
	padding: 25px;
	background-color: #eee;
}

.mw1000 {
	width: 100%;
	max-width: 1000px;
	height: auto;
}
.mw1000 .oneBox {
	padding: 50px;
}

/*縦幅固定角丸*/
.eyeCatching {
	border-radius: 50%;
	background: #c7850b;
	color: #ffffff;
	display: block;
	width: 150px;
	height: 150px;
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
/*dl*/
.dlA {
	font-size: 1.6rem;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.dlA dt {
	font-weight: bold;
	font-size: 1.6rem;
	color: #fff;
	background-color: #097c70;
	width: 25%;
	padding: 8px 0;
	margin-top: 5px;
	text-align: center;
}
.bgChange .dlA dt {
	background-color: #c7850b;
}
.dlA dd {
	width: 75%;
	padding: 0 15px;
	margin-top: 5px;
	font-weight: bold;
	font-size: 2.0rem;
	line-height: 1.3;
}
.dlA dt:first-child,
.dlA dt:first-child + dd {
	margin-top: 0;
}
.dlB {
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 800px;
}
.dlB.title + .dlB {
	margin-top: 0;
}
.w600 {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 800px;
}
.privacyWrap .dlB {
	margin-top: 20px;
}
.dlB dt {
	background: rgba(28, 28, 28, 0.2);
	text-align: center;
	font-weight: bold;
	padding: 10px 0;
}
.dlB dd {
	border-bottom: 1px solid rgba(28, 28, 28, 0.9);
	padding: 10px 0;
	width: 100%;
	display: block;
}
.dlB dd p {
	margin-bottom: 1.5em;
}
.dlB dd p:last-child {
	margin-bottom: 0;
}
.dlB dd .itemName {
	text-align: left;
}
.dlB dd .price {
	text-align: right;
}
.dlB dd small {
	display: block;
}
.dlB li {
	margin-bottom: 15px;
	padding-left: 2em;
	text-indent: -2em;
}
.dlB li li {
	margin: 15px 0 15px 1.5em;
}
.dlB .number {
	font-style: normal;
	font-weight: bold;
	width: 2em;
	white-space: nowrap;
	display: inline-block;
	text-indent: 0;
	vertical-align: top;
}
.dlB .content {
	width: 100%;
	display: inline-block;
	text-indent: 0;
	vertical-align: top;
}
.dlB .one {
	margin-bottom: 15px;
	display: block;
}
.privacy .dlB dd {
	border-bottom: none;
}
.dlC {
	font-size: 1.6rem;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.dlC dt {
	font-weight: bold;
	font-size: 1.6rem;
	color: #fff;
	background-color: #097c70;
	width: 20%;
	padding: 8px 0;
	margin-top: 10px;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.bgChange .dlC dt {
	background-color: #c7850b;
}
.dlC dd {
	width: 80%;
	padding: 8px 15px;
	margin-top: 10px;
	font-size: 1.6rem;
	line-height: 1.3;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: flex-start;
	-ms-flex-pack: flex-start;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.dlC dt:first-child,
.dlC dt:first-child + dd {
	margin-top: 0;
}

/*threeCnt*/
.threeCnt {
	margin-bottom: 100px;
}
.threeCnt .boxList {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.threeCnt .boxList li {
	height: 100%;
	/*width: calc(33.33% - 10px);*/
	width: 31.944444444444443%;
	position: relative;
	margin-right: 2.083333333333333%;
	margin-bottom: 2.071428571428571%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.threeCnt .boxList li {
		margin-bottom: 7.97142%;
	}
	.threeCnt .boxList li:last-child {
		margin-bottom: 0;
	}
}

.threeCnt .boxList li:nth-child(3n) {
	margin-right: 0;
}

.threeCnt .boxList li a {
	text-decoration:underline;
	color:#ffffff;
}
.threeCnt .boxList li a .btnWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	height: 100%;
	padding: 20px;
	color: #fff;
	background-color: rgba(50, 169, 156, 0.8);
}
.threeCnt .boxList li a .btnWrap p {
	width: 100%;
	text-align: center;
}
.threeCnt .boxList li a .btnWrap .small {
	font-size: 1.8rem;
	font-weight: bold;
}
.threeCnt .boxList li a .btnWrap .btnA {
	margin-top: 40px;
}


/*fourCnt*/
.fourCnt .boxList {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
	-ms-flex-wrap: wrap;
		flex-wrap: wrap;
}
.fourCnt .boxList li {
	width: 23%;
}
.fourCnt .boxList::before{
	content:"";
	display: block;
	width:23%;
	order:1;
}
.fourCnt .boxList::after{
	content:"";
	display: block;
	width:23%;
}
.fourCnt .box {
	position: relative;
}

.fourCnt .boxList + .btnA {
	margin-top: 50px;
}




.message,
.feature {
		position: relative;
}

.message .rightBg {
	right: 0;
	bottom: 0;
}
.message .imgBox {
	position: relative;
	top: -150px;
}
.message .imgBox .img:first-child{
	width: 60%;
}
.message .imgBox .img:last-child{
	position: absolute;
	width: 60%;
	right: 0;
	margin-top: -50px;
}
.ba {
	position: relative;
}
.ba .rightBg {
	right: 0;
	bottom: auto;
	top: -350px;
	padding-bottom: 400px;
}
.baItem{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.baItem + .baItem {
	margin-top: 90px;
}
.baName {
	width: 21.5%;
	border: 1px solid #333;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.baName h3 {
	font-size: 3.0rem;
	font-weight: bold;
	letter-spacing: 2px;
	width: 100%;
	text-align: center;
}
.baName span {
	font-size: 1.8rem;
}
.option{
	font-size: 2.0rem;
	font-weight: bold;
	width: 100%;
	text-align: center;
}
.baImage {
	width: 41.7%;
	position:relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.baImage figure {
	width: 50%;
	position: relative;
}
.ba .eyeCatching {
	font-weight: bold;
	position: absolute;
	left: -20px;
	top: -40px;
	z-index: 5;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.stats ,
.res {
	width: 100%;
	display: block;
	text-align: center;
}
.stats.en{
	font-size: 3.5rem;
	line-height: 1.2;
}
.stats.en span {
	font-size: 2.0rem;
}
.baImage figcaption {
	font-size: 3.0rem;
	line-height: 1;
	font-weight: normal;
	color: #ffffff;
	display: block;
	width: 100%;
	text-align: center;
	position: absolute;
	left: 0;
	bottom: 20px;
}
.res.en{
	font-size: 2.0rem;
}
.baResult{
	width: 34.3%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.ba .dlA{
	width: 100%;
	height: 44%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.baMessage{
	width: 100%;
	min-height: 56%;
	border: 1px solid #333;
	padding: 10px 25px;
	font-size: 1.4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: flex-start;
	-ms-flex-pack: flex-start;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.baMessage p + p {
	margin-top: 1.5em;
}
/*
.small{
	font-size: 1.2rem;
}
*/
.slashBtn {
	margin-top: -45px;
	margin-bottom: 50px;
	position: relative;
}
.slashBtn .rightBg {
	right: 0;
	bottom: auto;
	top: -74px;
}
.slashBtn li {
	width: 50%;
	position: relative;
}
.slashBtn li:last-child {
	margin-top: 50px;
}
.slashBtn li .bgWrap {
	position: relative;
	left: 0;
	bottom: 0;
	width: 100%;
	padding-top: 67.2%;
	z-index: 1;
}
.slashBtn li .bgWrap svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.slashBtn li a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	padding: 105px 120px 50px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.slashBtn li a .btnWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	height: 100%;
	color: #fff;
	background-color: rgba(50, 169, 156, 0.8);
}
.slashBtn li a .btnWrap p {
	width: 100%;
	text-align: center;
}
.slashBtn li a .btnWrap .ttl {
	font-size: 5.0rem;
	line-height: 1;
	letter-spacing: 2px;
}
.slashBtn li a .btnWrap .small {
	font-size: 1.8rem;
	font-weight: bold;
}
.slashBtn li a .btnWrap .btnA {
	margin-top: 40px;
	cursor: pointer;
	transition: border 0.2s linear,background 0.2s linear;
}
/*feedWrap*/
.feedWrap {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto 100px;
}
.gallery:last-child .feedWrap {
	margin-bottom: 0;
}
.feedWrap #sb_instagram #sbi_load {
	font-family: 'Anton', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	word-break: break-all;
	letter-spacing: 0.1em;
	font-weight: 400;
	margin-top: 30px;
}
.feedWrap #sb_instagram #sbi_load .sbi_follow_btn {
	width: 100%;
	max-width: 300px;
}
.feedWrap #sb_instagram #sbi_load .sbi_follow_btn a {
	width: 100%;
	height: 70px;
	border: 1px solid #32a99c;
	font-size: 2.0rem;
	line-height: 1.2;
	color: #32a99c;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	cursor: pointer;
	transition: border 0.2s linear,background 0.2s linear;
	padding: 0;
	margin: 0 auto;
	border-radius: 0;
	background-color: transparent;
	text-align: center;
	box-shadow: none;
}
.feedWrap #sb_instagram svg:not(:root).svg-inline--fa {
	height: 2em;
}
@media screen and (min-width: 769px) {
	.feedWrap #sb_instagram #sbi_load .sbi_follow_btn a:hover {
		background:#32a99c;
		color: #ffffff;
	}
}

.facilityList li.listoff {
	display: none;
}
.facility .boxList li {
	margin-top: 30px;
}
.facility .boxList li:nth-child(1) ,
.facility .boxList li:nth-child(2) ,
.facility .boxList li:nth-child(3) ,
.facility .boxList li:nth-child(4) {
	margin-top: 0;
}
.facilityBtn[data-flag="open"] span:first-child ,
.facilityBtn[data-flag="close"] span:last-child {
	display: none;
}
.facilityBtn[data-flag="open"] span:last-child ,
.facilityBtn[data-flag="close"] span:first-child {
	display: inline;
}
.staffBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	padding: 20px;
	background-color: rgba(255,255,255,0.8)
}
.staffBox + .staffBox {
	margin-top: 30px;
}
.staffBox .imgBox {
	width: 52%;
}
.staffBox .txtBox {
	width: 45%;
}
.staffBox .label {
	padding: 2px;
	display: inline;
	font-size: 1.4rem;
	line-height: 1.2;
	letter-spacing: 0;
	background-color: #097c70;
	color: #ffffff;
}
.bgChange .staffBox .label {
	padding: 5px;
	background-color: #333;
	line-height:3;
}

@media screen and (max-width: 769px) {
	.bgChange .staffBox .label {
	padding: 5px;
	line-height:1.4;
	font-size:1.3rem;
}
}

.staffBox .label + h3 {
	margin-top: 5px;
}
.staffBox .ruby {
	font-size: 2.0rem;
	letter-spacing: 0.1em;
}
.staffBox .contentText {
	margin-top: 30px;
}
/*price*/
.priceBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
	width: 100%;
}
.priceBox + .priceBox {
	margin-top: 50px;
}
.priceBox .imgBox {
	width: 38%;
}
.priceBox .txtBox {
	width: 58%;
}
.priceBox .contentText {
	margin-top: 30px;
}

.priceBox .contentNotice {
	margin-top:15px;
}

.priceBox .dlA {
	margin-top: 30px;
	-webkit-box-align: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
}
.priceBox .dlA dt {
	width: 20%;
}
.priceBox .dlA dd {
	width: 80%;
	padding: 8px 15px;
}


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

header

========================================================================== */
.siteHeader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
}

.siteHeader .siteHeaderInner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 3.125% 0 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.siteHeader .siteHeaderInner {
		padding:0;
    height:70px;
	}
}

.siteHeader .siteHeaderInner .logoWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 11.25%;
	margin: 0 auto;
}
.siteHeader .siteHeaderInner .logoWrap a {
	width: 100%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.siteHeader .siteHeaderInner .logoWrap {
		padding: 1vw 70px 1vw 5vw;
		width: 100%;
		height: 100%;
		text-align: left;
	}
	.siteHeader .siteHeaderInner .logoWrap img {
		width: auto;
		height: auto;
		max-width: 180px;
		max-height: calc(70px - 2vw);
	}
}

/* 下層ページ用 */
.siteHeader.underPage {
	position: fixed;
}

/* 
ナビゲーション ===================================================== */
#menuNavi {
	position: fixed;
	right: 0;
	top: 5.3125%;
	z-index: 99;
	background-color: rgba(244, 246, 248, .7);
	padding: 2.2% 2.33% 1.880% 1.4544%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	#menuNavi {
		display: none;
		right: 0;
		top: 0;
		width: 100%;
		height: 100%;
		padding: 0;	
	}
}

.shows {
	display: block !important;
}

.hides {
	display: none !important;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	#menuNavi .menuInner {
		position: relative;
		overflow-y: auto;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

#menuNavi ul li {
    margin: 0 0 24%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	#menuNavi ul.land {
		height: 100%;
	}
	#menuNavi ul li {
		margin: 0 0 5.345%;
		text-align: center;
	}
}

#menuNavi ul li:last-of-type {
	margin-bottom: 0;
}

#menuNavi ul li a {
	display: block;
	position: relative;
	line-height: 1;
	letter-spacing: .2em;
	font-size: 0.875vw; /*14px 1600pxベース*/
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	#menuNavi ul li a {
		font-size: 4.375vw;
		/*font-size: 1.8rem;*/
		text-align: center;
		line-height: 2.8;
		display: inline-block;
	}
}

#menuNavi ul li a:hover {
	color: #ff2400;
}

#menuNavi ul li a.current {
	color: #ff2400;
}

#menuNavi ul li a.current:before {
	content: '';
	z-index: 100;
	position: absolute;
	top: 0;
	left: -32.345%;
	bottom: 0;
	margin: auto 0;
	border-radius: 50%;
	width: 10px;
	height: 10px;
	background: #ff2400;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	#menuNavi ul li a.current:before {
		border-radius: 0;
		left: 0;
		width: 100%;
		height: 2px;
		margin: 0 auto;
		bottom: 0;
		right: 0;
		top: 85%;
	}
}

/* 
ハンバーガーボタン ===================================================== */
.mainMenu {
	top: 20px;
	right: 5vw;
	z-index: 99;
	position: fixed;
}

.mainMenu a {
    width: 44px;
    height: 27px;
    display: block;
}

.mainMenu a span {
	top: 50%;
	left: 50%;
	width: 35px;
	margin: -1px 0 0 -13px;
	height: 2px;
	display: block;
	position: absolute;
	text-indent: -9999px;
	background: #333;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}

.mainMenu a span:before,
.mainMenu a span:after {
	top: 50%;
	left: 0;
	width: 35px;
	height: 2px;
	content: '';
	display: block;
	position: absolute;
	background: #333;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}

.mainMenu a span:before {
	margin-top: -10px;
}
.mainMenu a span:after {
	margin-top: 8px;
}

.mainMenu a span.iconClose {
	background: transparent;
}
.mainMenu a span.iconClose:before,
.mainMenu a span.iconClose:after {
	margin-top: -1px;
	background: #333;
}

.mainMenu a span.iconClose:before {
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.mainMenu a span.iconClose:after {
	-moz-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}


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

mainVisual（メインビジュアル）

========================================================================== */
#contents01 {
	padding-top: 43.75%;
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:0;
	z-index:-1;
	width:100%;	
}
/* 769px以下 */

section.mainVisual {
	opacity: 0;
	padding-top: 43.75%;
	overflow: hidden;
	background: url(../img/index/bg_mv.jpg) center center no-repeat;
	-moz-background-size:cover;
	-webkit-background-size:cover;
	-o-background-size:cover;
	-ms-background-size:cover;
	background-size: cover;
	/* 背景固定 */
	content:"";
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual {
		height: 100vh;
		overflow: hidden;
	}
}
@media screen and (max-width: 500px) {
	section.mainVisual {
    width: 100vw;
		height: 100vh;
		overflow: hidden;
	background: url(../img/index/bg_mvsp.jpg) center top / 100% auto no-repeat;
	}
}

section.mainVisual .txtBox {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	text-align: center;
	color: #fff;
}
/* 425px以下 */
@media screen and (max-width: 425px) {
	section.mainVisual .txtBox {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-45%) translateX(-50%);
	transform: translateY(-45%) translateX(-50%);
}
	
}

section.mainVisual .txtBox h1,
section.mainVisual .txtBox h2 {
	white-space: nowrap;
	font-size: 3.125vw; /*50px 1600pxベース*/
	display: inline-block;
	letter-spacing: 0.21em;
	padding: 0 0 .41%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual .txtBox h1,
	section.mainVisual .txtBox h2 {
    font-size: 5.125vw;
    padding: 0 0 2.11%;
    white-space: unset;
	}
}
/* 425px以下 */
@media screen and (max-width: 425px) {
	section.mainVisual .txtBox h1,
	section.mainVisual .txtBox h2 {
		font-size: 7.125vw;
		padding: 0 0 3.41%;
	}
}

section.mainVisual .txtBox .mainReadTxt {
    overflow: hidden;
    text-align: center;
	font-size: 1.5625vw; /*25px 1600pxベース*/
	letter-spacing: .22em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual .txtBox .mainReadTxt {
		line-height: 1.5;
		font-size: 2.91vw;
		letter-spacing: 0.24em;
	}
}
/* 425px以下 */
@media screen and (max-width: 425px) {
	section.mainVisual .txtBox .mainReadTxt {
		line-height: 1.5;
		font-size: 4.25vw;
		letter-spacing: 0.24em;
	}
}

section.mainVisual .txtBox .mainReadTxt span {
	position: relative;
	display: inline-block;
	padding: 0 15px;
	text-align: center;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual .txtBox .mainReadTxt span {
		padding: 0 10px;
	}
}

section.mainVisual .txtBox .mainReadTxt span::before,
section.mainVisual .txtBox .mainReadTxt span::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 14.35%;
	height: 1px;
	background: #fff;
}
section.mainVisual .txtBox .mainReadTxt span::before {
	right: 100%;
}
section.mainVisual .txtBox .mainReadTxt span::after {
	left: 100%;
}

section.mainVisual .txtBox br {
	display: none;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual .txtBox br {
		display: block;
	}
}


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

mainVisual.underPage（メインビジュアル下層用）

========================================================================== */
section.mainVisual.underPage {
	padding-top: 20.75%;
	background: url(../img/index/bg_mv.jpg) center 68% no-repeat;
	-moz-background-size:cover;
	-webkit-background-size:cover;
	-o-background-size:cover;
	-ms-background-size:cover;
	background-size: cover;
	background-position: center;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual.underPage {
		height: auto;
		padding-top: 43.23277%;
		background: url(../img/index/bg_mv.jpg) center center no-repeat;
		-moz-background-size:cover;
		-webkit-background-size:cover;
		-o-background-size:cover;
		-ms-background-size:cover;
		background-size: cover;
		overflow: hidden;
	}
}

section.mainVisual.underPage .txtBox .main_title {
    text-align: center;
    line-height: 1;
    padding-top: 35%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual.underPage .txtBox .main_title {
		padding-top: 15%;
	}
}

section.mainVisual.underPage .txtBox .main_title.one {
    padding-top: 19%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual.underPage .txtBox .main_title.one {
		padding-top: 15%;
	}
}

section.mainVisual.underPage .txtBox .main_title .mainTtl {
	display: block;
	line-height: 1;
	font-size: 2.851vw;
	font-weight: bold;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual.underPage .txtBox .main_title .mainTtl {
		font-size: 6.251vw;
	}
}

section.mainVisual.underPage .txtBox .main_title .sub {
    position: relative;
    display: inline-block;
    padding: 0 15px;
    text-align: center;
    line-height: 1;
    font-size: 1.01vw;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual.underPage .txtBox .main_title .sub {
		font-size: 3.999vw;
		padding: 0 6px;
	}
}

section.mainVisual.underPage .txtBox .main_title .sub::before,
section.mainVisual.underPage .txtBox .main_title .sub::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 14.35%;
	height: 1px;
	background: #fff;
}
section.mainVisual.underPage .txtBox .main_title .sub::before {
	right: 100%;
}
section.mainVisual.underPage .txtBox .main_title .sub::after {
	left: 100%;
}


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

ABOUT

========================================================================== */
section.about {
	margin-top: 43.75%;
	padding: 3.09375% 0 2.09375%;
	background: #fff;
	position: relative;
	z-index:1;
	overflow: hidden;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about {
		margin-top: 100vh;
		padding: 0 0 10.5%;
	}
}

section.about .aboutBox {
	position: relative;
	z-index: 1;
}
section.about .aboutBox:first-child {
	margin-bottom: 3.09375%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox:first-child {
		margin-bottom: 0;
	}
}

/* 
見出し ===================================================== */
section.about .aboutBox .subTtlA {
	position: absolute;
	left: 0%;
	top: 9.4375%;
	color: #004070;
	background: #fff;
	z-index: 10;
	padding: 1.2623% 1% 2.524%;
	white-space: nowrap;
}

/* 1000px以下 */
@media screen and (max-width: 1000px) {
	section.about .aboutBox .subTtlA {
		width: auto;
		padding-right: 2%;
	}
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .subTtlA {
		text-align: center;
		position: static;
		width: 100%;
		padding: 8% 3.4%;
	}
}

section.about .aboutBox .subTtlA .roboto {
	font-size: 4.6875vw;
	font-weight: bold;
	display: inline-block;
	vertical-align: top;
	letter-spacing: .11em;
	line-height: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .subTtlA .roboto {
		font-size: 3.5rem;
	}
}

section.about .aboutBox .subTtlA .jp {
	font-size: 1.4rem;
	font-weight: bold;
	position: relative;
	display: inline-block;
	vertical-align: top;
	padding: 16.75% 0 0 2.35%;
	margin: 0;
	line-height: 1;
	letter-spacing: .13em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .subTtlA .jp {
		font-size: 1.6rem;
		padding: 2.5% 0 0;
		vertical-align:baseline;
		display: block;
	}
}

section.about .aboutBox .subTtlA .jp:before {
	content: '';
	position: absolute;
	height: 109.4%;
	width: 2px;
	top: 26.5%;
	left: -2.5%;
	background: #004070;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .subTtlA .jp:before {
		height: 0%;
		width: 0px;
		top: 4.4%;
	}
}

/* 
メイン画像 ===================================================== */
section.about .aboutBox .imgBox {
	width: 85.125%;
	margin-left: auto;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .imgBox {
		width: 100%;
		margin-left: 0;
	}
}

/* 
サブ見出し ===================================================== */
section.about .aboutBox h4 {
	width: 36.375%;
	margin: -3.125% 0 0 5%;
	position: relative;
	z-index: 1;
	float: left;
	line-height: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox h4 {
		width: 100%;
		margin: 0;
		float: none;
		background: #004070;
		color: #fff;
		padding: 3.125% 5vw;
	}
}

section.about .aboutBox h4 span {
	background: #004070;
	color: #fff;
	display: inline;
	font-size: 3.5rem;
	font-weight: bold;
	letter-spacing: .2em;
	line-height:2;
	padding: 0.25em;
	padding-left: 0;
	padding-right: 0;
	-webkit-box-decoration-break: clone;
	-ms-box-decoration-break: clone;
	-o-box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	outline: 1px solid #004070;
	box-shadow: 0.25em 1px 0 #004070,0.25em -1px 0 #004070, -0.25em 1px 0 #004070, -0.25em -1px 0 #004070;
}
/* IE11 */
@media all and (-ms-high-contrast: none) {
	*::-ms-backdrop, section.about .aboutBox h4 span {
		line-height: 2.3;
	}
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox h4 span {
		background: none;
		display: block;
		font-size: 1.8rem;
		padding: 0;
		line-height: 1.6;
		letter-spacing: .16em;
		box-shadow: none;
	}
}


/* 1080px以下 */
@media screen and (max-width: 1080px) {
	/*
	section.about .aboutBox .subTtlA {
		width:34%;
	}
	*/
	section.about .aboutBox h4 span {
		font-size: 2.4vw;
	}
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox h4 span {
	font-size: 1.8rem;
}
}

/* 
コンテンツテキスト ===================================================== */
section.about .aboutBox .contentText {
	width: 47.6875%;
	background: #0069b7;
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: .1em;
    line-height: 2.2;
    float: right;
	margin: -3.09375% 5% 0 0;
	position: relative;
	z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .contentText {
		float: none;
		width: 100%;
		margin: 0;
		font-size: 1.4rem;
		line-height: 1.8;
	}
}

section.about .aboutBox .contentText p {
	padding: 5.25% 5%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .contentText p {
		padding: 6.2% 5.55%;
	}
}

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

SERVICE

========================================================================== */
section.service {
	background: #fff;
	position: relative;
	z-index: 1;
	padding: 4.50341% 0 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service {
		padding: 10.5% 0 0;
	}
}

/* 
リスト ===================================================== */
section.service .serviceInner {
	/* 幅決め */
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px 3.1597222222222223%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .serviceInner {
		padding: 0 5vw 10.5%;
		margin: 0;
		max-width: inherit;
	}
}

/* 見出しスタイル */
section.service .serviceInner h4 {
	overflow: hidden;
	text-align: center;
	font-size: 4rem;
	color: #004070;
	line-height: 1;
	font-weight: bold;
	letter-spacing: .2em;
	margin: 5.17361% 0 2.1455%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .serviceInner h4 {
		font-size: 2.3rem;
		margin: 0 0 9.531%;
	}
}

section.service .serviceInner h4.ieEdge {
	line-height: 1.3;
}

section.service .serviceInner h4 span {
	position: relative;
	display: inline-block;
	padding: 0 15px;
	text-align: left;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .serviceInner h4 span {
		text-align: center;
		line-height: 1.3;
	}
}

section.service .serviceInner h4 span::before,
section.service .serviceInner h4 span::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 400%;
	height: 2px;
	background: #004070;
}
section.service .serviceInner h4 span::before {
	right: 100%;
}
section.service .serviceInner h4 span::after {
	left: 100%;
}

section.service .serviceInner h4 span br {
	display: none;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .serviceInner h4 span br {
		display: block;
	}
}

/* リード文 */
.readTxt {
	text-align: center;
	line-height: 2.4;
	margin: 0 0 3.125%;
	letter-spacing: .1em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.readTxt {
		line-height: 1.8;
		text-align: left;
		margin: 0 0 8.6725%;
	}
}

section.service .threeCnt:last-of-type {
	margin-bottom: 0;
}

section.service figcaption .serviceTtl {
	background: #004070;
	color: #fff;
	position: relative;
	padding: 4.130434782608695% 5.521739%;
}
section.service figcaption .serviceTtl h5 {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .2em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service figcaption .serviceTtl h5 {
		font-size: 1.8rem;
	}
}

section.service figcaption .contentText {
	background: #0069b7;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .1em;
	line-height: 1.8;
	padding: 6.2% 5.55%;
	min-height: 258px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service figcaption .contentText {
		font-size: 1.4rem;
		min-height: inherit;
		height: auto !important;
	}
}


/* 
ワンサービス ===================================================== */
section.service .oneServiceBox {
	background: url(../img/index/bg_one_service.gif) center center;
	-moz-background-size:4px;
	-webkit-background-size:4px;
	-o-background-size:4px;
	-ms-background-size:4px;
	background-size: 4px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceBox {
		padding: 10.5% 5vw 12.5%;
	}
}

section.service .oneServiceInner {
	/* 幅決め */
    max-width: 1000px;
    margin: 0 auto;
    padding: 5.034722222222222% 20px 5.277777777777778%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

/* 見出しスタイル */
section.service .oneServiceInner h4 {
    overflow: hidden;
    text-align: center;
    font-size: 4rem;
    color: #004070;
    line-height: 1;
    font-weight: bold;
    letter-spacing: .2em;
    margin: 0 0 2.361111%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner h4 {
		font-size: 2.3rem;
		margin: 0 0 9.531%;
	}
}

section.service .oneServiceInner h4.ieEdge {
	line-height: 1.3;
}

section.service .oneServiceInner h4 span {
	position: relative;
	display: inline-block;
	padding: 0 15px;
	text-align: left;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner h4 span {
		text-align: center;
		line-height: 1.3;
	}
}

section.service .oneServiceInner h4 span::before,
section.service .oneServiceInner h4 span::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 400%;
	height: 2px;
	background: #004070;
}
section.service .oneServiceInner h4 span::before {
	right: 100%;
}
section.service .oneServiceInner h4 span::after {
	left: 100%;
}

section.service .oneServiceInner h4 span br {
	display: none;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner h4 span br {
		display: block;
	}
}

section.service .oneServiceInner .contentText {
	max-width: 937px;
	margin: 2.777% auto 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner .contentText {
		margin: 14px auto 0;
	}
}

section.service .oneServiceInner .contentText p {
	font-size: 1.4rem;
	padding: 19px 25px;
	color: #fff;
	background: #0069b7;
	line-height: 1.8;
	letter-spacing: .1em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner .contentText p {
		line-height: 1.8;
		padding: 6.2% 5.55%;
	}
}


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

VOICE

========================================================================== */
section.voice {
	background: #f6f6f6;
	padding: 4.50341% 0 2.5625%;
	position: relative;
	z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.voice {
		padding: 10.5% 5vw;
	}
}

section.voice .voiceInner {
	/* 幅決め */
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.voice .voiceInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

.ttlMain.voice {
	margin: 0 0 9.3916%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain {
		margin: 0 0 10.453%;
	}
}

section.voice .ttlA {
	color: #004070;
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: .09em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.voice .ttlA {
		font-size: 2rem;
		padding: 10px 10px 0;
	}
}

section.voice .ttlA span {
	padding: 15px 22px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.voice .ttlA span {
		padding: 0;
	}
}

section.voice .ttlA:before,
section.voice .ttlA:after,
section.voice .ttlA span:before,
section.voice .ttlA span:after {
	background: #004070;
}

section.voice .oneBox {
	margin: 0 0 10.672358591248667%;
	background: #fff;
}

section.voice .oneBox:last-of-type {
	margin: 0;
}

section.voice .oneBox .contentText {
	font-size: 1.4rem;
	margin-top: 2.8%;
	padding: 19px 25px;
	color: #fff;
	background: #0069b7;
	line-height: 1.8;
	letter-spacing: .1em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.voice .oneBox .contentText {
		padding: 6.2% 5.55%;
	}
}

section.voice .oneBox .contentText h5 {
	margin-bottom: 10px;
}


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

WORK

========================================================================== */
section.work {
	padding: 2.11% 0 .67%;
	background: #f6f6f6;
	position: relative;
	z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work {
		padding: 10.5% 5vw;
	}
}

section.work .workInner {
	/* 幅決め */
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work .workInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

section.work .threeCnt {
	margin-bottom: 0;
}

section.work figcaption .workTtl {
	background: #004070;
	color: #fff;
	position: relative;
	padding: 4.130434782608695% 6.521739130434782%;
	overflow: hidden;
}
section.work figcaption .workTtl h4 {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .2em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work figcaption .workTtl h4 {
		font-size: 1.8rem;
	}
}

section.work figcaption .workTtl p {
	margin: 0;
	background: #ff2400;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	white-space: nowrap;
	letter-spacing: .1em;
	text-align: center;
	padding: 1% 3.61%;
	font-size: 1.3rem;
	display: block;
	float: right;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work figcaption .workTtl p {
		font-size: 1.4rem;
	}
}

section.work figcaption .workTtl p.ieEdge {
    right: 13.43%;
    top: 29.5%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work figcaption .workTtl p.ieEdge {
		top: 23.5%;
	}
}

section.work figcaption .contentText {
	background: #0069b7;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .1em;
	line-height: 1.8;
	padding: 6.2% 5.55%;
	min-height: 141px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work figcaption .contentText {
		font-size: 1.4rem;
		min-height: inherit;
		height: auto !important;
	}
}


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

FAQ

========================================================================== */
section.faq {
	padding: 3.0625% 0 5.0625%;
	background: #f6f6f6;
	position: relative;
	z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.faq {
		padding: 10.5% 5vw;
	}
}

section.faq .faqInner {
	/* 幅決め */
	max-width: 977px;
	margin: 0 auto;
	padding: 0 20px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.faq .faqInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

section.faq .ttlA {
	color: #004070;
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: .09em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.faq .ttlA {
		font-size: 2rem;
	}
}

section.faq .ttlA span {
	padding: 15px 22px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.faq .ttlA span {
		padding: 0;
	}
}

section.faq .ttlA:before,
section.faq .ttlA:after,
section.faq .ttlA span:before,
section.faq .ttlA span:after {
	background: #004070;
}

section.faq .oneBox {
	padding: 0;
	margin: 0 0 10.2454%;
	background: none;
}

section.faq .oneBox:last-of-type {
	margin: 0;
}

section.faq .oneBox .contentText {
	font-size: 1.4rem;
	margin-top: 2.6%;
	padding: 25px;
	color: #fff;
	background: #0069b7;
	line-height: 1.8;
	letter-spacing: .1em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.faq .oneBox .contentText {
		padding: 6.2% 5.55%;
	}
}


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

COMPANY

========================================================================== */
section.company {
	padding: 4.2625% 0 3.0625%;
	background: #f6f6f6;
	position: relative;
	z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company {
		padding: 10.5% 5vw;
	}
}

section.company .companyInner {
	/* 幅決め */
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company .companyInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

section.company h4 {
	text-align: center;
	font-size: 4rem;
	color: #004070;
	line-height: 1;
	position: relative;
	font-weight: bold;
	letter-spacing: .2em;
	margin: 6.6901408% 0 3.511111%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company h4 {
		font-size: 2.3rem;
		margin: 10.6901408% 0 9.531%;
	}
}

section.company h4:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 2px;
    margin: auto;
    background: #004070;
    content: '';
    z-index: -1;
}

section.company h4 span {
	background: #f6f6f6;
	display: inline-block;
	padding: 0 15px;
}

section.company table {
	margin: 0 auto;
	width: 80%;
	letter-spacing: .05em;
	border-collapse: separate;
	border-spacing: 0 10px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company table {
		width: 100%;
		border-spacing: 0;
	}
}

section.company table th {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	width: 18.75%;
	vertical-align: middle;
	background: #ddd;
	text-align: center;
	line-height: 99px;
	font-size: 1.6rem;
}
section.company table th:last-of-type {
	margin-bottom: 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company table th {
		font-size: 1.4rem;
		width: 100%;
		display: block;
		line-height: 44px;
		text-align: left;
		padding: 0 5.55%;
	}
}

section.company table td {
	display: table-cell;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	padding: 30px 0 31px 39px;
	width: 81.25%;
	vertical-align: middle;
	font-size: 1.6rem;
	line-height: 2.2;
	word-break: break-all;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company table td {
		font-size: 1.4rem;
		border: none;
		width: 100%;
		display: block;
		line-height: 1.8;
		padding: 10px 5.55% 20px 5.55%;
	}
	section.company table tr:last-child td {
		padding-bottom: 0;
	}
}

section.company table td:last-of-type {
	margin-bottom: 0;
}

/* 
googlemap ===================================================== */
.ggmap {
	position: relative;
	padding-top: 35.573%;
	height: 0;
	overflow: hidden;
	width: 86.861%;
	margin: 0 auto 3.1597222222222223%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.ggmap {
		width: 100%;
		padding-top: 56.25%;
		margin: 0 auto 9.159722%;
	}
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


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

BLOG

========================================================================== */
section.blog {
	padding: 3.0625% 0 4.4375%;
	background: #f6f6f6;
	position: relative;
	z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.blog {
		padding: 10.5% 5vw;
	}
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.blog .inner {
		padding: 0;
	}
}

/* 
下部ブログページへのリンク ===================================================== */
.blogTxtLink p {
	letter-spacing: .1em;
	line-height: 1;
	padding: 2.35% 0 0;
	font-size: 1.6rem;
	text-align: right;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogTxtLink p {
		font-size: 1.5rem;
		padding: 0;
	}
}

.blogTxtLink a {
	color: #004070;
	text-decoration: underline;
	position: relative;
}
.blogTxtLink a:hover {
	text-decoration: none;
}

/* 
BLOG（メイン、下層ページ） ===================================================== */
.blogInner {
	/* 幅決め */
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

.blogList {
	margin: 0 auto;
	border-top: 1px solid #333;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList {
		width: 100%;
		margin: 0 auto 25px;
	}
}

.blogList li {
	border-bottom: 1px solid #333;
}
.blogList li a {
	position: relative;
	display: block;
	padding: 1.5% 1.5% 1.5% 0;
}

.blogList li a:hover {
	background:#eee;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList li a {
		padding: 20px;
	}
}

.blogList li a:after {
	content: "";
	position: absolute;
	width: 18px;
	height: 21px;
	right: 25px;
	top: 50%;
	margin: -10px 0 0;
	z-index: 5;
	background: url(../img/arrow_01.png) no-repeat 0 0;
	-moz-background-size:cover;
	-webkit-background-size:cover;
	-o-background-size:cover;
	-ms-background-size:cover;
	background-size: cover;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList li a:after {
		display: none;
	}
}

@media screen and (min-width: 769px) {
	.blogList li a:hover {
		/*background: #fff;*/
	}
	.blogList li a:hover img {
		opacity: 1;
	}
}

.blogList .imgWrap {
	width: 15%;
	position: relative;
}
.imgWrapIn {
	display: block;
	position: relative;
	width: 100%;
	padding-top: 100%;
}
.imgWrapIn img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList .imgWrap {
		width: 25%;
	}
}

.blogList figure {
	margin: 0;
	padding: 0;
	width: 100%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList li a figure {
		-webkit-align-items: flex-start;
		-ms-flex-align: flex-start;
		align-items: flex-start;
	}
}

.blogList figcaption {
	padding-left: 32px;
	width: 85%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList figcaption {
		padding-left: 20px;
		width: 75%;
	}
}

.blogList .date {
	width: 100%;
	color: #004070;
	font-size: 1.5rem;
	letter-spacing: 0.2em;
	margin-bottom: 7px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList .date {
		font-size: 1.5rem;
	}
}

.blogList .title {
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 0.2em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList .title {
		font-size: 1.5rem;
	}
}

.blogList .txtWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList + .alignC {
		padding: 0 5vw;
	}
}

.blog .ttlInner .meta time {
	color: #004070;
}

.blogArticleList {
	border-top: 1px solid #ddd;
}
.blogArticleList li {
	border-bottom: 1px solid #ddd;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: start;
	justify-content: start;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
.blogArticleList li .imgWrap {
	width: 200px;
	padding: 10px 0;
	display: block;
}
.blogArticleList li .ttlWrap {
	width: 100%;
	flex: 1;
	padding-left: 30px;
}
.blogArticleList li .category a {
	color: #004070;
	font-weight: bold;
}
@media screen and (min-width: 769px) {
	.blogArticleList li .category a:hover {
		text-decoration: underline;
	}
}
.blogArticleList time:after {
	content: "|";
	display: inline-block;
	padding: 0 10px;
}
.blogArticleList .blogTtl {
	font-weight: bold;
}
@media screen and (min-width: 769px) {
	.blogArticleList .blogTtl a:hover {
		text-decoration: underline;
	}
}

/*  
ページャー
-------------------------------------------------------------*/
.pagination {
	margin-top: 40px;
}
.pagination .page-of {
	display: none;
}
.pagination-box {
	text-align: center;
	font-size: 1.4rem;
}
.pagination-box span {
	display: inline-block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	margin-right: 10px;
	background: #32a99c;
	color: #fff;
}
.pagination-box span:last-child {
	margin-right: 0;
}
.pagination-box span.link {
	background: none;
}
.pagination-box a {
	display: inline-block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-decoration: none;
	background: #fff;
	color: rgba(28, 28, 28, .9);
}
@media screen and (min-width: 769px) {
	.pagination-box a:hover {
		background: #32a99c;
		color: #fff;
	}
	.pagination-box span.link:hover {
		background: #32a99c;
		color: #fff;
	}
	.pagination-box span.link:hover a {
		color: #fff;
	}
}




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

CONTACT

========================================================================== */
section.contact {
	padding: 3.0625% 0 0;
	background: #f6f6f6;
	position: relative;
	z-index: 1;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact {
		padding: 10.5% 5vw 0;
	}
}

section.contact .formWrapOuter {
	padding: 0 0 4.4375%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact .formWrapOuter {
		padding: 0 0 8.375%;
	}
}

section.contact .formWrap {
	background: #ebebeb;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: 3.125% 0 4.0625%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact .formWrap {
		width: 100%;
		padding: 5vw 0;
	}
}

section.contact .modPCenter {
	text-align: center;
}

section.contact .comp {
	min-height: 340px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact .comp {
		min-height: inherit;
		margin-bottom: 19.45%;
	}
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact .comp .modPCenter {
		text-align: left;
	}
}

.pointCenter {
	text-align: center;
	margin-bottom: 1.55em;
	line-height: 1.7;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.pointCenter {
		font-size: 1.4rem;
		margin-bottom: 1.2em;
		text-align: left;
	}
}

.pointCenter.bottom {
	margin-bottom: 2.75em;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.pointCenter.bottom {
		margin-bottom: 1.4em;
	}
}

section.contact h4.ttlC {
	text-align: center;
	margin-bottom: 40px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact h4.ttlC {
		margin-bottom: 20px;
	}
}

.formWrap dl {
	width: 75%;
	margin: 0 auto;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.formWrap dl {
		width: 90%;
	}
}

.formWrap dt {
	font-size: 1.4rem;
}

.formWrap dd {
	margin: 15px 0 30px;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.formWrap dd {
		margin: 10px 0 15px 0;
	}
}

.formWrap dd:last-of-type {
	margin: 15px 0 53px;
}

.formWrap .required {
	background: #004070;
	font-size: 1.2rem;
	color: #fff;
	font-weight: normal;
	height: 25px;
	line-height: 25px;
	display: inline-block;
	padding: 0 10px;
	margin-right: 10px;
	position: relative;
	top: -2px;
}

.formWrap .any {
	background: #bcbcbc;
	font-size: 1.2rem;
	color: #fff;
	font-weight: normal;
	height: 25px;
	line-height: 25px;
	display: inline-block;
	padding: 0 10px;
	margin-right: 10px;
	position: relative;
	top: -2px;
}

.formWrap textarea,
.formWrap input[type="email"],
.formWrap input[type="text"] {
	border: 1px solid #ddd;
	background: #fff;
	height: 40px;
	padding-left: 15px;
	width: 100%;
}

.formWrap textarea {
	height: 196px;
	vertical-align: top;
}

.formWrap dl + p {
	max-width: 300px;
	margin: 0 auto;
}

.formWrap .formBtn {
	text-align: center !important;
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	height: 70px;
	font-size: 1.6rem;
	letter-spacing: .1em;
	background: #fff;
	border: 2px solid #004070;
	color: #004070;
	cursor: pointer;
	transition: border .2s linear,background .2s linear;
	/*
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	*/
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.formWrap dl + p {
		max-width: inherit;
		width: auto;
		margin: 0;
	}

	.formWrap .formBtn {
		width: 90%;
		height: 60px;
		font-size: 1.4rem;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
}

.formWrap .formBtn + .formBtn {
	margin: 30px auto 0;
	border: 1px solid #ccc;
	color: #ccc;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.formWrap .formBtn + .formBtn {
		margin: 15px auto 0;
	}
}

/* 769px以上 */
@media screen and (min-width: 769px) {
	.formWrap .formBtn:hover {
		border: 2px solid #004070;
		background: #004070;
		color: #ffffff;
	}
	.formWrap .formBtn + .formBtn:hover {
		border: 2px solid #004070;
		background: #004070;
		color: #ffffff;
	}
}

.formElement {
	padding: 150px 0
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.formElement {
		padding: 70px 0 50px;
	}
}

.mwform-radio-field-text {
	cursor: pointer;
}
.mwform-checkbox-field label,
.mwform-radio-field label {
	white-space: nowrap;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: auto !important;
	margin-right: 10px !important;
}
dl.formWrapDl select.date,
.formWrap input[type="text"].hasDatepicker {
	width: auto;
}
.formWrap textarea {
	padding: 20px;
}
.formWrap textarea,
.formWrap input {
	border-radius: 0;
	box-shadow: none;
	-webkit-appearance: none;
}
.formWrap select {
	border: 1px solid #ddd;
	height: 30px;
}
input[type="radio"] {
	position: relative;
	-moz-appearance: button;
	-webkit-appearance: button;
	appearance: button;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	content: "";
	background-color: #FFFFFF;
	border: 1px solid #999999;
	-webkit-border-radius: 24px;
	border-radius: 24px;
	vertical-align: middle;
	cursor: pointer;
}
input[type="radio"]:checked {
	background-image: radial-gradient(circle at 50% 50%, #454545 40%, transparent 50%);
}
input[type="radio"]:checked:after {
	display: block;
	position: absolute;
	top: 5px;
	left: 5px;
	content: "";
	width: 12px;
	height: 12px;
	background: #454545;
	-webkit-border-radius: 12px;
	border-radius: 12px;
}
input[type=checkbox] {
	display: none;
}
.mwform-checkbox-field-text {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	padding: 0 0 0 24px;
}
.mwform-checkbox-field-text:after {
	position: absolute;
	top: 50%;
	left: 6px;
	display: block;
	margin-top: -7px;
	width: 5px;
	height: 9px;
	border-right: 3px solid #454545;
	border-bottom: 3px solid #454545;
	content: '';
	opacity: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.mwform-checkbox-field-text:before {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	margin-top: -9px;
	width: 18px;
	height: 18px;
	border: 1px solid #999999;
	background-color: #fff;
	content: '';
}
input[type=checkbox]:checked + .mwform-checkbox-field-text:after {
	opacity: 1;
}
.mw_wp_form .formWrap .horizontal-item {
	margin-left: 0;
	margin-right: 10px;
}
.mw_wp_form .formWrap .horizontal-item + .horizontal-item {
	margin-left: 0;
}
.mw_wp_form_input .formMessage01,
.mw_wp_form_confirm .formMessage02 {
	display: block;
	color: rgba(28, 28, 28, 0.9);
}
.mw_wp_form_confirm .formMessage01,
.mw_wp_form_input .formMessage02 {
	display: none;
}
.privacy{
	margin: 20px 0 10px 0;
	display: block;
	height: 200px;
	overflow: auto;
	padding: 16px;
	border: 1px solid #ccc;
	font-size: 1.2rem;
  margin: 0 auto 1em;
  background-color: #fffff7;
}
.privacy_title{
	text-align: center;
	font-weight: bold;
	margin-bottom: 1rem;
}
.mw_wp_form .privacy dl{
	width: auto;
}
.privacy dt{
	font-weight: bold;
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
	margin-bottom: 15px;
}
.privacy .num{
	font-style: normal;
	font-weight: bold;
	display: table-cell;
	padding-right: 10px;
	white-space: nowrap;
}
.privacy .content{
	display: table-cell;
}
.privacy ,
.mw_wp_form .consent{
  max-width: 75%;
}
.mw_wp_form .consent{
	text-align: center;
	margin: 0 auto 2em;
}
.mw_wp_form .consent * {
	cursor: pointer;
}
.mw_wp_form_confirm .privacy,
.mw_wp_form_confirm .consent{
	display: none !important;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.mw_wp_form_input .formMessage01 .modPCenter,
	.mw_wp_form_confirm .formMessage02 .modPCenter {
		text-align: left;
		padding: 0;
	}
	.privacy ,
	.mw_wp_form .consent{
		width: 100%;
	}
	.mw_wp_form .privacy dl dd span{
		display: table-cell !important;
	}
}


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

footer

========================================================================== */
.footer {
	background: #004070;
	width: 100%;
	padding: 2.75% 0 2.75%;
}

.copy {
	text-align: center;
	line-height: 1;
	display: block;
	color: #fff;
	font-weight: bold;
}

.copy small {
	letter-spacing: .08em;
	font-size: 1.6rem;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.copy small {
		font-size: 1.2rem;
	}
}

/* 
TOPへ戻る ===================================================== */
#topBtn {
	position: fixed;
	bottom: 28px;
	right: 20px;
	z-index: 98;
	display: none;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	#topBtn {
		bottom: 5vw;
		right: 5vw;
	}
}

#topBtn a {
	display: block;
	width: 40px;
	height: 40px;
	color: #fff;
	line-height: 40px;
	font-size: 2rem;
	background: #004070;
	border: 1px solid rgba(255, 255, 255, .8);
	text-align: center;
}


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

404 Not Found

========================================================================== */
.cntWrap.notFound {
	z-index: 1;
	position: relative;
	background: #fff;
	min-height: 580px;
	padding: 5.03472% 20px 5.27777%;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.cntWrap.notFound {
		padding: 10.5% 5vw;
		min-height: inherit;
	}
	.cntWrap.notFound .inner {
		padding: 0;
	}
}

.cntWrap.notFound .oneBox { 
	text-align: center;
	padding: 50px 0;
}
/* 769px以下 */
@media screen and (max-width: 769px) {
	.cntWrap.notFound .oneBox { 
		text-align: left;
		padding: 0;
		font-size: 1.5rem;
	}
}

.cntWrap.notFound .oneBox a:hover {
	text-decoration: none;
}


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

汎用

========================================================================== */
.alignC {
	text-align: center;
}
.ma {
	margin-left: auto;
	margin-right: auto;
}

/*margin*/
.mt20 {
	margin-top: 20px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb50 {
	margin-bottom: 50px;
}
.mb70 {
	margin-bottom: 70px;
}
.mb80 {
	margin-bottom: 80px;
}
.mb90 {
	margin-bottom: 90px;
}
.mb100 {
	margin-bottom: 100px;
}
.mb120 {
	margin-bottom: 120px;
}
.mb150 {
	margin-bottom: 150px;
}

/*blog*/
.tableContents {
	background: #fff !important;
	border: 1px solid #e3e3e3 !important;
}
.image + .singleContent {
	margin-top: 20px;
}
.singleContent {
	width: 100%;
}
.singleContent img {
	max-width: 100%;
	height: auto;
	margin-bottom: 1em;
}
.singleContent p {
	margin-bottom: 1.5em;
}
.singleContent p:last-child {
	margin-bottom: 0;
}
.headingWrap .category a {
	color: #004070;
	font-weight: bold;
}
@media screen and (min-width: 769px) {
	.headingWrap .category a:hover {
		text-decoration: underline;
	}
}
.headingWrap .meta time:after {
	content: "|";
	display: inline-block;
	padding: 0 10px;
}
.headingWrap time {
	color: #004070;
}

.singleTtl {
	text-align: left;
	font-size: 3rem;
	font-weight: bold;
	margin-bottom: 20px;
}
.subWrap {
	margin-top: 50px;
	/*border-top: 1px solid rgba(28, 28, 28, .5);*/
}
.categoryDl {
	padding: 70px 0;
	margin-bottom: 70px;
	/*border-bottom: 1px solid rgba(28, 28, 28, .5);*/
}
.categoryDl ul {
	font-size: 0;
	text-align: center;
}
.categoryDl li {
	display: inline-block;
	font-size: 1.4rem;
	margin-right: 10px;
}
@media screen and (max-width: 769px) {
	.categoryDl li {
		display:block;
		margin-right:0;
		margin-bottom:10px;
	}
}

.categoryDl li:last-child {
	margin-right: 0;
}
.categoryDl li a {
	display: block;
	border-radius: 15px;
	border: 1px solid rgba(28, 28, 28, 0.9);
	padding: 0 20px;
}
@media screen and (max-width: 769px) {
	.categoryDl li a {
		margin: 0 60px;
		padding: 6px 0;
		border-radius: 18px;
	}
}
@media screen and (min-width: 769px) {
	.categoryDl li a:hover {
		background: rgba(28, 28, 28, 0.9);
		color: #fff;
	}
}

dt.ttlMain .roboto {
	font-size: 4.5rem !important;
}
@media screen and (max-width: 769px) {
	dt.ttlMain .roboto {
		font-size: 3rem !important;
	}
}

dt.ttlMain .sub {
	font-size: 1.8rem !important;
}
@media screen and (max-width: 769px) {
	dt.ttlMain .sub {
		font-size: 1.4rem !important;
	}
}

.subWrap .latest {
	border-top: 1px solid #ddd;
}
.subWrap .latest a {
	display: block;
	border-bottom: 1px solid #ddd;
	padding: 20px;
}
@media screen and (max-width: 769px) {
	.subWrap .latest a {
		font-size: 1.5rem;
	}
}
@media screen and (min-width: 769px) {
	.subWrap .latest a:hover {
		background: #f0f0f0;
	}
}

.subWrap .latest time {
	padding-right: 2em;
}

.subWrap .latest a  br {
	display: none;
}


@media screen and (max-width: 1000px) {
	body {
		min-width: 100%;
	}
	.pageTtl .en {
		font-size: 6.4rem;
	}
	.tiltBox .inner.mw1000 {
		padding-left: 5vw;
		padding-right: 5vw;
	}
	.slashBtn li a {
		padding: 65px 10px 10px;
	}
	.slashBtn li a .btnWrap .btnA {
		margin-top: 10px;
	}
	.threeCnt .boxList li a {
		padding: 10px;
	}
	.fourCnt .boxList {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.fourCnt .boxList li {
		width: 49%;
		margin-top: 30px;
	}
	.fourCnt .boxList li:nth-child(1) ,
	.fourCnt .boxList li:nth-child(2) {
		margin-top: 0;
	}
	.facility .boxList li:nth-child(3) ,
	.facility .boxList li:nth-child(4) {
		margin-top: 30px;
	}
}


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

SP

========================================================================== */
@media screen and (max-width: 769px) {
	.inner {
		padding-left: 5vw;
		padding-right: 5vw;
		width: 100%;
		max-width: none;
	}
	.bgColor.inner {
		background-color: transparent;
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 50px;
	}
	.txtBox {
		width: 94%;
	}
	.bgChange {
		padding-bottom: 20px;
	}

	/*ttl*/
	.subTtlB .en {
		font-size: 3.0rem;
	}
	.subTtlB .min {
		font-size: 1.3rem;
		line-height: 1.3;
		padding: 30px 0 0 24px;
	}
	.subTtlB .min:before {
		height: 60px;
		width: 1px;
		top: 0px;
		left: 10px;
	}
	.subTtlC {
		top: -20px;
	}
	
	.blogInner .subTtlC {
		top: -10px;
	}
	.subTtlC .en {
		font-size: 3.0rem;
	}
	.subTtlC .jp {
		font-size: 1.5rem;
		margin: 5px 0 0;
	}
	.subTtlD {
		font-size: 1.8rem;
	}
	.ttlA {
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		margin-bottom: 10px;
	}
	.ttlA span {
		padding: 0;
	}
	.ttlA:before,
	.ttlA:after,
	.ttlA span:before,
	.ttlA span:after {
		content: "";
		display: none;
	}
	.ttlB {
		font-size: 1.5rem;
	}
	.ttlC {
		font-size: 2rem;
	}
	.ttlD .en {
		font-size: 2.4rem;
	}
	.ttlD i {
		font-size: 1.4rem;
		padding: 0 5px;
	}
	.ttlD .jp:after,
	.ttlD .jp:before {
		width: 30px;
	}
	.ttlE {
		font-size: 1.4rem;
	}
	.ttlF .en {
		font-size: 1.6rem;
	}
	.snsWrap .ttlF .en {
		font-size:3rem;
	}
	.pageTtl {
		padding: 0 0 0 5vw;
	}
	.pageTtl .en {
		font-size: 3.5rem;
	}
	.pageTtl .jp {
		font-size: 1.6rem;
		padding: 30px 0 0 32px;
	}
	
	.privacyPage .pageTtl .jp {
		display:none;
	}
	.privacyPage .privacy .modPCenter{
		text-align: left;
	}
	
	.dlB li li {
		margin:15px 0;
	}
	
	.dlB dt {
		padding:10px;
	}
	
	.pageTtl .jp:before {
		height: 60px;
		width: 1px;
		top: 0px;
		left: 20px;
	}
	/*btn*/
	.btnA  {
		font-size:1.4rem;
		max-width:100%;
		height:60px;
	}
	.btnA a {
		width: 100%;
	}

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

	Box style

	========================================================================== */
	.twoBox {
		display: block;
	}
	.twoBox .txtBox {
		width: 100%;
	}
	.twoBox .imgBox {
		margin-top: 20px;
		width: 100%;
	}
	.oneBox,
	.mw1000 .oneBox {
		padding: 5vw;
	}

	.voice .oneBox {
		padding: 0;
	}

	.oneBox .contentText {
		margin-top: 10px;
		padding: 5vw;
	}

	/*縦幅固定角丸*/
	.eyeCatching {
		width: 110px;
		height: 110px;
	}
	/*dl*/
	.dlA {
		font-size: 1.6rem;
	}
	.dlA dt {
		width: 45%;
		padding: 8px 0;
	}
	.dlA dd {
		width: 55%;
		padding: 0 15px;
		font-size: 2.0rem;
	}
	.w600,
	.dlB {
		width: 100%;
	}
	.dlB dd {
		display: block;
	}
	.dlB dd .itemName {
		display: block;
		width: 100%;
		font-weight: bold;
	}
	.dlB dd .price {
		display: block;
		width: 100%;
	}
	.dlC {
		font-size: 1.4rem;
		display: block;
	}
	.dlC dt {
		font-weight: bold;
		font-size: 1.4rem;
		width: 100%;
		padding: 4px 0;
		margin-top: 5px;
		display: block;
	}
	.dlC dd {
		width: 100%;
		padding: 4px 8px;
		margin-top: 5px;
		font-size: 1.4rem;
		line-height: 1.3;
		display: block;
	}

	/*threeCnt*/
	.threeCnt {
		margin-bottom: 50px;
	}
	.threeCnt .inner {
		padding-left: 0;
		padding-right: 0;
	}
	.threeCnt .boxList {
		display: block;
	}
	.threeCnt .boxList li {
		width: 100%;
	}
	.threeCnt .boxList li a {
		padding: 15px;
	}
	.threeCnt .boxList li a .btnWrap .ttl {
		font-size: 3.0rem;
	}
	.threeCnt .boxList li a .btnWrap .small {
		font-size: 1.5rem;
	}
	.threeCnt .boxList li a .btnWrap .btnA {
		max-width: 225px;
		margin-top: 15px;
	}
	/*fourCnt*/
	.fourCnt .boxList {
		display: block;
	}
	.fourCnt .boxList li {
		width: 100%;
	}
	.fourCnt .boxList::before,
	.fourCnt .boxList::after{
		display: none;
		width:100%;
	}
	.fourCnt .boxList li:nth-child(2) {
		margin-top: 40px;
	}
	.fourCnt .boxList li + li {
		margin-top: 40px;
	}
	.fourCnt .box figcaption {

	}
	.fourCnt .boxList + .btnA {
		margin-top: 25px;
	}

	.message .rightBg,
	.feature .rightBg {
		display: none;
	}
	.message .imgBox {
		position: relative;
		top: 0;
		margin-bottom: -100px;
	}
	.message .imgBox .img:first-child {
		width: 68%;
	}
	.message .imgBox .img:last-child{
		position: absolute;
		width: 68%;
		right: 0;
		margin-top: -25px;
	}
	.feature .tiltBox .inner{
		padding-top: 70px;
	}
	.ba {
		margin-bottom: 15px;
	}
	.ba .subTtlA .en {
		display: block;
	}
	.ba .subTtlA .jp {
		display: block;
		padding: 0;
	}
	.ba .subTtlA .jp:before {
		display: none;
	}
	.ba .rightBg {
		display: none;
	}
	.ba .tiltBox {
		margin-bottom: 0;
	}
	.ba .tiltBox .inner {
		padding-top: 60px;
		padding-bottom: 50px;
	}
	.baItem{
		display: block;
	}
	.baItem + .baItem {
		margin-top: 45px;
	}
	.baName {
		width: 100%;
		display: block;
		border: none;
		border-top: 1px solid #333;
		border-bottom: 1px solid #333;
		display: block;
		padding: 25px 0;
		text-align: center;
	}
	.baName h3 {
		font-size: 2.4rem;
	}
	.baName span {
		font-size: 1.4rem;
	}
	.option{
		font-size: 1.8rem;
	}
	.baImage {
		margin-top: 50px;
		width: 100%;
	}
	.ba .eyeCatching {
		font-weight: bold;
		position: absolute;
		left: -25px;
		top: -45px;
		z-index: 5;
	}
	.ba .ttl{
		font-size: 1.4rem;
	}
	.ba .stats.en{
		font-size: 2.5rem;
	}
	.ba .stats.en span {
		font-size: 1.4rem;
	}
	.ba .res.en{
		font-size: 1.4rem;
	}
	.baImage figcaption {
		font-size: 2.0rem;
		line-height: 1;
		bottom: 10px;
	}
	.baResult{
		width: 100%;
		display: block;
		margin-top: 20px;
	}
	.ba .dlA{
		width: 100%;
		height: auto;
	}
	.baMessage{
		width: 100%;
		display: block;
		border: none;
		padding: 0;
		margin-top: 20px;
		font-size: 1.4rem;
	}
	.small{
		font-size: 1.2rem;
	}
	.slashBtn {
		margin-top: -30px;
		margin-bottom: 25px;
	}
	.slashBtn .rightBg {
		display: none;
	}
	.slashBtn .inner {
		padding-left: 0;
		padding-right: 0;
	}
	.slashBtn ul {
		display: block;
	}
	.slashBtn li {
		width: 100%;
		position: relative;
	}
	.slashBtn li:last-child {
		margin-top: 20px;
	}
	.slashBtn li .bgWrap {
		position: relative;
		left: 0;
		bottom: 0;
		width: 100%;
		padding-top: 90.625%;
		z-index: 1;
	}
	.slashBtn li a {
		padding: 60px 5vw 5vw;
	}
	.slashBtn li:last-child a {
		padding: 5vw 5vw 60px;
	}
	.slashBtn li a .btnWrap .ttl {
		font-size: 3.0rem;
	}
	.slashBtn li a .btnWrap .small {
		font-size: 1.5rem;
	}
	.slashBtn li a .btnWrap .btnA {
		max-width: 225px;
		margin-top: 20px;
	}
	.feedWrap {
		max-width: none;
		margin: 0 auto 50px;
	}
	.feedWrap #sb_instagram #sbi_load {
		padding: 0 5vw;
		margin-top: 0;
	}
	.feedWrap #sb_instagram #sbi_load .sbi_follow_btn {
		margin: 20px auto 0;
	}
	.feedWrap #sb_instagram svg:not(:root).svg-inline--fa {
		height: 2em;
	}

	.facility .boxList li {
		margin-top: 0;
	}
	.facility .boxList li + li,
	.facility .boxList li:nth-child(2) ,
	.facility .boxList li:nth-child(3) ,
	.facility .boxList li:nth-child(4) {
		margin-top: 15px;
	}
	.staffBox {
		display: block;
		width: 100%;
		padding: 10px;
	}
	.staffBox + .staffBox {
		margin-top: 15px;
	}
	.staffBox .imgBox, 
	.staffBox .txtBox {
		width: 100%;
	}
	.staffBox .txtBox {
		margin-top: 15px;
	}
	.staffBox .label + h3 {
		margin-top: 15px;
	}

	.staffBox .ttlC,
	.staffBox .ruby {
		text-align: center;
	}
	.staffBox .ruby {
		font-size: 1.3rem;
	}
	.staffBox .contentText {
		margin-top: 15px;
	}
	/*price*/
	.priceBox {
		display: block;
		width: 100%;
	}
	.priceBox + .priceBox {
		margin-top: 25px;
	}
	.priceBox .imgBox ,
	.priceBox .txtBox {
		width: 100%;
	}
	.priceBox .txtBox {
		margin-top: 15px;
	}
	.priceBox .contentText,
	.priceBox .contentNotice {
		margin-top: 15px;
	}
	.priceBox .dlA {
		margin-top: 15px;
		display: block;
	}
	.priceBox .dlA dt {
		width: 100%;
		padding: 4px;
		font-size: 1.4rem;
	}
	.priceBox .dlA dd {
		width: 100%;
		padding: 4px;
		text-align: center;
		font-size: 1.5rem;
	}
	/*faq voice */
	.faq .tiltBox .inner,
	.voice .tiltBox .inner {
		padding: 5vw 5vw 50px;
	}
	/*access*/
	.access .tiltBox .inner {
		padding-top: 5vw;
		max-width: none;
	}

	.subWrap {
		margin-top: 25px;
	}
	.subWrap .latest a {
		padding: 10px 0;
	}
	.categoryDl {
		padding-top: 30px;
		padding-bottom: 10px;
		margin-bottom: 25px;
	}

	/* blog */
	.blogCnt .cntWidth1000 {
		padding: 20px;
	}
	.blogArticleList .blogTtl {
		font-size: 1.5rem;
	}
	.blogArticleList li .category a {
		display: block;
		font-size: 1.3rem;
		line-height: 1.4;
	}
	.blogArticleList li .ttlWrap {
		padding-left: 10px;
	}
	.blogArticleList li .ttlWrap time {
		font-size: 1.5rem;
	}
	.blogArticleList time:after {
		content: "";
	}
	.blogArticleList li .imgWrap {
		width: 25%;
		display: block;
		padding: 20px 0;
	}
	.blogArticleList li .ttlWrap {
		width: 73%;
	}
	.subWrap .latest time {
		display: block;
	}
	.singleTtl {
		font-size: 2rem;
		line-height: 1.6;
	}

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

	Box style

	========================================================================== */
	.notFound .oneBox {
		padding: 25px;
	}

	.tel .en {
		font-size: 2.5rem;
		margin-left: 15px;
	}
	.contact .jp {
		font-size: 1.6rem;
		margin-left: 10px;
	}
	.footBtnWrap li.contact .wrap {
		padding: 10vw 5vw;
	}
	.infoWrap {
		display: none;
	}
	.snsWrap {
		padding: 15px;
		margin-top: 20px;
	}
	/*margin*/
	.mb10 {
		margin-bottom: 5px;
	}
	.mb15 {
		margin-bottom: 7px;
	}
	.mb20 {
		margin-bottom: 10px;
	}
	.mb30 {
		margin-bottom: 15px;
	}
	.mb40 {
		margin-bottom: 20px;
	}
	.mb50 {
		margin-bottom: 25px;
	}
	.mb70 {
		margin-bottom: 35px;
	}
	.mb80 {
		margin-bottom: 40px;
	}
	.mb90 {
		margin-bottom: 45px;
	}
	.mb100 {
		margin-bottom: 50px;
	}
	.mb120 {
		margin-bottom: 60px;
	}
	.mb150 {
		margin-bottom: 75px;
	}
	.privacy ,
	.mw_wp_form .consent{
		max-width: 90%;
	}
	section.contact .privacy .modPCenter {
		text-align:left;
		margin-bottom: 1em;
	}
}

.cntWrap.blog {
	background: #fff;
}

/* update class */

section.service figcaption .serviceTtl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	line-height:1.3;
}
section.work figcaption .workTtl p {
	float:none;
	margin-bottom:1em;
	display:inline-block;
}
section.service .oneServiceInner h4 {
	line-height:1.2;
}
@media screen and (min-width:770px) {
	#menuNavi {
		padding-left:35px;
	}
	#menuNavi ul li a.current:before {
		left: -40px;
	}
}
/***** refusal *****/
.refusal {
  text-align: right;
  margin-top: 30px;
  width:100%;
  max-width:768px;
  margin:30px auto 0;
}
.refusal img {
  width: 100%;
  max-width: 300px;
  margin-left: auto;
}
@media screen and (max-width: 770px) {
  .refusal {
    margin:15px auto 0;
    }
  .refusal img {
    max-width: 270px;
  }
}
.privacy dd a{
	word-break: break-all;
}
.google_privacy{
	margin-top: 1em;
}
img[src$="reloclub_logo.jpg"] ,
img[src$="fukuri_logo.jpg"] {
    max-width:200px;
}

.siteHeader .siteHeaderInner .logoWrap {
	max-width: 280px;
	width: 100%;
}
@media screen and (max-width: 769px) {
	.siteHeader .siteHeaderInner {
		height: 60px;
	}
	.siteHeader .siteHeaderInner .logoWrap {
		padding: 0 10px 0 20px;
		max-width: calc(100% - 60px);
		margin:	0;
		width: 100%;
	}
	.siteHeader .siteHeaderInner .logoWrap a {
		text-align: center;
	}
	.siteHeader .siteHeaderInner .logoWrap img {
		max-width: 220px;
		vertical-align: middle;
		display: inline-block;
	}
}

.siteHeader .siteHeaderInner {
	justify-content: center;
}
@media screen and (max-width: 769px) {
	.siteHeader .siteHeaderInner {
		justify-content: flex-start;
	}
	.siteHeader .siteHeaderInner .logoWrap {
		display: block;
	}
	.siteHeader .siteHeaderInner .logoWrap a {
		line-height: 1;
    	font-size: initial;
	}
}
#contents09 {
	min-height: 500px;
}

/* 20210812 */
.siteHeader .siteHeaderInner .logoWrap {
	margin: 0;
}
@media screen and (max-width: 769px) {
	.siteHeader .siteHeaderInner .logoWrap {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	.siteHeader .siteHeaderInner .logoWrap a {
		width: auto;
      text-align: left;
	}
}
.a2a_kit .a2a_label {display:none !important;}

/***** 20210927 refusal *****/
.refusal {
  line-height: 1;
}
.refusal img {
  width: 100%;
  max-width: 285px;
  max-height: 14px;
  vertical-align: top;
}
@media screen and (max-width: 770px) {
  .refusal img {
    max-width: 285px;
  }
}
/***** 20210111 *****/
.formWrap textarea {
	vertical-align: top;
}


/***** 202205 SEO *****/
#menuNavi {
  top: 30px;
}
.mainMenu a {
  position: relative;
}
section.mainVisual .txtBox .main_title, section.mainVisual .txtBox .main_title {
  font-size: inherit;
  letter-spacing: inherit;
}
section.mainVisual.underPage .txtBox .main_title .sub {
  display: inline-block;
  position: relative;
  top: 0.5em;
  font-size: 1.8rem;
  letter-spacing: .1em;
  padding: 0 .5em;
}
section.mainVisual.underPage .txtBox .main_title .mainTtl {
  letter-spacing: .2em;
}
@media screen and (max-width: 769px) {
    #menuNavi {
      top: 0px;
    }
  .siteHeader .siteHeaderInner {
    height: 100%;
  }
  .siteHeader .siteHeaderInner .logoWrap {
    align-items: flex-start;
    padding: 20px;
  }
  section.mainVisual.underPage {
    padding-top: 200px;
  }
  .bread {
    margin-top: 200px;
  }
  section.mainVisual.underPage .txtBox .main_title .mainTtl {
    font-size: 3rem;
  }
}
@media screen and (max-width: 500px) {
  section.mainVisual.underPage .txtBox .main_title .mainTtl {
    font-size: 7vw;
    line-height: 1.2;
  }
  section.mainVisual.underPage .txtBox .main_title .sub{
    font-size: 4vw;
    top: 0.2em;
  }
}
.c-post-content h4 {
  margin-top: 30px;
  margin-bottom: 20px;
  padding: 0 0 5px 10px;
  font-size: 1.6rem;
  line-height: 1.5;
}
.c-author-txt-sns-list-item-link span {
  transform:translate(4%);
}
.p-global-header {
  display: block;
}
/*** h1 ***/
.page-title {
  font-size: 1.5rem;
  line-height: 1.6;
  background-color: #3a3b3c;
  color: #fff;
  padding: 13px 30px;
  height: 50px;
  transition: height .1s linear, padding .1s linear;
}
.l-main.is-index {
  padding-top: 0 !important;
}
.is-overed .page-title {
  height: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.page-title h1 ,
.page-title p {
  font-size: 1.5rem;
  line-height: 1.6;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 991px) {
  .page-title {
    padding: 8px 15px;
    height: 40px;
    white-space: nowrap;
  }
  .page-title h1 ,
  .page-title p {
    font-size: 1.2rem;
    line-height: 2;
  }
}

/* author */
.snsWrap {
  margin: 40px 20px 50px;
}
.c-auther-title {
  font-weight: bold;
  margin-top: 50px;
  font-family: "Lato", "Noto Sans JP", Arial, Helvetica, sans-serif;
  color: #d5d5d5;
  letter-spacing: .2em;
  font-size: 1.4rem;
  padding-left:.5em;
}
.c-author {
  margin-top: 1em;
  position: relative;
  border-top: 2px solid #d5d5d5;
  border-bottom: 2px solid #d5d5d5;
}
.c-author-label {
  display: inline-block;
  position: relative;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: .8em;
}
.c-author-label label {
  padding: .2em 0;
  letter-spacing: .2em;
  position: relative;
  color: #d5d5d5;
  font-weight: bold;
}
@media screen and (max-width: 769px) {
  .c-auther-title {
    padding: 0;
  }
  .c-author {
    margin-top: .5em;
  }
  .c-author-label {
    width: 100%;
    text-align:center;
  }
  section.mainVisual.underPage .txtBox .main_title .sub {
    letter-spacing: .1em;
  }
}
.c-author-container {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 30px 30px 0;
  align-items: flex-start;
}

@media screen and (max-width: 769px) {
  .c-author-container {
    padding: 50px 1em 20px;
  }
}

.c-author-figure {
  display: flex;
  justify-content: center;
  width: 240px;
  height: 240px;
  overflow: hidden;
}
.c-author-img {
  max-width: none;
	width: auto;
	height: auto;
}

@media screen and (max-width: 769px) {
  .c-author-figure {
    margin: 0 auto;
    width: 200px;
    height: 200px;
  }
  
}

.c-author-txt {
  width: calc(100% - 240px);
  padding-left: 60px;
}

@media screen and (max-width: 769px) {
  .c-author-txt {
    width: 100%;
    padding-left: 0;
    margin-top: 20px;
  }
}

.c-author-txt-label {
  font-size: 14px;
  font-size: 1.4rem;
  color: #004070;
}

@media screen and (max-width: 769px) {
  .c-author-txt-label {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.c-author-txt-name {
  margin-bottom: 1em;
  font-weight: bold;
  display: flex;
  align-items: baseline;
}

.c-author-txt-name-main {
  font-size: 2.4rem;
  padding-right: 15px;
  line-height: 1.5;
  color: #004070;
  letter-spacing: .2em;
}

@media screen and (max-width: 769px) {
  .c-author-txt-name {
	display: block;
    text-align:center;
  }
  .c-author-txt-name-main {
    font-size: 20px;
    font-size: 2rem;
    padding: 0;
  }
  .snsWrap {
    margin: 20px 0px 25px;
  }
}

.c-author-txt-name-sub {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: .1em;
  font-weight: 900;
  font-family: "Lato", "Noto Sans JP", Arial, Helvetica, sans-serif;
  color: #004070;
}

@media screen and (max-width: 769px) {
  .c-author-txt-name-sub {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.c-author-txt-desc {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2;
  margin-bottom: 1em;
}

.c-author-txt-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.c-author-txt-list-item {
  font-size: 13px;
  font-size: 1.3rem;
  padding-bottom: 10px;
}

.c-author-txt-list-item:not(:last-child) {
  margin-right: 1.5em;
}

@media screen and (max-width: 769px) {
  .c-author-txt-list {
    margin-bottom: 1em;
  }
  .c-author-txt-list-item:not(:last-child) {
    margin-right: .5em;
  }
  .c-author-txt-list-item {
    padding: 0;
    margin-bottom: 1em;
  }
}

.c-author-txt-list-item-link {
  background: #d5d5d5;
  color: #ffffff;
  transition: all .2s ease;
  margin: .3em 0 0;
  display: inline-block;
  font-weight: bold;
  line-height: 1.3rem;
  padding: .4em 1em;
  letter-spacing:.2em;
}

@media screen and (min-width: 770px) {
  .c-author-txt-list-item-link:hover {
    background: #e5e5e5;
  }
}

.c-author-txt-sns-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  padding-top: .5em;
  padding-right: 1em;
}
.c-author-txt-sns-label {
  font-weight: 900;
  margin-right: 2em;
  font-size: 1.5rem;
  letter-spacing: .1em;
  font-family: "Lato", "Noto Sans JP", Arial, Helvetica, sans-serif;
}

.c-author-txt-sns-list-item-link {
  font-size: 20px;
  font-size: 2.2rem;
  margin: 0 0 0 1.4em;
  transition: color .5s ease;
  color: #d5d5d5;
}

@media screen and (max-width: 769px) {
  .c-author-txt-sns-label {
    width: 100%;
  }
  .c-author-txt-sns-list {
    padding-right: 0;
  }
}

@media screen and (min-width: 770px) {
  .c-author-txt-sns-list-item-link:hover {
    opacity: .8;
  }
}

/*** gurtenberg nav ***/
.singleContent {
  position: relative;
}
div#toc_container {
  width: 100%;
  margin-top: 6em;
  margin-bottom: 50px;
  padding: 15px;
  border: 1px solid #ddd;
  background: #fff;
}
#toc_container a {
  padding-left: .5em;
  text-decoration: underline !important;
}
div#toc_container a:hover {
  text-decoration: none !important;
  border: none;
}
@media screen and (max-width: 991px) {
  div#toc_container {
    padding: 20px;
  }
}

#toc_container p.toc_title {
  margin: 0 0 1em;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: left;
  position: relative;
  padding-left: .9em;
  text-align: left !important;
  position: absolute;
  top: -2.5em;
  left: 0;
}
#toc_container p.toc_title::before {
  content: none;
  font-size: 12px;
  left: 0;
  position: absolute;
  bottom: .6em;
}

div#toc_container p.toc_title+ul.toc_list {
  margin-top: 0;
}

div#toc_container ul li {
  margin-bottom: 15px;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
}

div#toc_container > ul > li:before {
  content: '○';
  left: 0;
}

div#toc_container ul ul {
  margin-top: 10px;
  margin-left: 0;
}

div#toc_container ul li ul li {
  margin-bottom: 0;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.6;
  color: #666;
}

div#toc_container ul li ul li:before {
  content: '・ ';
  font-size: 1.6rem;
  position: relative;
}

div#toc_container ul ul ul {
  margin-top: 0.5em;
}

div#toc_container ul li ul li ul li {
  text-indent: 1em;
}

div#toc_container > ul ul {
padding-left: 2.5em;
margin-bottom: 1em;
}
div#toc_container > ul ul ul {
padding-left: 1em;
}
div#toc_container > ul ul a {
  padding-left: 0;
}

@media screen and (max-width: 770px) {
  div#toc_container ul li,
  div#toc_container ul li ul li {
    font-size: 13px;
    font-size: 1.3rem;
    margin-bottom: 15px;
  }
  div#toc_container > ul ul {
  padding-left: .5em;
  }
  #toc_container p.toc_title {
    font-size: 1.6rem;
  }
}
/*** pass ***/
.post-password-form p:last-child {
  margin-top: 20px;
}

.post-password-form input[type="password"] {
  border: 1px solid #ccc;
  padding: 3px;
}

.post-password-form input[type="submit"] {
  color: #fff;
  background: #048abf;
  padding: 4px 10px;
}
.wp-block-video video {
  width: 100%;
}
/*----------------------------------------
isGutenberg
----------------------------------------*/
.isGutenberg h2 {
  font-size: 2rem;
  border-bottom: 1px solid #ccc;
  margin-bottom: 1em;
  font-weight: bold;
  text-align: left;
  line-height: 1.4;
}
.isGutenberg h3 {
  padding: 10px;
  background: #eee;
  margin-bottom: 1em;
  font-weight: bold;
  margin-top: 1.5em;
  text-align: left;
}
.isGutenberg h4 {
  margin-bottom: 1em;
  margin-top: 1.8rem;
  text-align: left;
}
.isGutenberg ul li:before {
  content: "・";
  position: absolute;
  left: 0em
}
.isGutenberg ul li {
  margin-left: 1.2em;
}
.isGutenberg ol {
  counter-reset: item;
}
.isGutenberg ol li {
    text-indent: -1.3em;
    padding-left: 1.3em;
}
.isGutenberg ol li:before {
    counter-increment: item;
    content: counter(item)'.';
    padding-right: 0.5em;
    font-weight: bold;
}
.isGutenberg .wp-block-rss, .isGutenberg .wp-block-latest-posts, .isGutenberg .wp-block-categories {
  border: none;
  padding: 0;
}
.wp-block-embed-youtube iframe {
  width: 100%;
  height: 53vw;
  max-height: 550px;
}
@media screen and (max-width: 769px) {
  .wp-block-embed-youtube iframe {
    height: 49vw;
  }
  .isGutenberg h2 {
    font-size: 16px;
  }
}
/*----------------------------------------
privacy
----------------------------------------*/
.c-form-consent {
  padding-top: 0;
}
.p-privacy__read {
  margin: 0 0 3em;
}
.p-privacy__ttl {
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px dashed #bbb;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-privacy__ttl {
    margin-bottom: 15px;
    padding-bottom: 10px;
    font-size: 13px;
    font-size: 1.3rem;
  }
}
/*----------------------------------------
c-section
----------------------------------------*/
.c-section {
  position: relative;
}
.c-section:not(:last-child) {
  margin-bottom: 120px;
}
.c-section.is-privacy {
  padding-top: 100px;
}
@media screen and (max-width: 767px) {
  .c-section:not(:last-child) {
    margin-bottom: 60px;
  }
  .c-section.is-privacy {
    padding-top: 40px;
  }
}
.c-section.is-contact {
  margin-bottom: 0;
}
.c-section__container {
  position: relative;
  margin: 0 80px;
}
@media screen and (max-width: 767px) {
  .c-section__container {
    margin: 0 20px;
  }
}
.c-section__container.is-middle {
  margin: 0 160px;
}
@media screen and (max-width: 1199px) {
  .c-section__container.is-middle {
    margin: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .c-section__container.is-middle {
    margin: 0 10px;
  }
}
@media screen and (max-width: 767px) {
  .c-section__container.is-middle.is-sp-middle {
    margin: 0 20px;
  }
}
.c-section__container.is-small {
  margin: 0 300px;
}
@media screen and (max-width: 1600px) {
  .c-section__container.is-small {
    margin: 0 200px;
  }
}
@media screen and (max-width: 1199px) {
  .c-section__container.is-small {
    margin: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .c-section__container.is-small {
    margin: 0 20px;
  }
}
.p-privacy-block {
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-privacy-block {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/*----------------------------------------
c-o-list-child
----------------------------------------*/
.c-o-list-child {
  position: relative;
  text-align: justify;
}
.c-o-list-child:not(:first-child) {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .c-o-list-child:not(:first-child) {
    margin-top: 10px;
  }
}
.c-o-list-child__item {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  padding: 0 0 0 25px;
  counter-increment: c-o-list-child-number;
}
.c-o-list-child__item::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: center;
  content: "(" counter(c-o-list-child-number) ")";
}
@media screen and (max-width: 767px) {
  .c-o-list-child__item::before {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.c-o-list-child__item-txt {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-o-list-child__item-txt {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/*----------------------------------------
c-guid-desc
----------------------------------------*/
.c-guid-desc {
  margin: 0 0 20px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-guid-desc {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.p-privacy-block .c-guid-desc,
.p-shopping-guide-block .c-guid-desc {
  text-align: left;
}
.c-section.is-guide .c-guid-desc {
  padding-left: 10px;
  text-align: left;
}
@media screen and (max-width: 1024px) {
  .c-section.is-guide .c-guid-desc {
    padding-right: 5px;
    padding-left: 5px;
  }
}
:not(:last-child) > .c-guid-desc:last-child {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  :not(:last-child) > .c-guid-desc:last-child {
    margin-bottom: 40px;
  }
}
/*----------------------------------------
c-o-list
----------------------------------------*/
.c-o-list {
  position: relative;
  text-align: justify;
}
.c-o-list:not(:last-child) {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .c-o-list:not(:last-child) {
    margin-bottom: 40px;
  }
}
.c-o-list__item {
  position: relative;
  z-index: 1;
  margin: 0 0 15px;
  padding: 0 10px 0 35px;
  counter-increment: c-o-list-number;
}
@media screen and (max-width: 767px) {
  .c-o-list__item {
    margin-bottom: 10px;
    padding-left: 23px;
  }
}
.c-o-list__item:last-child {
  margin-bottom: 3em;
}
.c-o-list__item::before {
  position: absolute;
  top: 0;
  left: 3px;
  display: block;
  line-height: 1.8;
  content: counter(c-o-list-number) ".";
}
@media screen and (max-width: 767px) {
  .c-o-list__item::before {
    left: 1px;
  }
}
.c-o-list__item-txt {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-o-list__item-txt {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.is-privacy a, .c-form__consent a {
  text-decoration: underline;
  position: relative;
}
.is-privacy a:hover, .c-form__consent a:hover {
    color: #004070;
}
.formWrap dl + p.c-form__consent {
    padding: 0 1em .5em;
    text-align: center;
    letter-spacing: 0.1rem;
    max-width: 1000px;
    font-size: 1.5rem;
}
.c-u-list-child__item {
    position: relative;
    padding: 0 0 0 1.2em;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-u-list-child__item {
      font-size: 12px;
      font-size: 1.2rem;
  }
}
@media screen and (max-width: 500px) {
  .formWrap dl + p.c-form__consent {
      font-size: 3.7vw;
  }
}
.c-u-list-child__item::before {
    position: absolute;
    top: 10px;
    left: 5px;
    display: block;
    width: 3px;
    height: 3px;
    border-radius: 50px;
    background: #6e6e6e;
    content: "";
}
/*----------------------------------------
footer-sub-link
----------------------------------------*/
.p-footer-sub-link {
  text-align: center;
  padding: 0px 1em 0;
}
.p-footer-sub-link {
  background: #ebebeb;
}
.p-footer-sub-link-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: auto;
  padding: 1em 0;
}
@media screen and (max-width: 1024px) {
  .p-footer-sub-link-list {
    justify-content: center;
  }
}
.p-footer-sub-link-item {
  margin: 0 5px;
}
.p-footer-sub-link-link {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 10px;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 900;
  letter-spacing: 1.5px;
  letter-spacing: 0.15rem;
  transition: color cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
  line-height: 1em;
  text-decoration: underline;
}
.p-footer-sub-link-link:hover {
    color: #004070;
}
.p-footer-sub-link-link:hover::before {
    -webkit-animation: nav-link-enter 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    animation: nav-link-enter 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
.p-post-eyecatch-src {
  display: inline;
}
.p-post-eyecatch::after {
  content: none;
}
.c-breadcrumbs-item:last-child .c-breadcrumbs-link {
  pointer-events:none;
}
@media screen and (max-width: 1024px) {
  .c-breadcrumbs {
    display: block;
  }
}

section.mainVisual .txtBox {
  padding: 0 1em;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content:center;
  align-items: center;
}
section.mainVisual.underPage .txtBox .main_title {
  padding:0;
  margin-top: 40px;
}
.page-title~main#cnt section.mainVisual.underPage .txtBox .main_title {
  margin-top: 90px;
}
@media screen and (max-width: 500px) {
  section.mainVisual.underPage .txtBox .main_title {
    letter-spacing: .1em;
  }
  .page-title~main#cnt section.mainVisual.underPage .txtBox .main_title {
    margin-top: 70px;
  }
}
/***** 20221214 *****/
.mw_wp_form_confirm .is-confirm-none {
	display: none;
}
/***** 20230124 *****/
section.contact {
  min-height: calc(100vh - 185px) !important;
}
@media screen and (max-width: 767px) {
  section.contact {
    min-height: calc(100vh - 100px) !important;
  }
}
/** 20230623 **/ figure {margin-bottom: 0 !important;}
/* 20230825 */
.a2a_s_share1 svg path:first-child {fill: #222 !important;}

@media screen and (max-width: 769px) {
	#contents01 {
		height: 100vh;
    height: 75vw;
	}
  section.about {
    margin-top: 75vw;
  }
}
.c-guid-desc {
	word-break: break-all;
}
div#toc_container > ul > li:before {
	padding-left: 1em;
}
div#toc_container a {
	margin-left: 1em;
}