@charset "utf-8";
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/*=============================================================*/
/* ◆style-base /font-size:62.5%;=10px=1rem /line-heigh=1.6] 
===============================================================*/

*,
*::before,
*::after {
  box-sizing: inherit;/*need-flexGrid-Layout*/
}

html {
	font-size: 62.5%;
	font-weight: 500;
	box-sizing: border-box;
}

body {
	font-size: 1.9rem;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
	line-height: 2;
	color: #0c1b34;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

@media screen and (max-width: 768px) {
	body { font-size: 1.6rem; line-height: 1.6;}
}

p,
.contents li { letter-spacing:.1rem;}

body,div {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}

img {
	margin: 0;
	padding: 0;
}

em,i {
  font-style: normal;
  line-height: inherit;
}

strong,b {
  font-weight: bold;
  line-height: inherit;
}

small {
  font-size: 80%;
  line-height: inherit;
}

mark { background:#f9e621;}

iframe, input, object, 
table, td, textarea, video {
	max-width: 100%; 
	height: auto;
}

a {
	outline: none;
	text-decoration: none;
}

a:hover img {opacity: .7;}

a,
a:active,
a:visited {color: #003366;}

.link_line a{ text-decoration: underline; }

main a:hover{ 
	text-decoration: underline; 
	color: #258FAF;
}

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

/******************************************************************
 * セクション共通部分
******************************************************************/

/* this-site-onlyスタイル index以外のpage
　　.next-body > .Visual > .breadcrumb__list
-----------------------------------------------------------------*/
.next-body {
	position:relative; 
	top:-1em;
	z-index:1;
	background:url(../image/top-main-bg1.jpg) no-repeat top left; 
	background-size: contain; 
}

.next-body main { background:#fff; margin-bottom:-1em;}

.next-style2 {}
/* this-site-onlyスタイル index*/
.top-body {
	background-color: #fff;
	position: relative;
	z-index: 98;
}

/*　要z-index＆position: relative　　
-------------------------------------------------------------------*/
.contact-box {
	position: relative;
	z-index: 98; 
	margin:0 auto; 
	padding:60px 1em ; 
}

.contact-box.bottom-area { background: url(../image/top-main-bg1.jpg) no-repeat top center; background-size:cover;}

.contact-box .btn-l a img {
  width: 32px;
  margin-left: 4px;
}

.form-read{
	font-size:2.4rem;
	letter-spacing:0;
	margin:0 auto; 
	text-align:center; 
}

.contact-wrap .contact {
	position: fixed; 
	right: 0;
	bottom: 0;
	border-radius: 6px 0 0 0;
}

.tel { 
	text-align:center;
	margin-top:16px;
	font-size:1.9rem;
	line-height:1.5;
}

.tel span {
    display: inline-block; 
    padding-left: 28px;
	font-size:3.2rem;
    background: url(../image/icon_tel.svg) no-repeat left center;
    background-size: 21px auto;
}

.linkType02 {pointer-events: none;}

@media (max-width: 767px) {
	.contact-wrap .contact {
		width: 88%;
		left: 0;
		bottom: 10px;
		border-radius: 6px;
	}
	.contact-box{padding:40px 1em ; }
	
	.linkType02 {
		display:inline-block !important;
		pointer-events: auto !important;
	}
}

@media (max-width: 640px) {
	.contact-box .btn-l a img { width: 24px;}
	.form-read {font-size:1.9rem;}
}

.contact a:hover{ color:#000; text-decoration:none;}

/* Base-Flexclumn-style＝site-style別にmaxwidthを追加設定2021年～*/
.container {
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	width: 100%;
}

.container.fll-p { padding: 0;}/*.container-fll廃止代替*/
.container.grid-wide { max-width: 1560px;}
.container.grid-xl { max-width: 1296px;}
.container.grid-lg { max-width: 976px;}
.container.grid-md { max-width: 856px;}
.container.grid-sm { max-width: 616px;}
.container.grid-xs { max-width: 496px;}

.columns {
	display: -webkit-box;
	display: flex;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: -1.5rem;
	margin-right: -1.5rem;
}

.columns.col-gapless {
	margin-left: 0;
	margin-right: 0;
}
.columns.col-gapless .column {
	padding-left: 0;
	padding-right: 0;
}

.column {
	-webkit-box-flex: 1;
	flex: 1;
	max-width: 100%;
	padding: 1rem 1.5rem;/*this-site*/
}

.column.col-6.tight:nth-child(odd) {padding-right:3rem; }/*奇数*/
.column.col-6.tight:nth-child(even) {padding-left:3rem; }/*偶数*/

@media screen and (max-width: 1024px) {
	.column.col-6.tight:nth-child(even),
	.column.col-6.tight:nth-child(odd) {padding-right:2rem; padding-left:2rem; }
}

/* col-30,col-70_this-blog-style */
.column.col-12,.column.col-8,
.column.col-6,.column.col-4,.column.col-3,.column.col-70,.column.col-30 {
	-webkit-box-flex: 0;
	flex: none;
}

.col-12 { width: 100%; }
.col-10 { width: 80%; }
.col-8 { width: 66.66666667%; }
.col-6 { width: 50%; }
.col-4 { width: 33.33333333%; }
.col-3 { width:25%; }

.col-70 { width: 68%; }
.col-30 { width: 28%; margin-left:4%; }

@media screen and (max-width: 1280px) {
	.col-xl-12, .col-xl-8, .col-xl-6, .col-xl-4 { -webkit-box-flex: 0; flex: none;}
	.col-xl-12 { width: 100%; }
	.col-xl-8 { width: 66.66666667%; }
	.col-xl-6 { width: 50%; }
	.col-xl-4 { width: 33.33333333%; }
}

@media screen and (max-width: 960px) {
	.col-lg-12,
	.col-lg-8, 
	.col-lg-6, 
	.col-lg-4 { -webkit-box-flex: 0; flex: none;}
	
	.col-lg-12 { width: 100%; }
	.col-lg-8 { width: 66.66666667%; }
	.col-lg-6 { width: 50%; }
	.col-lg-4 { width: 33.33333333%; }
}

@media screen and (max-width: 900px) {
	.col-30.col-mm-12,
	.col-70.col-mm-12{ width: 100%; margin-left:0%; }
}

@media screen and (max-width: 840px) {
	.col-md-12,
	.col-md-8, 
	.col-md-6,
	.col-md-4{ -webkit-box-flex: 0;	flex: none;	}
	
	.col-md-12 { width: 100%; }
	.col-md-8 { width: 66.66666667%; }
	.col-md-6 { width: 50%; }
	.col-md-4 { width: 33.33333333%; }
}

@media screen and (max-width: 600px) {
	.col-sm-12,
	.col-sm-8,
	.col-sm-6,	
	.col-sm-4 {	-webkit-box-flex: 0; flex: none; }
	
	.col-sm-12 { width: 100%; }
	.col-sm-8 { width: 66.66666667%; }
	.col-sm-6 { width: 50%; }
	.col-sm-4 { width: 33.33333333%; }
}

@media screen and (max-width: 480px) {
	.col-xs-12, 
	.col-xs-8, 
	.col-xs-6, 
	.col-xs-4{ -webkit-box-flex: 0; flex: none; }
	
	.col-xs-12{ width: 100%; }
	.col-xs-8 { width: 66.66666667%; }
	.col-xs-6 { width: 50%; }
	.col-xs-4 { width: 33.33333333%; }
}

/*.this-site_main_section-stylea */
.section {
    padding: 50px 0;
    position: relative;
}

.bg-white.section { padding: 50px 90px ; border-radius:20px;}

@media screen and (max-width: 1440px) {
	.bg-white.section { padding: 50px 60px ;border-radius:10px;}
}

@media screen and (max-width: 1280px) {
	.bg-white.section { padding: 50px 30px ;border-radius:10px;}
}

@media screen and (max-width: 1024px) {
	.bg-white.section { padding: 20px 20px ;border-radius:5px;}
}

.section.entry,
.section.archive {
    padding: 50px 0 30px;
}

.section.p-end00 { padding-bottom:0 !important;}

@media screen and (max-width: 1100px){
	.section,
	.section.entry,
	.section.archive {
		padding: 20px 0;
	}
}

@media screen and (max-width: 900px){
	.section,
	.section.archive  {padding: 0 0 20px;	}
	
	.section.entry{padding: 0; border-bottom:1px solid #ccc;	}
	
	.bg-blue.section {padding: 30px 0;}
	
}

/*-----------------------------------
  pege＿inline_img＆Video_responsive
------------------------------------+*/
.img-responsive {
	display: block;
	height: auto;
	max-width: 100%;
}

.max80 {max-width: 80% ;width:auto;}


/*領域内の縦横中央にimg配置*/
.img-container--flex-box {
	position: relative;
	display: flex;
}
.img-container--flex-box img { margin: auto;}

.img-inner-left{
	position:relative;
	overflow:hidden;  
	float: left;
	padding-right:1rem;
}

.img-inner-left.top-hand { margin-left:2.5rem;}

.img-responsive.set2-img {max-width:50%; }

@media screen and (max-width: 840px){
	.img-inner-left.top-hand img { width:80px; height:auto; margin-top:5em; }
	.img-responsive.set2-img {max-width:50%; width:auto;}
}

@media screen and (max-width: 768px){
	.img-inner-left.top-hand img { margin-top:3em; }
}

@media screen and (max-width: 640px){
	.img-inner-left.top-hand  { margin: 0 auto 1em auto; width:100%;}
	.img-inner-left.top-hand img { margin-top:0;}
}


.img-inner-right{
	position:relative; 
	float: right;
}

.max50 {max-width: 50%;}

.f-right-responsive {
	max-width: 50%;
	height: auto;
	float: right;
	padding-left:1rem;
}

.f-right-responsive.max360 {
	max-width: 50%;
	width:360px;
	height: auto;
	float: right;
	padding-left:1rem;
}


@media only screen and (max-width:640px ) { 
	.f-right-responsive,
	.img-inner-left{ 
		float: none;
		max-width: 100%; 
		width:100%;
		height: auto;
	}
	
	.img-inner-left.max50{max-width: 50%;}
	
	.img-inner-left.max360,
	.f-right-responsive.max360{ 
		float: none;
		max-width: 100%;
		margin-left:auto;
		margin-right:auto;
		height: auto; 
	}
	.img-inner-right.max300{ 
		max-width:300px;
	}
	
	.img-inner-left.max250.p-ri30em{ 
		float: none;
		max-width: 250px;
		margin-left:auto;
		margin-right:auto;padding-right:0; padding-left:3em;
		height: auto; 
	}
}

@media screen and (max-width: 480px) {
	.img-inner-right.max300{ 
		float:none; 
		display:block; 
		margin-left:auto; 
		margin-right:auto;
	}
}

/*inlineで画像をfloat設定用*/

.f-right-inner50 {
	max-width: 50%;
	height: auto;
	float: right;
	margin-left:10px;
}

.f-left-inner50 {
	max-width: 50%;
	height: auto;
	float: left;
	padding-right:20px;
	margin-right:10px;
}

.img-fit-cover { object-fit: cover; }
.img-fit-contain { object-fit: contain; }

.figure { margin: 0 0 1rem 0; }

.figure .figure-caption {
	color: #727e96;
	margin-top: 1rem;
}

/*----------------------------
  配置＆位置｜表示非表示
----------------------------+*/
.z1 { z-index:1;}
.z-1 { z-index:-2;}

.centered {
	display: block;
	float: none;
	margin-left: auto;
	margin-right: auto;
}

.block { display: block; }
.inline { display: inline; }
.inline-block { display: inline-block; }

.flex {
	display: -webkit-box;
	display: flex;
}

.inline-flex {
	display: -ms-inline-flex;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
}

.hide { display: none !important; }
.visible { visibility: visible; }
.invisible { visibility: hidden; }

.overflow-h { overflow: hidden;}

.text-hide {
	background: transparent;
	border: 0;
	color: transparent;
	font-size: 0;
	line-height: 0;
	text-shadow: none;
}

.text-assistive {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: .1rem;
	margin: -.1rem;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: .1rem;
}

.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-center { text-align: center; }

.text-justify { text-align: justify; }
.text-lowercase { text-transform: lowercase; }
.text-uppercase { text-transform: uppercase; }
.text-capitalize { text-transform: capitalize; }

.text-normal { font-weight: normal; }
.text-bold { font-weight: bold !important; }
.text-italic { font-style: italic; }
.text-large { font-size: 1.2em; }

/* 見出し＆要素
++++++++++++++++++++++++++++++++++++++++*/

h1#HONBUN  { 
	font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
	font-weight: 400;
 　 line-height: 1.3;
	margin: 0 auto;
	padding-top: calc(24px + (40 - 24) * (100vw - 600px) / (1200 - 600));
	padding-bottom: calc(24px + (40 - 24) * (100vw - 600px) / (1200 - 600));
	text-align:center;
	color: inherit;
}

 h1#HONBUN{ 
	padding:1em .2em; 
	letter-spacing:.5rem; 
}

h1.ttl-01,h1.ttl-faq{
    margin: 1em 0;
	padding-bottom:.5em;
    line-height: 1.3;
	font-size:2.1rem; 
}

h2 {
	font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));/* 20px~24pxで可変*/
	line-height: 1.3;
	font-weight: 400;
	margin-bottom:1em ;
	color: inherit;
}

h2.top-ttl02 {font-size: 2.4rem;}

h2.top-ttl02s,
.top-ttl02s {font-size: 2rem;margin-top:1.5em;margin-bottom: 1em;}

h4 {
	font-size: calc(1.8rem + (21 - 16)*(100vw - 600px)/(1200 - 600));
	margin-bottom: .2em;
	color: inherit;
}

@media screen and (max-width: 640px) {
    h1#HONBUN { font-size: 2.4rem !important; letter-spacing:0 !important; }
    h2,h2.top-ttl02{ font-size: 2rem; }
}


@media screen and (min-width: 1024px) {
	h1.ttl-01{ font-size: 2.8rem; font-weight:500;}
	h1#HONBUN { letter-spacing:1rem; }
}


@media (min-width: 1025px) {
	h2.top-ttl02s {font-size: 2.2rem;margin-top:1.8em;}
}

@media (min-width: 1200px) {
   h1#HONBUN { font-size: 3.6rem; }
    h2 { font-size: 3.2rem; font-weight:400; }
	h2.top-ttl02 { font-size:2.8rem;}
	h2.top-ttl02s,.top-ttl02s {font-size: 2.6rem;}
   h4 { font-size: 2.1rem; }
}

@media (min-width: 1650px) {
	#HONBUN h1 { font-size: 4.2rem;}
}

h5 {
	font-size: 1.9rem;
	line-height: 1.2;
	margin-bottom: 1em;
}

/*　+++　左右センター２重線　++++++++++++++*/
.cp_linettl {
	position: relative;
	display: inline-block;
	width: 100%;
	margin-bottom:3rem;
	padding: 0 17%;
	text-align: center; 
	letter-spacing:6px;
}

@media screen and (max-width: 640px) {
	.cp_linettl {margin-bottom:2rem;letter-spacing:2px;}
}

.cp_linettl::before,
.cp_linettl::after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 15%;
	height: 3px;
	border-top: 3px double #ccc;
}
.cp_linettl::before {left:0;}
.cp_linettl::after {right: 0;}

.cp_linettl.p0025 {padding: 0 25%;}
.cp_linettl.p0025::before,
.cp_linettl.p0025::after {width: 23%;}

@media screen and (max-width: 640px) {
	.cp_linettl.p0025 {padding: 0 20%;}
	.cp_linettl.p0025::before,
	.cp_linettl.p0025::after {width: 18%;}
}


/*　+++　囲み括弧点線　+++++++++++++++++*/

.frame-box-01 {
	margin-bottom:3rem;
	padding: 1.5rem 1rem 1rem;
	position: relative;
}

.freamttl.frame-box-01 {padding:.5rem 1rem;}

.frame-box-01::before, .frame-box-01::after {
	content: '';
	width: 1rem;
	height: 100%;
	position: absolute;
}

.frame-box-01::before {
	border-left: dotted 1px #000;
	border-top: dotted 1px #000;
	border-bottom: dotted 1px #000;
	top: 0;
	left: 0;
}

.frame-box-01::after {
	border-right: dotted 1px #000;
	border-top: dotted 1px #000;
	border-bottom: dotted 1px #000;
	top: 0;
	right: 0;
}

/*+++　 段落スタイル　+++++++++++++++++++++++++++*/

.contents p {margin-bottom: 1em;}

@media screen and (min-width: 767px) {
	.contacts p {margin-bottom: .7em;}
}


@media screen and (min-width: 320px) {
	.contacts p {line-height: 1.5;margin-bottom: .7em;}
}

main p,main li, main dl { font-size:1.9rem;}

@media screen and (max-width: 1024px) {
	main p,main li, main dl { font-size:1.6rem;}

}

.entry-list p {
	font-size:1.7rem !important;
	margin-bottom:0.5em !important;
	line-height:1.5;
}

.entry p {line-height:2;}

@media only screen and (max-width: 600px) {
	.entry-list p {font-size:1.6rem !important; }
	.entry p {line-height:1.6;}
}

/*-----------------------------------------------
   * blog-style
------------------------------------------------*/
.entry h1,
.archive h1 {
	position:relative;
	font-size:2.4rem;
	line-height:1.2;
	font-weight:600; 
	margin: 1em 0;
	padding:0 0 1em;
	letter-spacing:0;
	text-align:center;
}

.entry h1 +h2 { margin-top:1em;}

.entry h2{
	position: relative;
	font-size:2.1rem; 
	font-weight:600; 
}

.entry-list h2 {
	font-size:1.9rem;
	font-weight:600; 
	line-height:1.3;
	margin: 0 0 .5em;
	padding-top:1rem;
	text-align:left;
}

.entry h3{
	font-size:1.9rem; 
	font-weight:600; 
}

@media screen and (min-width: 1024px) {
	.archive h1 {font-size:3.2rem; font-weight:500;}
	.entry h1 {font-size:3rem; font-weight:500;}
	.entry-list h2{font-size: 2.0rem; font-weight:500;}
	.entry h2{font-size:2.1rem; font-weight:500; }
	.entry h3{font-size:2.0rem; }
	.entry h4{font-size:1.9rem; }
}

.entry-list,
.entry {
    clear: both;
    width: 100%;
    margin: 1px 0;
}
.entry-list{border-bottom: 1px solid #ddd;}

.entry-list.info-list {padding:14px 5px;}

h1 + .entry-list.info-list {border-top: 1px solid #ddd;}

main .entry a { text-decoration:underline;}

/*blog-side-style++++++++++++*/
#side { margin-top:60px; margin-bottom:30px;}

#side h3 {
	font-size:2.1rem !important;
	font-weight:500; 
	margin-top:1.5em;
	margin-bottom:.8em;
}

#side h3:first-child { margin-top:2em;}

#side .btn-s { width:100%;}

.side-info { margin-top:1.5em;}

@media only screen and (max-width: 900px) {
	#side { margin-top:0;}
	#side h3:first-child { margin-top:0;}
	.side-info { text-align:center;}
	ul.pager{  margin-bottom:0;}
	#side .btn-s { width:100%;}

}

.kizi ul{
	margin: 0;
	padding: 5px 0 0;
}

#side h3 + .kizi li {border-top: 1px dotted #999;}
.kizi li:last-child {border-bottom: 1px dotted #999;}

.kizi li {
	list-style: none;
	line-height: 1.6;
	font-size: 1.8rem;
	margin:0;
}

.kizi li a {
	display: block;
	padding: 10px 5px 10px 10px;
	text-decoration: none;
}

.kizi li a,
.kizi li a:link,
.kizi li a:visited {
	display: block;
	width: auto;
	text-decoration: none;
	outline: 0;
}

.kizi a:hover {
	background: #f5f5f5;
	color: #0099cc;
}
	
/*Pagination-style */
.pager{
	display: -webkit-box;
	display: flex; 
}

ul.pager{ margin:1.5em 0 3em; }
	
.pager li { 
	list-style-type: none; 
	background: #666;
	line-height:1.2;
}

.pager li:nth-child(1) { margin-left:-0; border-radius: 100000px 0 0 100000px;}
.pager li:last-child {  border-radius: 0 100000px 100000px 0;}
	
.pager li, 
.pager li a{
	    -webkit-box-flex: 1;
	    flex: 1;
	display: -webkit-box;
	display: flex;
	    -webkit-box-pack: center;
	    justify-content: center;
	    -webkit-box-align: center;
	    align-items: center;
}
	
.pager a {
	-webkit-box-flex: 1;
	flex: 1;
	height:56px;
	text-decoration:none;
	color: #fff;
}
 
/* Active 以外のhover */
.pager li:not([class*="active"]) a:hover {
	opacity:.9; 	
	color: #fff; 	
	background:#3dadcc;/*blue*/
}

.pager li:nth-child(1):not([class*="active"]) a:hover {
	border-radius: 100000px 0 0 100000px;
}

.pager li:last-child:not([class*="active"]) a:hover {
	 border-radius: 0 100000px 100000px 0;
}
 
/* Activeのスタイル */
.pager li.active a { 
	font-weight: bold;
	background: #359bb5;/*blue*/
	color: #fff;
	text-decoration:none;
}

.pager li.active.normal a {font-weight: normal; }
     
@media only screen and ( max-width: 630px ) {  
	/* 全てのli要素を消す */
	.pager li {
		position: absolute;
		top: -9999px;
		left: -9999px;
		font-size:1.6rem;
	}
	/* 必要なli要素を消す */
	.pager li.active,
	.pager li:first-of-type,
	.pager li:last-of-type,
	.pager li:nth-of-type(2),
	.pager li:nth-last-of-type(2){
		position: static;
		top: initial;
		left: initial;
	}
	
	.pager{max-width:100%; }
	.pager a {height:44px;}
}

/*　Utility
-------------------------------------------*/
.show-xs,
.show-sm,
.show-md,
.show-lg,
.show-xl,
.show-mm,
.show-xs-in { display: none !important; }

@media screen and (max-width: 480px) {
	.hide-xs { display: none !important; }
	.show-xs { display: block !important; }
	.show-xs-in { display: inline-block !important; }
}

@media screen and (max-width: 600px) {
	.hide-sm { display: none !important; }
	.show-sm { display: block !important; }
}

@media screen and (max-width: 768px) {/*this-site*/
	.hide-mm { display: none !important; }
	.show-mm { display: block !important; }
}

@media screen and (max-width: 840px) {
	.hide-md { display: none !important; }
	.show-md { display: block !important; }
	.show-md-in { display: inline-block !important; }
}

@media screen and (max-width: 960px) {
	.hide-lg { display: none !important; }
	.show-lg { display: block !important; }
}

@media screen and (max-width: 1280px) {
	.hide-xl { display: none !important; }
	.show-xl { display: block !important; }
}

/* --------------------------------------------------
 font-size / line-height / margin / padding /
----------------------------------------------------- */
.f-smaller { font-size:smaller!important;}
.f13 { font-size: 1.3rem !important; }
.f15 { font-size: 1.5rem !important; }
.f16 { font-size: 1.6rem !important; }
.f17 { font-size: 1.7rem !important; }
.f18 { font-size: 1.8rem !important; }
.f19 { font-size: 1.9rem !important; }
.f20 { font-size: 2.0rem !important; }
.f24 { font-size: 2.4rem !important; }
.f28 { font-size: 2.8rem !important; }
.f32 { font-size: 3.2rem !important; }

.f21.line-hi21 { font-size: 1.8rem !important;line-height:1.8; }

@media screen and (min-width: 320px) {
	.f21 {font-size: calc(18px + 1 * ((100vw - 320px) / 680)) !important;}
	.f24 {font-size: calc(18px + 1 * ((100vw - 320px) / 680)) !important;}
}

@media (min-width: 1200px) {
	.f21 { font-size: 2.1rem !important;}
	.f21.line-hi21 { font-size: 2.1rem !important;line-height:2.1; }
	
	.f24 { font-size: 2.4rem !important; }
}

@media screen and (max-width: 840px) {
	.f19,.f20 {font-size:1.8rem !important;}
	.f32 { font-size: 3rem !important; }
}


@media screen and (max-width: 600px) {
	.f28 {font-size:2.4rem !important;}
	.f32 { font-size: 2.4rem !important; }
}


.f3indent { letter-spacing:.5em;}

/*contact-form_privacy_text*/
.hei150 { width:auto;height:150px ; overflow-y: scroll;}

.line-hi12 { line-height:1.2 !important;}
.line-hi14 { line-height:1.4 !important;}
.line-hi16 { line-height:1.6 !important;}
.line-hi18 { line-height:1.8 !important;}

.m-top00 {margin-top: 0 !important;}
.m-top10 {margin-top: 1rem !important;}
.m-top15 {margin-top:1.5rem !important; }
.m-top20 { margin-top: 2rem !important; }
.m-top-10em {margin-top:-1em !important; }

.m-top-15 {margin-top:-1.5rem !important; }
.m-top-20 {margin-top:-2rem !important; }
.m-top10em {margin-top:1em  !important; }
.m-top15em {margin-top:1.5em  !important; }
.m-top20em {margin-top:2em !important; }
.m-top30em {margin-top:3em !important; }
.m-top30px {margin-top:30px !important; }


.m-end00 {margin-bottom: 0 !important; }
.m-end10 {margin-bottom: 1rem !important; }
.m-end15 {margin-bottom: 1.5rem !important; }
.m-end20 {margin-bottom: 2rem !important; }
.m-end05em {margin-bottom: 0.5em !important; }
.m-end10em {margin-bottom: 1em !important; }
.m-end15em {margin-bottom: 1.5em !important; }
.m-end20em {margin-bottom: 2em !important; }
.m-end30em {margin-bottom: 3em !important; }

.m-le10 {margin-left: 1rem;}
.m-le15 {margin-left: 1.5rem;}
.m-le25 {margin-left: 2.5rem !important;}
.m-le40em {margin-left: 4em !important;}
.m-ri25 {margin-right: 2.5rem !important;}
.m-ri10 {margin-right: 1rem !important;}

.m-10 { margin:1rem !important;}

.m-auto { margin-left:auto !important; margin-right:auto !important;}
.p-end00 {padding-bottom: 0 !important; }
.p-end40 {padding-bottom: 40px !important; }
.p-top00 {padding-top: 0 !important;}
.p-top10 {padding-top: 1rem; }
.p-top20 {padding-top: 2rem !important; }

.p-10 {padding:1rem  !important;}
.p-le05 {padding-left:.5rem  !important;}
.p-le10 {padding-left:1rem  !important;}
.p-le15 {padding-left:1.5rem  !important;}

.p-ri30em {padding-right:3em  !important;}

/*  ul,ol,li /
----------------------------------------------------- */
main ul { list-style-type: none; }

ol { 
	margin: 1em 0 1em 2em;/*this-site*/
	padding: 0;
	list-style: decimal;
}

ol ol { 
	margin-left: 2em;
	list-style-type: lower-alpha; 
}

.end1emli li { margin-bottom:1em;}

.list-disc li,
.list-circle li,
.list-decimal li,
.list-decimal-zero li { margin-top: 1rem; margin-left:1em;}


.contents .text-center li { margin-left:auto;}

.list-disc li { list-style: disc;  }
.list-circle li { list-style: circle; }
.list-decimal li { list-style: decimal;}/*namber*/
.list-decimal-zero li {list-style: decimal-leading-zero;}/*namber 01*/

.list-r-brackets li{/*括弧付番号※段組みでは位置がずれるので注意*/
	list-style-position:outside;
	counter-increment: cnt;
	margin-left:1em;
	margin-bottom:1em;
	padding-left:1rem;
}

/*　li_style＝括弧付番号　*/
.list-r-brackets li:before{
	position: absolute;
	left:1em;
	right:.5em;
	margin:0; 
	display: marker;
	content: "(" counter(cnt) ") ";
}

.list-r-brackets li li:before { 
	position: absolute;
	left:1em;
	margin:0; 
	right:0;
	display: none;
	content: "";
}

.list-check li{
	position: relative; 
	padding-left:1.5em;
	background:url(../image/check-g.svg) no-repeat left center;
	background-size:16px 16px;
}

.long-txt.list-check li{margin-bottom:1em; line-height:1.6;}



li.no-style {margin-top:0;  list-style:none !important;}

nav ul, 
.nav-list,
.nav-utlity {
	list-style-type: none; 
	margin:0;
}

/* DL style 
------------------------------------*/
.dotunder dt { 
	font-size:2.0rem;
	line-height:2.2;
	padding: .5rem ;
	border-bottom: 1px dotted #aaa;
}

.dotunder dd {
	font-size:1.9rem;
	margin: 0 0 1rem 0;
	padding: 1rem .5rem 1rem 2rem;
	border-bottom: 1px dotted #aaa;
}

.dotunder dd h4 {font-size:1.9rem; font-weight:normal;}

.dotunder dd p{font-size:1.9rem; margin-bottom:.5em;}

.dotundern dd p:last-child{ margin-bottom:0;}

@media only screen and (max-width: 1024px) { 
	.dotunder dt,
	.dotunder dd,
	.dotunder dd h4,
	.dotunder dd p { font-size:1.6rem;}
	
	.dotunder dt{line-height:2;padding: .5rem .5rem .5rem 0;}
	.dotunder dd{margin: 0;padding: 1rem .5rem 1rem 0;}
}

.dotunder.qa dt{line-height:1.6; padding-left:0;}

.dotunder.qa dt mark { 
	margin : 1.5em 0 0;
	padding :1rem ; 
	background : #fff;
}

.dotunder.qa dt::before {
  padding : 1rem;
  background : #5cbdce;
  color : #fff;
  content : "Q.";
}
.dotunder.qa dd { border-bottom:none;}

@media only screen and (max-width: 840px) { 
	.dotunder.qa dt mark { padding :.5rem 1rem ; }
}

/*company dl*/
dl.list-dl {
    display: -webkit-flex;
    display: flex;
    flex-flow: row wrap;
    border-top: 1px solid #ddd;
}

dl.list-dl > dt {
    width: 20%;
    padding: .7em 0;
    border-bottom: 1px solid #ddd;
}

dl.list-dl > dd {
    width: 80%;
    padding: .7em 0;
    border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 1100px) {
	dl.list-dl > dt {width: 30%;padding: .5em 0; border-bottom: 1px solid #ccc;}
	dl.list-dl > dd {width: 70%;padding: .5em 0; border-bottom: 1px solid #ccc;}
}

@media screen and (max-width: 900px) {
	dl.list-dl > dt {width: 30%;padding: .4em 0;}
	dl.list-dl > dd {width: 70%;padding: .4em 0;}
}

/* table_style
----------------------------------------------------- */
table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 2em;
	text-align: left;
	empty-cells: show;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	word-wrap: break-word;
}

table.max-md {max-width: 840px; margin-left:auto; margin-right:auto;}

table th,
table td {
  font-weight:normal;
  padding: 0.5em 1em;
  border-bottom: 1px solid #ddd; 
}

td p:last-child { margin-bottom:0;}

.table-bordered td { border: 1px solid #ddd; }

.table-striped tr:nth-of-type(odd) { background: #e8eaef; }

.tb-bg {background: #e8eaef; }/*this-site*/
/*price-page ------------------------------------*/

.table-scroll th { 
	border: 1px solid #ccc;/*this-site*/
	background: #e8eaef;
	vertical-align: middle;
}

.table-scroll td { 
	 border: 1px solid #ccc; 
}

.price-p table { font-size:2.0rem;}

.price-p table th,
.price-p table td { padding: 0.7em 0.5em;}
.price-p table td.sp-top{ font-size:2.8rem; letter-spacing:2px;}
.price-p table td.sp-top i{ font-size:2.0rem;}


.price-p table.plan-table.table-scroll img { width:100px; height:131px;}

@media only screen and (max-width:1024px){
	.price-p table { font-size:1.8rem;}
	.price-p table th,
	.price-p table td { padding: 1em;	}
}

@media only screen and (max-width:640px){
	.price-p table.plan-table.table-scroll img {width:50px; height:61px;}
	.price-p table.plan-table.table-scroll th:last-child {height:130px;}
	.price-p table td.sp-top{  padding:1.5em 0.4em .5em;font-size:2.6rem;}
	.price-p table td.sp-top i{ font-size:1.6rem;}
	.price-p table.plan-table.table-scroll .hei130 {height:130px !important;}
}

/*flow-page-this-site-only*/
.t-respon-flow tr:first-child{ border-top:1px solid #ddd !important;}

.t-respon-flow th { 
	text-align:center; 
	font-size:2.8rem; 
	letter-spacing:5px;
}

.t-respon-flow th i{ 
	position: relative;
	display:block;
	margin:1em auto;
	content:url(../image/arrow-down.svg);
}

.t-respon-flow th .number {
	padding-right:5px; 
	font-size:48px; 
	font-style:italic; 
	letter-spacing:0; 
	color:#7fc9b5;
}

.t-respon-flow td { padding: 1em 0.5em;}
.t-respon-flow td img{ margin:1em;}


.t-respon-flow td p,
.t-respon-flow td li { line-height:1.6;}

@media only screen and (max-width:1024px){
	.t-respon-flow th {	font-size:2.4rem;letter-spacing:2px;}
}

.table-bordered th,
.th-bgcolor th{ 
	border: 1px solid #ccc; 
	background: #e8eaef;
	vertical-align: middle;
}

.table-bordered th.bg-white { background:#fff;}
.th-bgcolor th { text-align:right;}

.table-bordered td,
.th-bgcolor td{ border: 1px solid #ddd;}

.table-bordered td p { line-height:1.4; margin-bottom:0.5em;}

.w8em { width:8em;}
.w12em { width:12em;}
.w13em { width:13em;}

.w25par { width:25%;}
.w35par { width:35%;}

.spacing09 {letter-spacing:.9rem}

@media only screen and (max-width:479px){
	.spacing09 {letter-spacing:0}
}

/* Responsive Table-style ++++++++*/ 

@media only screen and (max-width:640px){
	.t-respon-flow tr:first-child{ border-top:none !important;}
	
	.t-respon-flow th .number {	font-size:38px; }
	
	.t-respon-flow th i{ height:50px;}/*content-img-small*/

	.w35par {width:100%;}
	.t-respon-flow th { font-size:2.1rem; }/*this-site*/
	.t-respon-flow td p { line-height:1.6;}

	.t-respon-flow tr{ display: block;}
	
	.t-respon-flow th,
	.t-respon-flow td { display: list-item;list-style-type:none; border:none;}
	
	.t-respon-flow th { padding: 0.5em .5em 0; font-size:2.1rem; font-weight:bold;}
	.t-respon-flow td { padding: 0.5em;} 
	
	table .table-scroll{ 
		display: block; 
		position: relative; 
		width: 100%; 
	}
	
	.table-scroll td { 
		 display: block;
	}

	.table-scroll thead{ 
		display: block; 
		float: left;
	}
		
	.table-scroll tbody{ 
		display: block; 
		width: auto; 
		position: relative; 
		overflow-x: auto; 
		white-space: nowrap; 
	}
	
	.table-scroll thead tr,
	.table-scroll th{ display: block; }
	
	.table-scroll th.w5em{ width:100%;}
	
	.table-scroll .oneitem{ width:100%; overflow: inherit;}

	.table-scroll tbody tr{ 
		display: inline-block; 
		vertical-align: top; 
	}

	/* borderの調整 */
	.table-scroll th{border-bottom: 0;	border-right:0; border-left:0;}
	.table-scroll td{ 
		border-left: 0; 
		border-right: 0; 
		border-bottom: 0; 
	}
	.table-scroll tbody tr{	border-right: 1px solid #babcbf; margin-left:-5px; }
	
	.table-scroll tr:first-child{ border-left: 1px solid #babcbf;}
	
	.table-scroll th:last-child,
	.table-scroll td:last-child {border-bottom: 1px solid #babcbf;}
}

@media only screen and (max-width:480px){/*30em*/
	.w8em,.w12em,.w13em,
	.table-bordered .w25par { width:100%;}
	
	.table-bordered tr{ display: block;}
	
	.table-bordered th,
	.table-bordered td { display: list-item;list-style-type:none; border-top:none;}
	
	.table-bordered th { padding: 0.1em 1em; font-size:1.5rem;}
	.table-bordered td { padding: 0.5em 0.8em;} 
	
	.table-bordered tr:first-child{border-top:1px solid #ddd;}
}

/*------------------------------------------------------- */
/* border / shadows　
--------------------------------------------------------- */
.bor1-ccc { border:1px solid #ccc;}
.bor1-right-fff {border-right:1px solid #fff;}
.bor1-right-ccc {border-right:1px solid #ccc;}
.bor1-top-fff {border-top:1px solid #fff;}
.bor1-top-ddd { border-top: 1px solid #ddd;}
.bor1-bottom-ddd{ border-bottom: 1px solid #ddd;}

.radius04 {border-radius:4px !important;}
.radius15 {border-radius:15px !important;}
.radius-end15 {border-radius:4px 4px 15px 15px !important;}

.radius30 { border-radius: 45%; }
.radius50 { border-radius: 50%; }
.radius50-1 {
	border-radius:50% !important;
	border: 1px solid #333;
}

.box-shadow { box-shadow: 0 3px 2px rgba(51, 51, 51, 0.1); }/*this-site*/
.t-shadow1 { text-shadow:1px 1px 2px rgba(0, 0, 0, 0.4);}
.text-nowrap { white-space: nowrap; }

.spacing-05 {letter-spacing:-0.5rem;}
.spacing-1 {letter-spacing:-1px !important;}

.spacing-00 {letter-spacing:0;}
.spacing-01 {letter-spacing:-0.1rem;}
.spacing01 {letter-spacing:0.1rem;}
.spacing015 {letter-spacing:0.15rem;}
.spacing02 {letter-spacing:0.2rem;}
.spacing03 {letter-spacing:0.3rem;}
.spacing06 {letter-spacing:0.6rem;}

/* color style
--------------------------------------------------- */
.c-red{ color: #EA0029 !important; }
.c-pink{color:#EB634E; !important; }

.c-white{ color: #fff !important; }
.c-gray{ color: #999 !important; }
.c-green{ color: #99cc33 !important; }


/*---------------------------------
   bg_color-style
-----------------------------------*/
.bg-gray2{ background:#f5f5f5;/*this-site*/}
.bg-gray{ background:#f3f3f3;/*this-site*/}
.bg-blue {background:#f3f8fb !important;/*this-site*/}
.bg-blue2 {background:#d8eff9 !important;/*this-site*/}
.bg-Green{ background: #96c79a !important; }

.bg-white{ background: #fff !important; }
.bg-yellow{ background: #FFFADB !important; }


.p-top30em {  padding-top:3em !important ;/*this-site*/}

@media screen and (max-width: 1024px) {
	.p-top30em { padding-top: 1em !important ;/*this-site*/}
}

@media screen and (max-width: 840px) {
	.p-top30em { padding-top:0 !important ;/*this-site*/}
}

/*+++　btn &Link　+++++++++++++++++++++++++++++++++*/
.btn-s,
.btn-l  {
  position: relative;
  margin: 0 auto;
  color:#fff;
  background: #3F9A84;
  border-radius:50px; 
}

.btn-s {width: 250px;}

.btn-s a,
.btn-l a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;  
  color:#fff;
  border-radius:50px; 
  transition: all 0.4s ease;
}

.btn-s a {
  width: 100%;
  height: 60px;
  letter-spacing: 3px;
}

.btn-l {
  max-width: 600px;
  width:82%;
}

/*contact-mail-icon arrow-icon */
.btn-l img{ position:relative; left:10px;}
.btn-s img{ position:relative; left:5px;}

.btn-l a {
  height: 70px;
  font-size: 24px;
  letter-spacing: 6px;
}

.btn-s a:hover,
.btn-l a:hover { 
	color:#fff;
	background: #28B08E;
	text-decoration:none;
}

.btn-l:hover a img{ opacity:.5;}

@media (max-width: 840px) {
	.btn-s {
		width: 230px;height: 48px;
	}
	
	.btn-s a{
		height: 48px;
		letter-spacing: 2px;
	}

	.btn-l a {
		height: 50px;
		font-size: 18px;
		letter-spacing: 1px;
	}
}

/*blog-entry　ページ下topリンク+++++*/
/*this-site-only*/
.button {
    position: relative; 
	display:inline-block;
    width: 260px;
    height: 60px; 
	line-height:60px;
    max-width: 100%;
    padding-top: 0;    
    border-radius: 100000px;
    background-color: #359bb5;
    box-shadow: 0 15px 20px -8px rgba(0,0,0,.2);
    -webkit-transition: all .4s cubic-bezier(.165,.84,.44,1);
    transition: all .4s cubic-bezier(.165,.84,.44,1);
    color: #fff;
}

main .entry a.button {color: #fff; text-decoration:none !important;}

a.button:hover {box-shadow:none;}

/*  box-style
--------------------------------------*/
.border-block{
	margin:1em 0;
	padding:15px 15px 10px;
	border:1px solid #ccc;
}

.block_r60 {
    margin-bottom: 1em;
    padding: 20px 20px 15px;
    background:#E0F8F2;
    border-radius: 10000px;
}

.blue-block_r10{
	padding:.6em; 
	border-radius:10px;
	background:#d8eff9;
}

.contact {
  margin: 0 auto;
  width: 200px;
  background: #f9e621;
  border-radius: 6px 0 0 0;
  z-index: 100;
}

@media (max-width: 767px) {
  .contact {
    width: 90%;
    text-align: center;
    border-radius: 6px;
    margin: 0 auto;
  }
}

.contact a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  color: #000;
  font-weight: bold;
  padding: 16px 0;
}
.contact a img {
  width: 24px;
  margin-left: 4px;
}
.contact:hover {
   background: #FFEF62;
   transition: all 0.4s ease;
}

.contactform img { width:1em; margin-left:.5em;}

/*+++　CSS単独_tooltip　++++++++++++++++*/
.tooltip {
	visibility: hidden;
	text-align: center;
	position: absolute;
	z-index: 1;
	opacity: 0;
	transition: opacity 500ms;
	width:200%;
	max-width:220px;
	bottom: 125%;
	left: 20%;
	margin-left: -60px;
}

.tooltip > .tooltip-text {
	padding: 5px 10px;
	border-radius: 6px;
	font-size: 13px;
	line-height:1.4;
	display: inline-block;
	background-color: #162330;
	color: #fff;
}

.tooltip > .tooltip-text::after {
	content: " ";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: black transparent transparent transparent;
}

.tool-ttl:hover > .tooltip {
	visibility: visible;
	opacity: 1;
}

.tool-ttl {
	position: relative;
	padding: 3px 3px 0;
	background:rgba(242,221,112,.5);
	border-bottom:1px solid #f2cc33;
}

/*　header-menu,side-menu,foot-menu
+++++++++++++++++++++++++++++++++++++*/
header a,
header a:active,
header a:visited {
	color:#000;
	vertical-align: baseline;
	text-decoration: none;
}

header .logo a:hover { opacity:.7;}

header nav {
	position: relative;
	right:0;
	width: calc(100% - 90px);/*navの中にlogoを入れる場合*/
	margin: 0 100px  0 auto;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	flex-wrap: wrap;
} 

.gnav {
	margin: 1.5rem 0 0 auto; margin: 0 0 0 auto; 
	padding:0 1em;
	background:#fff;
}
	
header nav li{
	list-style: none;
	display:inline-flex;	    
	text-align:center; 
	width: inherit;
	line-height:1.2;
	font-size:1.7rem;
	letter-spacing:1px;
}

header nav li a {
	padding:1rem 1.5rem;
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 50%, rgba(155, 215, 200, 1) 50%);
	background-position:0 0;
	background-size: 300% auto;
	transition: .3s ; 
}

header nav li a,
header nav li a:active, 
header nav li a:visited {
    color: #000;
}

header nav li a:hover {
	background-size: 200% auto;
	background-position: -100% 0;
	border-radius:10000px;
}

header .logo {	
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 0 50px; margin-top:-15px !important;
	text-align:left;
}

/* logo=h1,p共通font-size　++++++++++++++*/

header .logo > * {
	font-size:2.6rem;
	font-weight:bold;	
	padding:34px 1rem .7em 1rem;
	line-height:1.2;
	letter-spacing:5px; 
}

header .logo span { 
	display:block;
	font-size:1.8rem;
}

header .logo a{
	position: relative; 
	z-index:2;
	vertical-align: top; 
}

.spacing-01{letter-spacing:-.1rem!important;}

@media screen and (max-width:1366px){
	
	header nav {width: calc(100% - 100px);}
	header .logo {margin: 0 auto 0 20px; }
	header nav li a {padding:1rem; }
}

header.top .logo:after { background-color:#f5fbf9;}/*index-only*/

header nav li br { display:none;}

@media screen and (max-width: 1080px) {
	header nav {
		width: calc(100% - 65px);
		padding:.5rem 1em;
	}
	
	header nav li { font-size:1.5rem;}
	
	header .logo { margin: 0 auto 0 0;}
	
	header .logo > * {	
		font-size:2.1rem;
		padding:20px 0 1rem 0;
		letter-spacing:2px; 
	}

	header nav li a { padding:.5rem 1rem;}
}

@media screen and (max-width: 1024px) {
	header nav {width: calc(100% - 75px);}
	header nav li br { display:block;}
}

@media screen and (max-width: 767px) {
	header { min-height:65px;}
	
	header nav {
		top:3px;
		width: calc(100% - 65px);
		padding:.5rem ;
	}

	header .logo {
		width:160px;
		margin-left:8px; 
		padding-top:0; 
	}
	
	header .logo > * { font-size:1.8rem;}

	header .logo span { font-size:1.3rem;}
	
	.gnav {	padding:0 10px 0 0;	}

	header nav li { font-size:1.4rem; }
	
	header nav li a {
		padding:.5rem;
		font-size:1.3rem; 
		border-left: 1px solid #9bd7c8;
		background:none;/*スマホhover-backgroundなし*/
	}
	
	header nav li:nth-child(3) a {border-right: 1px solid #ccc;border-right: 1px solid #9bd7c8;}
	
	header nav li:nth-child(1) { letter-spacing:2px;}
	
	header nav li:nth-child(4),
	header nav li:last-child  { display:none;}

	header nav li a:hover {/*スマホhover-backgroundなし*/
		background-position: 0 0;
		border-radius:0;
	}
}

@media screen and (max-width: 430px) {
	header nav {top:3px;width: calc(100% - 55px);}

	header .logo {
		width:130px;
		margin-left:8px; 
		padding-top:0; 
	}
	
	header .logo > * {font-size:1.6rem;	}

	header nav li a {
		padding:.5rem 2px; 
		font-size:1.2rem; 
	}
	
	header nav li:nth-child(1) a { padding-left:4px;}
}

@media screen and (max-width: 359px) {
	header nav li:nth-child(3) { display:none;}
	body { overflow-x:hidden;}
}

/*　footer,foot-menu,page-top
+++++++++++++++++++++++++++++++++++++*/
.nav-utlity {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.nav-utlity li {
    list-style: none;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.5;
}

.nav-utlity li a {
    display: block;
    padding: 10px 0 0;
    width: 100%;
    outline: none;
    text-decoration: none;
	transition: all  0.3s ease;
}

.nav-utlity li a:link, .nav-utlity li a:active, .nav-utlity li a:visited {
    color: #fff;
}

.nav-utlity li a:hover{ opacity:.7;}

@media (max-width: 600px) {
	.nav-utlity li {font-size: 1.5rem;}
}

footer {
	position: relative;
	z-index: 98;
	background: #378874;
}

footer .container {
	max-width:980px;
}

@media (max-width: 1080px) {
	footer .container { width:calc(100% - 180px);}
}

footer a,
footer a:active,
footer  a:visited {color: #FFF;}

.foot-name {
	padding:1rem 1.5rem;
	text-align:center;
}
.foot-copy {
	padding:1rem;
	font-size:1.4rem; 
	text-align:center;
	color: #ccc;
	background:#204f43;
}

@media (max-width: 600px) {
	footer .container { width:calc(100% - 10px);}
	footer .m-le15,
	footer .m-le25{ margin-left:0;}
	footer .tel-number { padding-top:1rem;}

	.foot-copy { margin-top:1rem;}
	.foot-copy span { display:block;}
}

/*+++ pagetop ++++++++++++++++++++++++++++++-*/
.pagetop {
	position: absolute;
	top: -30px;
	right: 50px;
	width: 60px;
	height: 60px;
	background: #378874;
	border-radius: 60px;
}

.pagetop a {
	position: relative;
	top: 8px; 
	margin-left:8px; 
	transition: all .4s ease;
}

.pagetop a img{
	width:46px; 
	height:48px; 
	overflow:hidden;  
}

.pagetop a:hover { opacity:.7;}

.pagetop a::after {
	position: absolute;
	top: 20px;/*this-site*/
	right: -12px;
	content: "ＴＯＰ";
	width: 50px;
	font-family: sans-serif;
	font-size: 10px;
	font-weight: bold; 
	line-height:1.2;
	color: #FFF;
}

@media (max-width: 1024px) {
	.pagetop {
		right: 3%;
		width: 40px;
	    height: 45px;
	}
	.pagetop a {margin-left:2px; }
	
	.pagetop a img{
		width:36px; 
		height:26px; 
		overflow:hidden;
	}
	.pagetop a::after { display:none;}
}

/* ハンバーガーmenu　CSS+バニラJS　
+++++++++++++++++++++++++++++++++++++++++++++++++*/

/*ハンバーガーmenu背景に黄色円＝this-site-only*/
.drawer_button_warp {
	 position: fixed;
	 border-radius:50%; 
	 width:70px;
	 height:70px;
	 top:10px;
	 right:30px;
	 background:#9BD7C8; 
	 z-index:5; 
}

@media (max-width: 1080px) {
	.drawer_button_warp {
		width:62px; 
		height:62px;
		top:5px; 
		right:6px;
	}

}

@media (max-width: 767px) {
	.drawer_button_warp { 
		width:60px; 
		height:60px;
		top:2px; 
	}
}

/*+++ side-menu-drawer_button Reset +++*/
.drawer_button * {
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;arance: none;
  text-align: left;
  text-decoration: none;
  list-style: none
}
 
.drawer_button {  
  position:fixed;
  top: 30px;
  right: 45px;
  display: block;
  padding: 0;
  width: 38px;
  height: 24px;
  background: none; 
  border: none;
  text-align: center;
  letter-spacing: 0.1em;
  cursor: pointer;
  outline: none;
  z-index: 300; 
}

@media (max-width: 1366px) {
	.drawer_button {right: 45px;}
}

@media (max-width: 1080px) {
	.drawer_button { top:20px; right:18px; }
}


@media (max-width: 767px) {
	.drawer_button { top:14px; }
}

.drawer_button:hover { opacity:.7;}
 
.drawer_button .drawer_bar {
  display: block;
  width: 38px;
  height: 2px;
  transition: all 0.2s;
  transform-origin: 0% 0%;
  transform: translateY(-50%);
  position: absolute;
  left: 0;
}
 
.drawer_button .drawer_bar1 {
  top: 0;
}
 
.drawer_button .drawer_bar2 {
  top: 50%;
}
 
.drawer_button .drawer_bar3 {
  top: 100%;
}
 
.drawer_button.active .drawer_bar {
  width: 33.94px;
  left: 7px;
}
 
.drawer_button.active .drawer_bar1 {
  transform: rotate(0.7853981633974483rad) translateY(-50%);
  top: 0px; 
  color:#fff;
}
 
.drawer_button.active .drawer_bar2 {
  opacity: 0;
  color:#fff;
}
 
.drawer_button.active .drawer_bar3 {
  transform: rotate(-0.7853981633974483rad) translateY(-50%);
  top: calc(100% - 0px);
  color:#fff;
}
 
.drawer_button.active .drawer_menu_text {
  display: none;
}
 
.drawer_button.active .drawer_close {
  display: block;color:#fff;
}
 
.drawer_text {
  width: 100%;
  position: absolute;
  bottom: -20px;
  left: 0;
  text-align: center;
  font-size: 10px;
}
 
.drawer_close {
  letter-spacing: 0;
  display: none;
}
 
/*+++ Default Button Color +++*/
.drawer_button {
  color: #222;
}

.drawer_button .drawer_bar {
  background-color: #222;
}
.drawer_button.active .drawer_bar {
  background-color: #fff;
}

.dig_global-nav {
  position: fixed;
  right: -320px; 
  top: 0;
  width: 300px;
  height: 100vh;
  padding-top: 65px;
  background-color: #3d4041;
  transition: all .6s;
  z-index: 200;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
  /*滑らかスクロール*/
  -webkit-overflow-scrolling: touch;
}
 
.dig_global-nav_list {
  margin: 0;
  padding: 0;
  list-style: none; 
}
 
.dig_global-nav_list li {
	 border-bottom: 1px solid #555;
}

.dig_global-nav_list li:nth-child(1) { 
	margin-top:30px;
	border-top: 1px solid #555;
}
 
 .dig_global-nav_list li a {
	display: block;
	padding: 8px 20px;
	text-decoration: none;
	color: #fff;
}

 .dig_global-nav_list li a:hover {
	background-color: #3f9a84;
}

/*+++ js-hamburger-black-bg(半透明) +++++++*/
.dig_black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: rgba(0,0,0,.6);
  opacity: 0;
  visibility: hidden;
  transition: all .6s;
  cursor: pointer;
}
 
/* 表示された時用のCSS */
.dig_nav-open .dig_global-nav {
  right: 0;
}
 
.dig_nav-open .dig_black-bg {
  opacity: .8;
  visibility: visible;
}

/*+++side-drawer-menu表示時、
背景bodyスクロールを止めるtuika 20201230 +++++++++++++*/
html, body { height: 100%;}
body.dig_nav-open{overflow: hidden;}


/*  Visual_img Area＆next-page＝breadcrumb__list-Area
++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.Visual{
	position: relative; 
	width: 100%;
	text-align:center;
}

/*+++　index-page　++++++++++++++++++++++++++++++++++++ */
.index.Visual { 
	height: 80vh;
	overflow: hidden;	
	background:#fff url(../image/top-main-bg1.jpg) no-repeat bottom center; 
	background-size:cover;
}

/*+++index-main-img-Area ++++++++++++++*/
.Visual__inner {
	position: fixed;
	z-index: 10;
	height: 100vh;
}

.Visual__main {
	width: 100vw;
}

/*+++index-main-img-キャッチコピーテキストArea ++++++++*/
.Visual__catchcopy {
	position: absolute;
	top: 25%;
	left: 36%;
	font-size: 52px;
	font-weight: 600;
	letter-spacing: 0.25em;
	height: 2.6em;
	width: calc(1.25em * 15);width: calc(1.25em * 13);
	text-align:left;
	transform: translate(-50%, -50%);
}

.Visual__catchcopy p {
	position: relative;
	letter-spacing: 0.25em;
}

.catchcopy-read {
	position: relative;
	width:45vw;
	max-width:807px; 
	font-size:2rem;
	letter-spacing: 1px; 
	margin-left:-30px ;
	padding:1rem 20px;
	color:#fff;
	background-color:rgba(183,111,111,.6);  
	box-shadow: #B87070;
	border-radius:5px;
}

.Visual__icon { text-align:left; }
.Visual__icon img{ padding:50px 50px 0;}

.mainv-img img {
	position: absolute;
	bottom: 20.5vh;	
	right: 9vw; 
	width: 36vw;
}

@media (max-width: 1720px) {
	.catchcopy-read .w-pc { display:none;}
}

@media (max-width: 1621px) {
	.catchcopy-read { line-height:1.8;font-size:1.8rem;}
}

@media (max-width: 1600px) {
	.Visual__catchcopy {
		top: 27%;
		left: 33%;
		font-size: 2.9vw;
	}
	
	.Visual__icon img{
		width:25% !important; 
		height:auto !important; 
		padding:5% 30px 0;
	}
	
	.mainv-img img {
		right: 5vw; 
		width: 45vw;
	}
}

/*デバイスが横向きの場合*/
@media (max-width: 1366px) and (orientation: landscape) {
	.index.Visual {	
		max-height: 660px; 
		height:80%;
	}
	
	.Visual__catchcopy {top:3em ;}
	
	.catchcopy-read {margin-left:-1em ;}
	
	.mainv-img img {
		bottom:20vh; 
		top:18vh;
		width: 37vw;
	}
}

@media (max-width: 1340px) {
	.Visual__catchcopy {left: 30%;}
}

@media (max-width: 1080px) {
	.index.Visual {	height:500px;}
	.Visual__catchcopy { top:3em;}
	.mainv-img img { top:3em;}
}

/*デバイスが横向きの場合*/
@media (max-width: 812px) and (orientation: landscape) {
	.Visual__icon img{ display:none;}
	.Visual__catchcopy {top:4em ;}
	
	.catchcopy-read {
		margin-left:0 ; 
		font-size:1.7rem; 
		line-height:1.6;
	}
	.mainv-img img { top:15px;}
}

/*縦長スタイル*/
@media (max-width: 768px) and (orientation: portrait) {
	.index.Visual {	height: 460px;}
	
	.Visual__catchcopy {
		top: 3.7em;
		left: 50%;
		font-size: 3.8vw;
		letter-spacing: 0.3em; 
		text-align:center;
	}
	
	.Visual__icon { 
		position: relative; 
		left:-15vw;
	}

	.Visual__icon img{
		width:28% !important;  
		padding:5% 8% 0;
	}

	 .catchcopy-read {
		 margin-left:-5em ;
		 font-size:1.7rem; 
		 line-height:1.6;
	}

	.mainv-img img { 
		top:160px;
		width: auto; 
		max-width:320px;
		height: inherit;
		max-height:300px;
	}
}

@media (max-width: 550px){
	.index.Visual {	height: 435px;}
	.Visual__catchcopy {
		font-size: 21px;
		letter-spacing: 2px;
	}
	
	.Visual__icon img,
	 .catchcopy-read { display:none;}

	.mainv-img img {
		margin-left:auto; 
		margin-right:auto;
		right:16%; 
		width: 80vw;
	}
}

.Visual__catchcopy span.dot { position: relative;}

.Visual__catchcopy span.dot::before {
	content: '・';
	position: absolute;
	top: -1.3em;
	left: 50%;
	transform: translate(-50%); 
	color:#008e92;
}

/*+++　index最初の画面左下のページスクロール設定
++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.Visual__scroll {
	position: absolute;
	left: 78px;
	bottom: 220px;
	text-align: center;
	width: 24px;
}

@media (max-width: 1600px) {
	.Visual__scroll {
		left: 40px;
	}
}

/*デバイスが横向きの場合*/
@media (max-width: 1366px) and (orientation: landscape) {
	.Visual__scroll {
		left: 30px;
		bottom: 30vh;
	}
}

/*縦長スタイル*/
@media (max-width: 1080px) and (orientation: portrait) {
	.Visual__scroll {
		top:510px;
		left: 30px;
	}
}

.Visual__scroll::before {
	content: '';
	position: absolute;
	display: block;
	top: 75px;
	left: calc(50% - 1px);
	height: 58px;
	border-right: solid 1px #000;
	animation: scroll-line-animation 3s infinite ease-in-out;
}

@keyframes scroll-line-animation {
	0% {
		transform: translateY(-10px);
		opacity: 0;
	}
	25% {
		transform: translateY(5px);
		opacity: 1;
	}
	75% {
		transform: translateY(-5px);
		opacity: 1;
	}
	100% {
		transform: translateY(10px);
		opacity: 0;
	}
}

.Visual__scroll::after {
	content: '';
	display: block;
	width: 24px;
	height: 24px;
	background:url(../image/scroll_arrow.png) center/contain no-repeat;
}

.Visual__scroll-text {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: inline-block;
	font: bold 10px sans-serif;
	letter-spacing: 0.3em;
	margin-bottom: 83px;
	width: 12px;
}

@media (max-width: 767px) {
	.Visual__scroll::after {
		width: 18px;
		height: 18px; 
		margin-top:70px; 
		margin-left:2px;
	}
	
	.Visual__scroll-text { margin-bottom: 0;}
}


/*+++　パンくずリスト　 flex-box -style +++++++++++*/

.breadcrumb__list {
	display:flex;
	margin-left:0;/*this-site-only*/
	padding:10px 1px;
	color: #444;
}

.breadcrumb__list li {
	list-style:none;
	font-size: 1.4rem;
	line-height: 1.4;
}

.breadcrumb__list li a{
	position: relative;
	display: block;
	margin-right: 2em;
	padding-right: 0.4em;
	text-decoration: none;
	color: #444;
}

.breadcrumb__list li a:after {
	position:absolute;/*Visualcontainer内<p>タグ配置*/
	content: " /";
	top: 0;
	margin-left:1em;
	margin-right: -1.5em;
}

.breadcrumb__list li:last-child a:after {
	content: "";
}

.breadcrumb__list li a:hover { 
	opacity:.8;/*this-site*/
	text-decoration: none;
}

.breadcrumb__list:after {
-webkit-box-flex: 0;
	flex: none;
}

/* index-page
++++++++++++++++++++++++++++++++++--*/
.inner {
	max-width: 1200px;
	width: 96%;
	margin-right: auto;
	margin-left: auto;
}

.inner.grid-80{max-width: 900px;}/*top-news-area*/

@media (max-width: 1127px) {
	.inner { width: 94%;}
}

@media (max-width: 640px) {
	.inner { width: 88%; }
}

.top-img-items3 {
	display: flex;
	flex-wrap: wrap;
	--margin: 1rem;
	--modifier: calc(40rem - 100%);
	margin: calc(var(--margin) * -1);
	justify-content: center;
	align-items: center;
}

.top-img-items3 > div {
	min-width: calc(33% - (var(--margin) * 2));
	max-width: 100%;
	flex-grow: 1;
	flex-basis: calc(var(--modifier) * 999);
	margin: var(--margin);
}

.top-img-items3 > div:nth-child(3) img{ max-width:100%;}

.top-about { padding: 0 0 40px;}

.top-about .inner {	text-align: center;}

.top-about .inner .service { padding:30px 0;}

.top-about .inner .service  h3{ 
	position:relative; 
	text-align:left; 
	font-size:2.4rem;
}

.top-about .inner .list-check{text-align: left;}

.top-about h2 {
	font-size: 3.6rem;
	font-weight:bold;
	letter-spacing: 8px;
	margin-bottom: 1em;
}

@media (max-width: 1127px) {
	.top-about h2  { font-size: 2.9vw;}
}


.top-about .item-text h3,
h3.ttl-2dan {
	font-size: 2.8rem;
	font-weight:500;
	line-height:1.2;
	letter-spacing: 3px;
	margin-bottom: 1em; 
	padding-left:10px; 
	text-align:center;
}

.item-text h3 .hart,
.ttl-2dan .hart{ 
	position:absolute;
	margin-left:-70px;
	width: 60px;
	height:54px;
	background:url(../image/hart1.svg) no-repeat; 
	background-position:left center;
	background-size:contain;
}

.top-about .list-check li {
    margin-left: 165px;
}

@media (max-width: 840px) {
	.top-about .inner .service { padding:0;}

	.top-about .item-text h3{ 
		position: absolute;
		font-size: 2.1rem; 
		font-weight:bold; 
		left:30%; 
		top:-2.5em; 
	}
	 h3.ttl-2dan {font-size: 2.1rem; font-weight:bold; }
	
	.top-img-items3 > div:nth-child(1) img{ 
		max-width:120px; 
		height:inherit;
	}

	.top-about .inner .service  h3{  
		font-size:2.1rem ; 
		margin-bottom:1em; 
		text-align:center;
	}

	.section-text { margin-top:2em;}
	
	.item-text h3 .hart,
	.ttl-2dan .hart { 
		margin-left:-60px;
		width: 50px;
		height:42px;
	}
}


.top-about .item-text h3 em,
h3.ttl-2dan  em{ font-weight:bold; color:#EB634E;} 


.top-about .inner .about-wrap {	padding: 60px 0;}

.top-about .inner .about-wrap .item {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: left;
	margin-bottom: 60px;
}

.top-about .inner .about-wrap .item .item-img {	
	width: 48%; 
	margin-left:1%;
	marging-right:1%; 
}

.top-about .inner .about-wrap .item .item-img img {	width: 100%; }

@media (max-width: 840px) {
	.top-about .inner .about-wrap .item:nth-child(2) {margin-bottom: 0px;}
}

@media (max-width: 640px) {
	.top-about { padding: 0;}
	
	.top-about h2.mb00 {
		margin-top:-1em;
		margin-bottom: 0;
	}

	.top-about h2 {
		font-size: 1.8rem;
		letter-spacing: 2px;
		margin-top:1em;
	}
	
	.top-about .item-text h3{left:1.5em;font-size: 1.9rem;letter-spacing: 2px;}
	
	.top-about .item-text:nth-child(2) h3{letter-spacing: 0px;}
	
	 h3.ttl-2dan {font-size: 1.9rem;letter-spacing: 2px;}
	 
	 .item-text h3 .hart,
	.ttl-2dan .hart { 
		margin-left:-40px;
		width: 40px;
		height:32px;
	}


	.top-about .inner .about-wrap {	padding-bottom: 20px;}

	.top-about .inner .about-wrap .item { display: block;}
	
	.top-about .inner .about-wrap .item .item-img {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	
	.top-about .inner .about-wrap .item .item-img img {	width: 80%;}
	.top-about .list-check li { margin-left: 0; margin-bottom:.5em;}
}

.top-about .inner .about-wrap .item .item-text { width: 48%;}
.top-about .inner .about-wrap .item .item-text .section-text { margin-bottom: 40px;}
.top-about .inner .about-wrap .item.reverse { flex-direction: row-reverse;}
.top-about .inner .about-wrap .item:last-child { margin-bottom: 0;}

@media (max-width: 640px) {
	.top-about .inner .about-wrap .item .item-text { width: 100%;}
	.top-about .inner .about-wrap .item .item-text .section-text { margin-bottom: 30px;}
	.top-about .inner .about-wrap .item .item-text .btn-s {	margin: 0 auto 2em;}
}

.top-about .inner .about-wrap .item .item-img.img-wrap {
	overflow: hidden;
	position: relative;	
}

.top-about .inner .about-wrap .item .item-img.img-wrap::before {
	animation: img-wrap 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	background: #f3f8fb;
	bottom: 0;
	content: '';
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

@keyframes img-wrap {
	100% {
		transform: translateX(100%);
	}
}

.top-about .inner .about-wrap .item .item-img.img-wrap.img-animation {
	animation: img-opacity 1.8s cubic-bezier(0.4, 0, 0.2, 1);
	overflow: hidden;
	position: relative;
}

@keyframes img-opacity {
	0% {
		opacity: 0;
	}
}

.top-about .inner .about-wrap .item .item-img.img-wrap.img-animation::before {
	animation: img-animation 1.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	background: #f3f8fb;
	bottom: 0;
	content: '';
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

@keyframes img-animation {
	100% {
		transform: translateX(100%);
	}
}

/* index-page_top-news
--+++++++++++++++++++++++++++++++++++++++++++++++++++++-*/
.top-news {	padding: 40px 0 0;}

.top-news > *{ font-size:1.5rem;}/*tuika*/

.title-en {
    font-family: sans-serif;
    font-size: 3.5rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 6px;
    margin-bottom: 40px;
}

.top-news .news-box {
	position: relative;
	background: #FFF;
	padding: 10px 60px 50px 60px;
	border-radius: 20px;
}

@media (max-width: 999px) {
	.top-news .news-box { padding: 40px 20px 24px 20px;	}
}

@media (max-width: 640px) {
	.top-news .news-box { padding: 30px 20px 24px 20px;}
}

.top-news .news-box a  { text-decoration:none;}/*tuika*/

.top-news .news-box .news-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family:sans-serif;
	border-bottom: 2px solid #F0F0F0;
	padding-bottom: 16px;
	margin-bottom: 20px;
}

@media (max-width: 640px) {
	.top-news .news-box .news-item { align-items: flex-start;}
}

.top-news .news-box .news-item .news-txt {
	display: flex;
	align-items: center;
}

.top-news .news-box .news-item .news-txt .title{ font-size:1.8rem;}

@media (max-width: 889px) {
	.top-news .news-box .news-item .news-txt { display: block;}
	.top-news .news-box .news-item .news-txt .title{ 
		font-size:1.5rem; 
		line-height:1.4;
	}
}

.top-news .news-box .news-item .news-txt .dc {
	display: flex;
	align-items: center;
}

@media (max-width: 889px) {
	.top-news .news-box .news-item .news-txt .dc {margin-bottom: 12px;}
}

.top-news .news-box .news-item .news-txt .dc .date { 
	width: 100px;
	font-size:1.4rem;
	font-weight: bold;
	color: #a3c9d1;
	margin-right: 20px;
}

@media (max-width: 999px) {
	.top-news .news-box .news-item .news-txt .dc .date { margin-right: 10px;}
}

/*category表示の場合*/
.top-news .news-box .news-item .news-txt .dc .cat {
	width: 104px;
	background: #3d4041;
	font-size: 1.2rem;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	padding: 2px 0;
	margin-right: 30px;
}

@media (max-width: 999px) {
	.top-news .news-box .news-item .news-txt .dc .cat { margin-right: 14px;}
}

@media (max-width: 640px) {
	.top-news .news-box .news-item .news-txt .dc .cat {
		width: 90px;
		font-size: 10px;
		padding: 0;
	}
}

.top-news .news-box .news-item .btn {	position: relative; }

@media (max-width: 640px) {
	.top-news .news-box .news-item .btn {	padding-top: 12px;}
}

.top-news .news-box .news-item .btn::after {
	position: absolute;
	top: -11px;
	right: 5px;
	content: " ";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	height: 24px;
	background: #F3F3F3;
	border-radius: 50px;
	transition: all .4s ease;
}

@media (max-width: 640px) {
	.top-news .news-box .news-item .btn::after { top: 1px;}
}

.top-news .news-box .news-item .btn .line {
	position: absolute;
	height: 2px;
	width: 30px;
	right: 16px;
	z-index: 10;
	overflow: hidden;
}

.top-news .news-box .news-item .btn .line::before {
	width: 30px;
	height: 2px;
	content: " ";
	background: #000;
	display: block;
}

.top-news .news-box .news-item .btn .dot {
	position: absolute;
	right: 12px;
	top: -4px;
	content: " ";
	width: 10px;
	height: 10px;
	background: #000;
	font-size: 10px;
	border-radius: 50px;
	z-index: 10;
}

@media (max-width: 640px) {
	.top-news .news-box .news-item .btn .dot { top: 8px;}
}

/*change*/
.top-news .news-box .news-item:hover .btn::after {
	transform: scale(1.5, 1.5);
	transition: all .4s ease;
}

.top-news .news-box .news-item:hover .btn .line::before {
	animation-duration: .8s;
	animation-name: btnLine;
}

@keyframes btnLine {
	0% {
		transform: translateX(0);
	}
	25% {
		transform: translateX(100%);
		background-color: #000;
	}
	26% {
		background-color: transparent;
	}
	27% {
		transform: translateX(-100%);
	}
	40% {
		background-color: #000;
	}
	100% {
		transform: translateX(0);
	}
}

.top-news .news-box .view {
	position: absolute;
	right: 60px;
	width: 100px;
	font-size:1.4rem; 
	line-height:1.8;
	font-weight: bold;
	text-align: right;
	padding-right: 20px;
	margin-right: 0;
	margin-left: auto;
}

@media (max-width: 999px) {
	.top-news .news-box .view {
		right: 22px;
		bottom: 10px;
	}
}

@media (max-width: 640px) {
	.top-news .news-box .view {
		right: 20px;
		bottom: 14px;
	}
}

.top-news .news-box .view a::after {
	position: absolute;
	top: 4px;
	content: " ";
	width: 14px;
	height: 14px;
	background: url("../image/top_news_dot.png") center no-repeat;
	background-size: contain;
	margin-left: 6px;
	transition: all .4s ease;
}

.top-news .news-box .view:hover a::after {
	transform: scale(1.5);
	transition: all .4s ease;
}

/* maps-access +++++++++++++++++++++++++++-*/

.about-map iframe {
	width: 100%;
	height: 865px;
}
@media (max-width: 1024px) {
	.about-map iframe{ height: 700px;	}
}

@media (max-width: 840px) {
	.about-map iframe{ height: 360px;	}
}

/*support-page svg-icon */

.m-top-100 {margin-top:-100px ;}

.m15 { margin:15px;}

.sup-in-right,
.sup-in-left {
	position: relative;
	overflow: hidden;
	margin:10px 30px 10px 5px;
}

.sup-in-left {
	float: left;
	margin:10px 30px 10px 5px;
}
.sup-in-right {
	float: right;
	margin:10px 10px 10px 30px;
}

.sup-in-right-top {
	float: right;
	margin:0 0 30px 30px;
}

.sup-in-left.m-ri40 { margin-right:40px;}

.sup-in-left.max50 img{ 
	max-width:32%;
	height:auto;
}

@media (max-width: 1200px) {
	.sup-in-left.max50 { 
		float:none; 
		width:100%; 
		max-width:100%; 
		margin:1px;
	}
	.sup-in-left.max50 img{ 
		width:100%;
		margin:1px ;
	 }
}

@media (max-width: 1080px) {	
	.sup-in-right-top {
		float:none; 
		display:block;
		margin:1em auto 30px auto;
	 }
}

@media (max-width: 840px) {
	.max80.m-auto { max-width:100%;}
	.sup-in-left.max50 img{ width:100%; margin:0;}
	
	.sup-in-right-top {
		max-width:100%; 
		width:auto; 
		height: 300px;
 		 object-fit: cover;
		 overflow:hidden !important;
	}
}

@media (max-width: 580px) {
	.sup-in-right-top {
		width:100%;
		height: 300px;
		object-fit: cover;
		overflow:hidden !important;
  }
}
