@charset "utf-8";
@import url("global.css");

/*---------------------------------------------------------------------------------------
	Overall settings
----------------------------------------------------------------------------------------*/
body{
	color: var(--base);
	font-size: 1.6rem;
	font-family: var(--mincho);
	-webkit-font-smoothing: antialias;
	line-height: 1.8;
}
body.noscroll{ overflow: hidden;}

a{ color: var(--base); text-decoration: underline; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ text-decoration:none; color: var(--key) }
a.no-deco {text-decoration: none;}

::selection {background-color: var(--key-l)!important;}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 959px) {
	html{ font-size: 55%;}
}
@media screen and (max-width: 768px) {
	body{
	}
}
/*---------------------------------------------------------------------------------------
	contents
----------------------------------------------------------------------------------------*/

/* font*/
.caution{ color: var(--caution)!important;}
.marker{
	background: linear-gradient(transparent 60%, var(--marker) 60%);
	font-weight: bold;
}
.underline{ text-decoration: underline;}

/* bg color */
.bg-key{ background: var(--key)!important; color: var(--white);}

/* block */
.section {
    position: relative;
    width: 94%;
    max-width: 1200px;
	margin: 0 auto 5em;
}
.section-bk {
    position: relative;
	background: rgb(255, 255, 255,.95);
	margin-bottom: 5em;
	padding: 3em 0;
}
.section-bk-inner {
    position: relative;
    width: 94%;
    max-width: 1200px;
	margin: 0 auto;
}
.txtarea{
	margin-bottom: 5em;
}
.txtarea.bdr{
	padding: 1em;
	border: 1px solid var(--line2);
}
.txtarea.box {
	padding: 1em;
	background: var(--back4);
}
.txtarea.box2 {
	border-top: 1px solid var(--line1);
	padding-top: 2em;
}
.column-2 {
	display: flex;
	justify-content: space-between;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.txtarea{
		margin-bottom: 3em;
	}
	.column-2 {
		display: block;
	}
}
/* link */
a:hover img {
	opacity:  0.6;
	transition: 0.5s ease-in;
}

a[target="_blank"]:after {
	display: inline-block;
	content: "";
    background: url(../images/icn-url.svg) center / 14px no-repeat;
	background-size: contain;
    height: 14px;
    width: 14px;
	margin-left: .5em;
	margin-right: .5em;
	vertical-align: middle;
}
a.no-icn[target="_blank"]:after,
a[href$=".jpg"][target="_blank"]:after,
a[href$=".png"][target="_blank"]:after {
	display: none;
}
a[href$=".pdf"][target="_blank"]:after {
	display: inline-block;
	content: "";
	background: url(../images/icn-pdf.svg) no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
}
a[href$=".xlsx"][target="_blank"]:after {
	display: inline-block;
	content:"";
	background: url(../images/icn-excel.png) no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
}
a[href*="tel:"] {
	text-decoration: none;
}

@media (min-width: 751px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
	a[href*="tel:"]:hover {
		color: var(--base);
	}
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	a[target="_blank"]:after {
	    height: 12px;
	    width: 12px;
		margin-left: .5em;
	    background: url(../images/icn-url.svg) center / 12px no-repeat;
	}
}
/* btn */
.btn1 {
	max-width: 350px;
	width: 100%;
	margin: 0 auto;
}
.btn1 a{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	margin: 0 auto;
	border: 1px solid var(--line1);
	background: var(--white);
	text-decoration: none!important;
	}
	.btn1 a::after{
		display: inline-block;
		content: "";
		width: 35px;
		height: 8px;
		border-bottom: 1px solid var(--line1);
		border-right: 1px solid var(--line1);
		transform: skew(45deg);
		margin-left: 20px;
	}
	.btn1 a:hover{
		background: var(--key);
		border: 1px solid var(--key);
		color: var(--white);
		opacity: 1;
	}
	.btn1 a:hover::after{
		position: relative;
		left: 10px;
		animation: arrow_move .3s ease;
		border-color: var(--white);
	}
	.btn1.back a::after{
		display: none;
	}
	.btn1.back a::before{
		display: inline-block;
		content: "";
		width: 30px;
		height: 4px;
		border-bottom: 1px solid var(--line1);
		border-left: 1px solid var(--line1);
		transform: skew(135deg);
		margin-right: 20px;
	}
	.btn1.back  a:hover::before{
		position: relative;
		right: 10px;
		animation: arrow_move_back .3s ease;
		border-color: #fff;
	}
@keyframes arrow_move{
	0%{
		left: 0;
	}
	100%{
		left: 10px;
	}
}
@keyframes arrow_move_back{
	0%{
		right: 0;
	}
	100%{
		right: 10px;
	}
}
.btn1 a[target="_blank"]:after {
	border: none;
	transform: none;
	margin-left: 20px;
	background: url(../images/icn-url.svg) no-repeat;
	background-size: contain;
    height: 16px;
    width: 16px;
	z-index: 3;
}
.btn1 a[target="_blank"]:hover::after{
	left: 0px;
	animation: none;
	background: url(../images/icn-url-w.svg) no-repeat;
	background-size: contain;
}

.btn1 a[href$=".pdf"][target="_blank"]:after {
	background: url(../images/icn-pdf.svg) no-repeat;
	background-size: contain;
	width: 15px;
	height: 20px;
}
.btn1 a[href$=".pdf"][target="_blank"]:hover:after {
	background: url(../images/icn-pdf.svg) no-repeat;
	background-size: contain;
}
.btn1 a[href$=".xlsx"][target="_blank"]:after {
	background: url(../images/icn-excel.png) no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
}
.btn1 a[target="_blank"].insta:after {
	border: none;
	transform: none;
	margin-left: 20px;
	background: url(../images/icn-insta.svg) no-repeat;
	background-size: contain;
    height: 16px;
    width: 16px;
	z-index: 3;
}
.btn1 a[target="_blank"].insta:hover::after{
	left: 0px;
	animation: none;
	background: url(../images/icn-insta-w.svg) no-repeat;
	background-size: contain;
}

.btn-column {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.btn-column li{
	margin: 1em 10px 0;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.btn1 a{
		height: 45px;
	}
	.btn-column.w100 li.btn1{
		margin: 1em 0 0;
		max-width: 100%;
	}
	.btn-column.w100 li.btn1 a{
		width: 100%;
	}
}
/* table */
table.table1{
	width: 100%;
	text-align: left;
	border-top: 1px solid var(--white);
	border-left: 1px solid var(--white);
}
table.table1.t-center{
	text-align: center;
}
table.table1 th,
table.table1 td{
	padding: .5em 1em;
	border-bottom: 1px solid var(--white);
	border-right: 1px solid var(--white);
}
table.table1 th{
	background: var(--back2);
	vertical-align: top;
	color: var(--white);
	white-space: nowrap;
}
table.table1.th-center th,
table.table1.td-center td{
	text-align: center;
	vertical-align: middle;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
}
/* list */
.list1 li{
	list-style-type: disc;
	margin-left: 1.5em;
	line-height: 1.5;
	margin-top: .5em;
}
.list2 li,
ol li{
	list-style-type: decimal;
	margin-left: 1.5em;
	line-height: 1.5;
	margin-top: .5em;
}
.list-number {
   counter-reset: count 0;
}
.list-number li {
	position: relative;
	font-size: var(--large);
	padding-left: 2em;
	margin-bottom: 1em;
}
.list-number li:before {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    counter-increment: count 1;
    content: counter(count);
    background: var(--key);
    color: var(--white);
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5;
    text-align: center;
    border-radius: 50%;
}


/* dl */
.dl1 dt {
	position: relative;
	margin-bottom: .5em;
	font-size: var(--large);
	font-weight: bold;
}
.dl1 dd {
	margin-bottom: 1.5em;
}
.dl2 dt {
	font-weight: bold;
	font-size: var(--x-large);
	margin-bottom: .3em;
}
.dl2 dt:before {
	content: "●";
	color: var(--key);
	margin-right: .5em;
}
.dl2 dd {
	margin-bottom: 2em;
	margin-left: 1.5em;
}
.dl1.number {
    counter-reset: count 0;
}
.dl1.number dt {
    padding-left: 1.8em;
}
.dl1.number dt:before {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    counter-increment: count 1;
    content: counter(count);
    background: var(--key);
    color: var(--white);
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5;
    text-align: center;
    border-radius: 50%;
}
.dl1.number dd {
    padding-left: 1.8em;
}
/*見出し*/
.hl01,
.hl02,
.hl03,
.hl04 {
	font-family: var(--mincho);
}
.hl01 {
    position: relative;
    letter-spacing: 2px;
    margin-bottom: 1.5em;
    font-size: var(--xx-large);
    text-align: center;
    color: var(--key);
}


.hl02 {
    position: relative;
    font-weight: normal;
    letter-spacing: 2px;
    margin-bottom: 2em;
    text-align: center;
}
.hl02::before {
	position: absolute;
	content: attr(data-title);
	position: relative;
	display: block;
	font-size: var(--xxxx-large);
	font-family: var(--eng2);
	font-weight: bold;
	letter-spacing: 6px;
	line-height: 1;
	top: -20px;
	left: 50%;
	transform: translate(-50%, -50%);
}

.hl02::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translate(-70%, -70%);
	bottom: 70%;
	width: 50px;
	height: 3px;
	background: var(--key);
}

.hl03 {
	font-weight: bold;
	color: var(--key);
	font-size: var(--large);
	margin-bottom: .8em;
}
.hl04 {
	font-weight: bold;
	margin-bottom: .8em;
	border-bottom: 1px solid var(--key);
}
@media screen and (max-width: 768px) {
	.hl01 {
		letter-spacing: 1px;
		font-size: var(--x-large);
	}
	.hl02 h2 {
	    margin-bottom: 2em;
	}
	.hl02 h2::before {
		font-size: var(--xx-large);
		letter-spacing: 6px;
		top: -20px;
	}
	.hl02 h2::after {
		transform: translate(-70%, -70%);
		bottom: 70%;
		width: 50px;
	}
	.hl03 { font-size: var(--x-large);}
	.hl04 { font-size: var(--x-large);}
}
/*---------------------------------------------------------------------------------------
	animation
----------------------------------------------------------------------------------------*/
@keyframes fadeIn {
  0% {
    display: none;
    opacity: 0;
  }

  1% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}


/*---------------------------------------------------------------------------------------
	main
----------------------------------------------------------------------------------------*/
main {
    position: relative;
    margin-bottom: 5em;
	background-size:100%;
}
@media screen and (max-width: 1400px) {

}

/*---------------------------------------------------------------------------------------
	header
----------------------------------------------------------------------------------------*/
header div.menu{
	display: none;
}

header{
	padding: 1em;
	text-align: center;
}

#logo{
	margin-bottom: 1em;
}
#logo img{
	width: 40px;
}
header h1 {
	font-weight: normal;
	font-size: var(--x-small);
}

header a [target="_blank"]:after {
    display: none;
 }


.gnav{
	display: flex;
	justify-content: space-between;
	align-content: flex-end;
	margin-right: 20px;
	margin-bottom: 10px;
}
.gnav li {
	text-align: center;
	transition: all .3s ease-in-out;
	cursor: pointer;
	margin: 0 0 0 2em;
}
.gnav li a {
	position: relative;
	padding: 4px 0;
	text-decoration: none;
	display: block;
}
.gnav li a:hover {
}
.gnav li a[target="_blank"]:after{
	display: none;
}
.gnav > li:hover > a:before,
.gnav > li.current a:before {
	position: absolute;
	content: '';
	display: block;
	border-bottom: solid 4px var(--key);
	width: 100%;
	height: 4px;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
}
header .sns-list {
	display: none;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	header {
		background-size: cover;
	}
	#logo{
		margin-bottom: .5em;
	}
	#logo img{
		width: 8%;
	}
}
/*---------------------------------------------------------------------------------------
	footer
----------------------------------------------------------------------------------------*/

footer{
	position: relative;
	width: 100%;
}
footer a{
	text-decoration: none;
}
.sns-list {
	display: flex;
	justify-content: center;
}
.sns-list li {
	margin: 0 .5em;
	text-align:center;
}
.sns-list li img{
	width: 40px;
}
.sns-list li a:after{
	display: none;
}
.sns-list li p {
	font-size: var(--small);
}
.footer-info {
	background: var(--key-l);
	padding: 2em 0;
}
.footer-info div > h2 { width:120px; margin-right: 30px; }
.footer-info div {
	width: 96%;
	max-width: 1200px;
	position: relative;
	margin: 0 auto;
	display: flex;
	align-items: center;
}
.footer-info div a{
}
.footer-info div h2{
	font-size: var(--large);
}
.footer-info div h2 span{
	font-size: var(--small);
	font-weight: normal;
}
.footer-nav {
    font-size: var(--small);
}
.footer-nav ul{
    width: 96%;
    max-width: 1200px;
    position: relative;
    margin: 0 auto;
    padding: 1em 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.footer-nav li:not(:last-child):after{
	content: ' | ';
	margin-right: .5em;
}

.footer-copyright{
	font-size: var(--small);
	background: var(--key);
	color: var(--white);
	padding: .5em 1em;
	text-align: center;
}
#pagetop {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    background: var(--key);
    z-index: 10;
    cursor: pointer;
}
#pagetop p {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    margin: -2px 0 0 -7px;
    border-top: 1px solid var(--white);
    border-right: 1px solid var(--white);
    transform: rotate(-45deg);
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.footer-info div > h2 { width: 20%; margin-right: 20px; }
}



/*---------------------------------------------------------------------------------------
	ページタイトル
----------------------------------------------------------------------------------------*/
.pagetitle {
	position: relative;
	background-color: var(--key);
}
.pagetitle::after {
	content: "";
	position: absolute;
	background: url(../images/logo-s-w.svg) bottom right no-repeat;
	background-size: contain;
	display: inline-block;
	width: 50%;
	height: 100%;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	opacity: .1;
}
.pagetitle {
    margin-bottom: .5em;
}
.pagetitle img{
	width: 50%;
	height: 350px;
	object-fit: cover;
}
.pagetitle h2 {
	position: absolute;
	display: flex;
	align-items: center;
	z-index: 9;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	background: var(--white);
	padding: .2em 1em;
	font-weight: normal;
}
.pagetitle h2::before {
    content: attr(data-title);
    font-size: 4rem;
    font-family: var(--eng);
	font-weight: bold;
    letter-spacing: 6px;
    margin-right: 20px;
}


/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
.pagetitle::after {
	width: 50%;
	height: 100%;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	opacity: .1;
}

.pagetitle img{
	width: 50%;
	height: 150px;
}
.pagetitle h2 {
	display: block;
	text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	padding: .2em 1em;
}
.pagetitle h2::before {
    font-size: 2.8rem;
    line-height: 1;
    letter-spacing: 4px;
    margin-right: 0;
    display: block;
}

}

/*---------------------------------------------------------------------------------------
	パンくず
----------------------------------------------------------------------------------------*/
.pnav{
	padding: .5em 1em;
	margin-bottom: 2em;
	display: flex;
	flex-wrap: wrap;
	font-weight: 700;
	justify-content: flex-end;
}
.pnav li a {
	font-weight: normal;
}

.pnav li:not(:last-child):after{
	display: inline-block;
    content: "/";
	margin: 0 .5em;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 768px) {
	.pnav{
		font-size: var(--small);
	}
	.pnav li:not(:last-child):after{
		width: 8px;
		height: 9px;
	}
}

/*---------------------------------------------------------------------------------------
	googlemap
----------------------------------------------------------------------------------------*/

.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 40%;
	position: relative;
}
.gmap.top {
    padding-bottom: 30%;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
	.gmap {
		padding-bottom: 60%;
	}
	.gmap.top {
	    padding-bottom: 60%;
	}
}
/*---------------------------------------------------------------------------------------
	pager
----------------------------------------------------------------------------------------*/
.pager {
    margin: 3em auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: center;
}
.pager li {
	position: relative;
    margin: 0 .3em;
}

.pager li a {
	display: inline-block;
	width: 42px;
	height: 42px;
	line-height: 42px;
	text-align:center;
    border: 1px solid var(--key);
    border-radius: 3px;
    color: var(--key);
    text-decoration: none;
}

.pager li.prev a,
.pager li.next a {
    background: none;
    border: none;
	line-height: 20px;
    padding-top: 10px;
	width: 20px;
}
.pager li.prev a img,
.pager li.next a img{
    height: 20px;
}
.pager li a.active,
.pager li a:hover {
   	background: var(--key);
    color: var(--white);
	opacity: 1;
}
.pager li.prev a:hover,
.pager li.next a:hover {
   	background: none;
}
.pager li a:hover img {
	opacity: 1;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
	.pager {
	}
	.pager li {
	    margin: 0 .3em;
	}
	.pager li a {
		width: 24px;
		height: 24px;
		line-height: 20px;
	}
	.pager li.prev a,
	.pager li.next a {
		line-height: 12px;
	    padding-top: 4px;
	}
	.pager li.prev a img,
	.pager li.next a img{
	    height: 12px;
	}
}

