@charset "utf-8";

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td,main,figure{margin:0;padding:0}table{font-size:100%;font-family:inherit}fieldset,img{border:0}img,svg{vertical-align:middle}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:400}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%}q:before,q:after{content:''}abbr,acronym{border:0}select,input,textarea{font-size:100%}header,footer,nav,main,section,article,figure,aside{display:block}.clearfix:after,.row:after{content:"";display:table;clear:both}.fl{float:left}.fr{float:right}@media screen and (min-width: 769px),print{.pc_fl{float:left}.pc_fr{float:right}}@media screen and (max-width: 768px){.sp_fl{float:left}.sp_fr{float:right}}.tal{text-align:left}.tac{text-align:center}.tar{text-align:right}@media screen and (min-width: 769px),print{.pc_tal{text-align:left}.pc_tac{text-align:center}.pc_tar{text-align:right}}@media screen and (max-width: 768px){.sp_tal{text-align:left}.sp_tac{text-align:center}.sp_tar{text-align:right}}.m00{margin:0!important}.mb00{margin-bottom:0!important}.mb05{margin-bottom:5px!important}.mb08{margin-bottom:8px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.mb20{margin-bottom:20px!important}.mb25{margin-bottom:25px!important}.mb30{margin-bottom:30px!important}.mb35{margin-bottom:35px!important}.mb40{margin-bottom:40px!important}.mb45{margin-bottom:45px!important}.mb50{margin-bottom:50px!important}.mb60{margin-bottom:60px!important}.mb70{margin-bottom:70px!important}.mb80{margin-bottom:80px!important}.mt00{margin-top:0!important}.mt05{margin-top:5px!important}.mt08{margin-top:8px!important}.mt10{margin-top:10px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt25{margin-top:25px!important}.mt30{margin-top:30px!important}.mt35{margin-top:35px!important}.mt40{margin-top:40px!important}.mt45{margin-top:45px!important}.mt50{margin-top:50px!important}@media screen and (min-width: 769px),print{.pc_m00{margin:0!important}.pc_mb00{margin-bottom:0!important}.pc_mb05{margin-bottom:5px!important}.pc_mb08{margin-bottom:8px!important}.pc_mb10{margin-bottom:10px!important}.pc_mb15{margin-bottom:15px!important}.pc_mb20{margin-bottom:20px!important}.pc_mb25{margin-bottom:25px!important}.pc_mb30{margin-bottom:30px!important}.pc_mb35{margin-bottom:35px!important}.pc_mb40{margin-bottom:40px!important}.pc_mb45{margin-bottom:45px!important}.pc_mb50{margin-bottom:50px!important}.pc_mt00{margin-top:0!important}.pc_mt05{margin-top:5px!important}.pc_mt08{margin-top:8px!important}.pc_mt10{margin-top:10px!important}.pc_mt15{margin-top:15px!important}.pc_mt20{margin-top:20px!important}.pc_mt25{margin-top:25px!important}.pc_mt30{margin-top:30px!important}.pc_mt35{margin-top:35px!important}.pc_mt40{margin-top:40px!important}.pc_mt45{margin-top:45px!important}.pc_mt50{margin-top:50px!important}}@media screen and (max-width: 768px){.sp_m00{margin:0!important}.sp_mb00{margin-bottom:0!important}.sp_mb05{margin-bottom:5px!important}.sp_mb08{margin-bottom:8px!important}.sp_mb10{margin-bottom:10px!important}.sp_mb15{margin-bottom:15px!important}.sp_mb20{margin-bottom:20px!important}.sp_mb25{margin-bottom:25px!important}.sp_mb30{margin-bottom:30px!important}.sp_mb35{margin-bottom:35px!important}.sp_mb40{margin-bottom:40px!important}.sp_mb45{margin-bottom:45px!important}.sp_mb50{margin-bottom:50px!important}.sp_mt00{margin-top:0!important}.sp_mt05{margin-top:5px!important}.sp_mt08{margin-top:8px!important}.sp_mt10{margin-top:10px!important}.sp_mt15{margin-top:15px!important}.sp_mt20{margin-top:20px!important}.sp_mt25{margin-top:25px!important}.sp_mt30{margin-top:30px!important}.sp_mt35{margin-top:35px!important}.sp_mt40{margin-top:40px!important}.sp_mt45{margin-top:45px!important}.sp_mt50{margin-top:50px!important}}.p00{padding:0!important}.pb00{padding-bottom:0!important}.pb05{padding-bottom:5px!important}.pb08{padding-bottom:8px!important}.pb10{padding-bottom:10px!important}.pb15{padding-bottom:15px!important}.pb20{padding-bottom:20px!important}.pb25{padding-bottom:25px!important}.pb30{padding-bottom:30px!important}.pb35{padding-bottom:35px!important}.pb40{padding-bottom:40px!important}.pb45{padding-bottom:45px!important}.pb50{padding-bottom:50px!important}.pb60{padding-bottom:60px!important}.pb70{padding-bottom:70px!important}.pt00{padding-top:0!important}.pt05{padding-top:5px!important}.pt08{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt20{padding-top:20px!important}.pt25{padding-top:25px!important}.pt30{padding-top:30px!important}.pt35{padding-top:35px!important}.pt40{padding-top:40px!important}.pt45{padding-top:45px!important}.pt50{padding-top:50px!important}@media screen and (min-width: 769px),print{.pc_p00{padding:0!important}.pc_pb00{padding-bottom:0!important}.pc_pb05{padding-bottom:5px!important}.pc_pb08{padding-bottom:8px!important}.pc_pb10{padding-bottom:10px!important}.pc_pb15{padding-bottom:15px!important}.pc_pb20{padding-bottom:20px!important}.pc_pb25{padding-bottom:25px!important}.pc_pb30{padding-bottom:30px!important}.pc_pb35{padding-bottom:35px!important}.pc_pb40{padding-bottom:40px!important}.pc_pb45{padding-bottom:45px!important}.pc_pb50{padding-bottom:50px!important}.pc_pt00{padding-top:0!important}.pc_pt05{padding-top:5px!important}.pc_pt08{padding-top:8px!important}.pc_pt10{padding-top:10px!important}.pc_pt15{padding-top:15px!important}.pc_pt20{padding-top:20px!important}.pc_pt25{padding-top:25px!important}.pc_pt30{padding-top:30px!important}.pc_pt35{padding-top:35px!important}.pc_pt40{padding-top:40px!important}.pc_pt45{padding-top:45px!important}.pc_pt50{padding-top:50px!important}}@media screen and (max-width: 768px){.sp_p00{padding:0!important}.sp_pb00{padding-bottom:0!important}.sp_pb05{padding-bottom:5px!important}.sp_pb08{padding-bottom:8px!important}.sp_pb10{padding-bottom:10px!important}.sp_pb15{padding-bottom:15px!important}.sp_pb20{padding-bottom:20px!important}.sp_pb25{padding-bottom:25px!important}.sp_pb30{padding-bottom:30px!important}.sp_pb35{padding-bottom:35px!important}.sp_pb40{padding-bottom:40px!important}.sp_pb45{padding-bottom:45px!important}.sp_pb50{padding-bottom:50px!important}.sp_pt00{padding-top:0!important}.sp_pt05{padding-top:5px!important}.sp_pt08{padding-top:8px!important}.sp_pt10{padding-top:10px!important}.sp_pt15{padding-top:15px!important}.sp_pt20{padding-top:20px!important}.sp_pt25{padding-top:25px!important}.sp_pt30{padding-top:30px!important}.sp_pt35{padding-top:35px!important}.sp_pt40{padding-top:40px!important}.sp_pt45{padding-top:45px!important}.sp_pt50{padding-top:50px!important}}

/*
VDL-V7Mincho L
font-family: vdl-v7mincho, sans-serif;
font-weight: 300;
font-style: normal;


VDL-V7Mincho B
font-family: vdl-v7mincho, sans-serif;
font-weight: 700;
font-style: normal;
*/

/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html {
	font-size: 62.5%;
}
html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}
body {
	background-color: #fff;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.8;
	color: #2E2E2E;
	word-wrap: break-word;
	overflow-wrap: break-word;
	font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.8;
}
a[href] {
	color: #000000;
	text-decoration: underline;
	outline: none;
}
a[href]:hover {
	text-decoration: none;
}
a[href].a_reverse,
.a_reverse a[href] {
	text-decoration: none;
}
@media screen and (min-width: 769px) {
	a[href].a_reverse:hover,
	.a_reverse a[href]:hover {
		text-decoration: underline;
	}
}

a[href^="http"],
a[href^="mailto:"] {
	/*display: inline-block;*/
	word-break: break-all;
	word-wrap : break-word;
	overflow-wrap : break-word;
}

label {
	cursor: pointer;
}
/*
input, select, textarea, button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	max-width: 100%;
	margin: 0;
	border-radius: 0;
	vertical-align: middle;
	font-family: inherit;
	outline: none;
	font-size: 100%;
}
*/
::-webkit-input-placeholder {
	color: #ccc;
}
:-ms-input-placeholder {
	color: #ccc;
}
::-moz-placeholder {
	color: #ccc;
}
select::-ms-expand {
	display: none;
}
p {
	font-size:16px;
	font-size:1.6rem;
	line-height: 1.8;
}

button {
	cursor: pointer;
}
iframe {
	max-width: 100%;
	vertical-align: middle;
}
	img {
		max-width: 100%;
		height: auto;
	}

.hidden {
	display: none;
}
.slick-slider * {
	outline: none;
}
@media screen and (min-width: 769px), print {
}
@media screen and (max-width: 768px) {
	body {
		padding-bottom: 55px;
		font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	}
	img {
		max-width: 100%;
		height: auto;
	}
}

.marker_y {
background: linear-gradient(transparent 50%, #fef78f 80%);
}
.underline {
	text-decoration:underline;
}
p {
text-align: justify;
text-justify: inter-ideograph;
}


/* pc / sp
============================================================================================================ */
.sp,
.sps {
	display: none !important;
}
@media screen and (min-width: 769px), print {
	.pc_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
	.pc_hidden {
		position: relative;
		overflow: hidden;
		display: block;
		height: 0;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	img.sp, span.sp, br.sp, em.sp, strong.sp {
		display: inline !important;
	}
	td.sp, th.sp {
		display: table-cell !important;
	}
	.sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}
@media screen and (max-width: 370px) {
	.sps {
		display: block !important;
	}
	img.sps, spsan.sps, br.sps, em.sps, strong.sps {
		display: inline !important;
	}
	.sps_non {
		display: none !important;
	}
}

/* transition
============================================================================================================ */
@media screen and (min-width: 769px) {
	body.init a[href],
	body.init a[href]::before,
	body.init a[href]::after,
	body.init button,
	body.init button::before,
	body.init button::after,
	body.init .basic_trs,
	body.init .basic_trs::before,
	body.init .basic_trs::after,
	body.init .basic_trs *,
	body.init .basic_trs *::before,
	body.init .basic_trs *::after {
		-webkit-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
	body.init a svg {
		-webkit-transition: fill 0.2s ease-in-out;
		-o-transition: fill 0.2s ease-in-out;
		transition: fill 0.2s ease-in-out;
	}
}


/* font family
============================================================================================================ */
.ff_min {
	font-family: vdl-v7mincho, sans-serif;
	font-weight: 300;
	font-style: normal;
}
.ff_en {
font-family: baskerville-urw,serif;
font-weight: 400;
font-style: normal;
}
.clr_en {
color:#67A2B7;
}

/* font
============================================================================================================ */
.fwb {
	font-weight: bold;
}
.fwn {
	font-weight: normal;
}
.fwl {
	font-size:large;
}

/* color
============================================================================================================ */
.fc_red {
	color:#FF2222;
}
.fc_pink {
	color:#ED90B7;
}

/* display
============================================================================================================ */
.db {
	display: block;
}
.dib {
	display: inline-block;
}

/* position
============================================================================================================ */
.pos-r {
	position: relative;
}

/* object-fit
============================================================================================================ */
img.of {
	object-fit: cover;
}

/* hover
============================================================================================================ */
@media screen and (min-width: 769px), print {
	a.hv_wh,
	button.hv_wh,
	a .hv_wh,
	.hv_wh a {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		overflow: hidden;
	}
	a.hv_wh::after,
	button.hv_wh::after,
	a .hv_wh::after,
	.hv_wh a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background-color: rgba(255,255,255,0);
		z-index: 3;
	}
	body.init a.hv_wh::after,
	body.init button.hv_wh::after,
	body.init a .hv_wh::after,
	body.init .hv_wh a::after {
		-webkit-transition: background 0.2s;
		-o-transition: background 0.2s;
		transition: background 0.2s;
	}
	a[href].hv_wh:hover::after,
	button.hv_wh:hover::after,
	a[href]:hover .hv_wh::after,
	.hv_wh a[href]:hover::after {
		background-color: rgba(255,255,255,0.3);
	}
	a[href].hv_wh.a20:hover::after,
	button.hv_wh.a20:hover::after,
	a[href]:hover .hv_wh.a20::after,
	.hv_wh.a20 a[href]:hover::after {
		background-color: rgba(255,255,255,0.2);
	}
	a[href].hv_wh.a10:hover::after,
	button.hv_wh.a10:hover::after,
	a[href]:hover .hv_wh.a10::after,
	.hv_wh.a10 a[href]:hover::after {
		background-color: rgba(255,255,255,0.1);
	}

	body.init a[href] .hv_op {
		-webkit-transition: opacity 0.2s;
		-o-transition: opacity 0.2s;
		transition: opacity 0.2s;
	}
	a[href].hv_op:hover,
	a[href]:hover .hv_op,
	button.hv_op:hover,
	.hv_op a[href]:hover {
		opacity: 0.7;
	}
	a[href].hv_op.a20:hover,
	a[href]:hover .hv_op.a20,
	.hv_op.a20 a[href]:hover {
		opacity: 0.8;
	}
	a[href].hv_op.a10:hover,
	a[href]:hover .hv_op.a10,
	.hv_op.a10 a[href]:hover {
		opacity: 0.9;
	}
	a[href].hv_op.a50:hover,
	a[href]:hover .hv_op.a50,
	.hv_op.a50 a[href]:hover {
		opacity: 0.5;
	}
}

.hv_zoom {
	position: relative;
	display: block;
	overflow: hidden;
}
.hv_zoom > * {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: 50%;
	-webkit-background-size: cover;
	background-size: cover;
}
@media screen and (min-width: 769px), print {
	body.init a[href].hv_zoom > *,
	body.init a[href] .hv_zoom > * {
		-webkit-transition: -webkit-transform 0.6s, opacity .3s;
		-o-transition: -o-transform 0.6s, opacity .3s;
		transition: transform 0.6s, opacity .3s;
	}
	a[href]:hover .hv_zoom.s > * {
		-webkit-transform: scale(1.03);
		-ms-transform: scale(1.03);
		-o-transform: scale(1.03);
		transform: scale(1.03);
	}
	a[href]:hover.hv_zoom > *,
	a[href]:hover .hv_zoom > * {
		-webkit-transform: scale(1.05);
		-ms-transform: scale(1.05);
		-o-transform: scale(1.05);
		transform: scale(1.05);
	}
}


/* target
============================================================================================================ */
.target {
	display: block;
	position: relative;
	width: 1px;
	top: -65px;
}
.target.pt {
	top: -90px;
}
@media screen and (max-width: 768px) {
	.target {
		top: -50px;
	}
	.target.pt {
		top: -70px;
	}
}



/* w
============================================================================================================ */
.w {
	position: relative;
}
@media screen and (min-width: 769px), print {
	.w {
		width: 1024px;
		margin:0 auto;
	}

	.mw {
		min-width: 1024px;
	}
	.w-10 {
		width: 848px;
		margin: 0 auto;
	}
}



/* spパディング
============================================================================================================ */
@media screen and (max-width: 1024px) {
	.sp_pd {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	.sp_full {
		margin-left: -20px !important;
		margin-right: -20px !important;
	}
	.sp_full_l {
		margin-left: -20px !important;
	}
	.sp_full_r {
		margin-right: -20px !important;
	}
}
@media screen and (max-width: 370px) {
	.sp_pd {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	.sp_full {
		margin-left: -10px !important;
		margin-right: -10px !important;
	}
	.sp_full_l {
		padding-left: -10px !important;
	}
	.sp_full_r {
		padding-right: -10px !important;
	}
}



/* header 2021.04
============================================================================================================ */
.home #header_index {
	position: absolute;
	background: rgba(255, 255, 255, .9);
	width: 330px;
	height: auto;
  padding: 0 40px;
	top: 0;
	left: 0;
	padding-bottom:40px;
	z-index: 1000;
}
.home #header_index .logo {
  text-align: center;
  margin: 80px 0 10px;
}
.home #header_index h1 {
  text-align: center;
  font-size: 14px;
  margin-bottom: 20px;
}
.home #header_index address {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 16px;
  text-align: center;
}
.home #header_index .list-shortcut_btn {
  margin-top: 20px;
}

#header_index .webreserv_btn a {
  position: relative;
	display:block;
	padding: 10px;
	text-align:center;
	background:#357998;
	color:#fff;
	font-size:2.6rem;
	text-decoration:none;
}
#header_index .webreserv_btn a:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  width: 10px;
  height: 10px;
  border-color: #fff #fff transparent transparent;
  border-style: solid;
  border-width: 2px;
  transform: translateY(-50%) rotate(45deg);  
}

#header_index .shortcut_btn {
  margin-bottom: 10px;
}
#header_index .shortcut_btn a {
  position: relative;
  display: block;
  padding: 10px;
  padding-right: 20px;
  color: #FFFFFF;
  font-size: 22px;
  text-decoration: none;
  background-color: #67A2B7;
  overflow: hidden;
}
#header_index .shortcut_btn a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 300%;
  height: 100%;
  background: rgba(255, 255, 255, .5);
  transform: translate(-50%, -50%) rotate(345deg);
}
#header_index .shortcut_btn a:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  width: 10px;
  height: 10px;
  border-color: #fff #fff transparent transparent;
  border-style: solid;
  border-width: 2px;
  transform: translateY(-50%) rotate(45deg);  
}
#header_index .shortcut_btn a img {
  margin-right: .5em;
}
@media screen and (max-width: 1024px) {
#header_index .tel { display:none;}
}

@media screen and (max-width: 768px) {
  #header_index {
    margin-top: 43vh;
    background: #fff;
  }
  .home #header_index {
    height: auto;
    width: 100%;
  }
  .home #header_index .logo {
    margin-top: -10px;
  }
  .home #header_index .logo img {
    width: 60%;
  }
  #header_index .shortcut_btn a {
    font-size: 16px;
    text-align: center;
  }
  #header_index .shortcut_btn a img {
    width: 35px;
  }
  
  #header_index .webreserv_btn,
  #header_index .tel {
    position: fixed;
    top: 0;
    width: calc((100% - 60px) / 2);
    text-align: center;
    height: 50px;
    line-height: 50px;
    padding: 0;
    z-index: 100;
  }
  #header_index .webreserv_btn a,
  #header_index .tel a {
    padding: 0;
    height: 50px;
    line-height: 50px;
    font-size: 4vw;
  }
  #header_index .webreserv_btn {
    left: calc((100% - 60px) / 2);
  }
  #header_index .webreserv_btn:after {
    display: none;
  }
  #header_index .tel {
    display: block;
    left: 0;
    color: #fff;
    background: #ACCCD8;
  }
  #header_index .tel img {
    width: 80%;
  }
}

#header_sub .tel {
		position: absolute;
		top:15px;
		right:400px;
		text-align:right;
}
#header_sub .tel p {
	font-size:1.4rem;
}
#header_sub .webreserv_btn {
	position: absolute;
	top:0;
	right:85px;
	width:300px;
}
#header_sub .webreserv_btn a {
	display:block;
	padding:21px 0 21px;
	text-align:center;
	background:#357998;
	color:#fff;
	font-size:2.4rem;
	text-decoration:none;
}
#header_sub .webreserv_btn a:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  width: 10px;
  height: 10px;
  border-color: #fff #fff transparent transparent;
  border-style: solid;
  border-width: 2px;
  transform: translateY(-50%) rotate(45deg);  
}

#header_sub .webreserv_btn a:hover {
	opacity:0.8;
}
@media screen and (max-width: 768px) {
#header_sub .webreserv_btn,
#header_sub .tel {
    position: fixed;
    top: 0;
    width: calc((100% - 60px) / 2);
    text-align: center;
    height: 50px;
    line-height: 50px;
    padding: 0;
    z-index: 100;
  }
#header_sub .webreserv_btn a,
#header_subx .tel a {
    padding: 0;
    height: 50px;
    line-height: 50px;
    font-size: 4vw;
  }
#header_sub .webreserv_btn {
    left: calc((100% - 60px) / 2);
  }
#header_sub .webreserv_btn:after {
    display: none;
  }
#header_sub .tel {
    display: block;
    left: 0;
    color: #fff;
    background: #ACCCD8;
  }
#header_sub .tel img {
    width: 80%;
  }
}


/* PAGETITLE header 2021.04
============================================================================================================ */
.pageTitie-header {
	text-align: center;
	padding: 150px 0 90px;
	/*background: #ADA493;*/
	background: linear-gradient(115deg, #ADA493 0%, #ADA493 50%, #BCB4A4 50%, #BCB4A4 100%);
	color:#fff;
}
.pageTitie-header p {
	font-size:28px;
	font-size: 2.8rem;
	margin-bottom: 10px;
}
.pageTitie-header h2 {
	font-size:12px;
	font-size: 1.2rem;
	font-weight: 100;
	font-weight: normal;
}
.pageTitie-header img {
	width: 62px;
}


/* SUB title
============================================================================================================ */
.SubTitle {
	text-align: center;
	padding: 80px 0 60px;
}
.ff_mrs {
font-family: mrs-eaves-roman-all-petite-c, sans-serif;
font-weight: 400;
font-style: normal;
}
.triangle{
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 7px solid #ADA493;
  }
  .SubTitle h2 {
	  font-size:42px;
	  font-size:4.2rem;
	  line-height: 1.0;
	  color:#080808;
  }
  .SubTitle p {
	font-size:22px;
	font-size:2.2rem;
	color:#ADA493;
  }
@media screen and (max-width: 768px) {
	.SubTitle h2 {
		font-size:30px;
		font-size:2.4rem;
		line-height:1.3;
		margin-bottom:-5px;
	}
}


/* menu 
-----------------------------------*/
.navigation {
	padding:10px;
	background: #0B0B0B;
	position: fixed;
	right: 0;
	top: 0;
	height: 85px;
	width: 85px;
	z-index: 999;
}
.menu{
	height: 20px;
	position: absolute;
	right: 27px;
	top: 25px;
	width: 30px;
	z-index: 1000;
}
.menu__line{
    background: #fff;
    display: block;
    height: 1px;
    position: absolute;
    transition:transform .3s;
    width: 100%;
}
.menu__line--top{
    top: 2px;
}
.menu__line--center{
  display: none;
    top: 9px;
}
.menu__line--bottom{
    bottom: 3px;
}
.menu__line--top.active{
    top: 9px;
    transform: rotate(45deg);
	background: #fff;
}
.menu__line--center.active{
    transform:scaleX(0);
}
.menu__line--bottom.active{
    bottom: 10px;
    transform: rotate(135deg);
	background: #fff;
}

@media screen and (max-width: 767px) {
.navigation {
	background: #0B0B0B;
	position: fixed;
	right: 0px;
	top: 0px;
	height: 50px;
	width: 60px;
	z-index: 999;
}
.menu{
	height: 20px;
	position: fixed;
	right: 15px;
	top: 15px;
	width: 30px;
	z-index: 1000;
}

}

/*gnav*/
.gnav{
  background: rgba(86,166,181,0.9);
  /*display: none;*/
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 450px;
  overflow-y: auto;
  z-index: 98;
  transform: scaleX(0);
  transform-origin: top right;
  transition: .3s transform ease-in-out;
  line-height: 1.2;
}
.gnav.active{
  transform: scaleX(1);
}
@media screen and (max-width: 768px) {
	.gnav{
		overflow-y: auto; 
	}
}

.gnav__wrap{
  position: absolute;
	left:0%;
	top:12%;
  width: 100%;
}
.gnav__wrap p {
	color:#fff;
	font-size:20px;
	font-weight: bold;
}
.gnav__wrap p::before {
	content: '−';
	margin-right: 5px;
	font-weight: normal;
}
.gnav__menu {
  padding: 0 10%;
}

.gnav__menu__item{
  margin-bottom: 2em;
}
.gnav__menu_inner .gnav__menu__item{
  margin-bottom: 0;
}
.gnav__menu__item .menu_ttl,
.gnav__menu__item a{
	color: #fff;
	display: block;
  font-size: 18px;
	text-decoration: none;
  transition: .5s;
	padding: 0px 25px;
}
.gnav__menu__item a:hover{
    color: #666;
}

.gnav__menu__item .menu_ttl{
	padding: 5px 15px;
  color: #0B2F36;
  border-style: solid;
  border-width: 0 0 1px 1px;
  border-color: #0B2F36;
}
.hero{
    background:url(images/hero.jpg) no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    height: 100vh;
}

/* 矢印 > */
.gnav__menu__item .arrow{
	position: relative;
	display: inline-block;
  height: 1.2em;
  }
  
  .gnav__menu__item .arrow::before{
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	left: 10px;
	margin-top: 20px;
  }

@media screen and (max-width: 767px) {

	.gnav__menu__item a{
		font-size: 16px;
		padding: 0px 0px 0px 25px;
	}
	.gnav__menu__item .arrow::before{
		margin-top: 17px;
	  }
	  .gnav__wrap p {
		font-size:18px;
	}
}

/* footer
============================================================================================================ */
footer {

}

.footer_btn {
	position:relative;
	background:#003A51;
	color:#fff;
	padding:110px 0 50px;
  overflow: hidden;
}
.footer_btn:after {
	position:absolute;
	content:'';
	height:0;
	width:0;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 50px 50vw 0 50vw;
  border-color: #fff transparent transparent transparent;
  transform: translateX(-50%);
}
.footer_btn h2 {
	font-size:28px;
}
.footer_btn p {
	text-align:center;
}
.footer_btn p span {
	color:#FFF5A5;
	font-size:3.6rem;
	line-height:1.3;
}
.footer_btn_flex {
	display:flex;
	justify-content:space-around;
	width:80%;
	margin:30px auto 15px;
}
.footer_btn_flex div {
	width:48%;
	text-align:center;
}
.footer_btn_flex a {
	display:block;
	padding:10px 0;
	background:#76B8BE;
	color:#fff;
	font-size:2.2rem;
	text-decoration:none;
}
.footer_btn_flex a:hover {
	background:#356171;
}
.footer_inner {
	background:#012534;
	padding:40px 0px;
		color:#fff;
}
.footer_inner address{
	margin:20px 0 10px;
	font-size:1.6rem;
}
.footer_inner ul {
	color:#fff;	
	font-size:1.6rem;
}
.footer_inner ul li:before {
	content:'-';
	margin-right:5px;
}

.copy {
	padding: 30px 0 50px;
	text-align: center;
	font-size: 12px;
}

@media screen and (max-width: 768px) {
.footer_btn_flex {
	display:inherit;
	width:100%;
	margin:20px auto 15px;
}
.footer_btn_flex div {
	width:100%;
	margin-bottom:10px;
	text-align:center;
}
.footer_btn p span {
	color:#FFF5A5;
	font-size:2.6rem;
	line-height:1.3;
}
}
@media screen and (max-width: 767px) {
.footer_btn:after {
	position:absolute;
	content:'';
	height:0;
	width:0;
  top: 0;
  left: 50%;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  transform: translateX(-50%);
}
}


/* footer Nav
------------------------------------------------------------- */
.footer_nav {
	background:#081617;
		padding:20px 10px 15px;
}
.footer_nav ul {
	display:flex;
	flex-flow:row wrap;
	margin-bottom:5px;

}
.footer_nav ul li a{
	display:block;
	margin-right:20px;
	font-size:1.4rem;
	color:#76B8BE;
	text-decoration:none;
}
.footer_nav ul li a:hover {
	color:#666;
}
@media screen and (max-width: 767px) {
	.footer_nav {
	display:none;
}
}


/* ページトップ
------------------------------------------------------------- */
a.pageTop {
	width:100%;
	background: #080808;
	padding: 30px 0;
	display: block;
	text-align: center;
}
a.pageTop img {
	width: 70px;
}


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

	パーツ

=================================================================================================================== */
/* margin_block
============================================================================================================ */
.mb_block {
	margin-bottom: 120px;
}
.mbm_block {
	margin-bottom: 80px;
}
.mbs_block {
	margin-bottom: 50px;
}
.mts_block {
	margin-top: 50px;
}
@media screen and (max-width: 768px) {
	.mb_block {
		margin-bottom: 60px;
	}
	.mbm_block {
		margin-bottom: 40px;
	}
	.mbs_block {
		margin-bottom: 30px;
	}
	.mts_block {
		margin-top: 30px;
	}
}

/* bg_blue_block
============================================================================================================ */
.bg_blue_block {
	position: relative;
	padding: 90px 0 120px;
}
.bg_blue_block::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-color: #f2f6fa;
	-webkit-transform: skewY(5deg);
	-ms-transform: skewY(5deg);
	-o-transform: skewY(5deg);
	transform: skewY(3deg);
	z-index: -1;
}
@media screen and (max-width: 768px) {
	.bg_blue_block {
		padding: 50px 0 60px;
	}
}


/* column2
============================================================================================================ */
.column2 {
}
@media screen and (min-width: 769px), print {
	.column2 {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.column2 > * {
		width: calc(50% - 12px);
	}
	.column2 > *:nth-child(2) ~ * {
		margin-top: 24px;
	}
}
@media screen and (max-width: 768px) {
	.column2 > * + * {
		margin-top: 20px;
	}
}

.column2_li {
}
@media screen and (min-width: 769px), print {
	.column2_li {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.column2_li > * {
		width: calc(50% - 12px);
	}
	.column2_li > *:nth-child(2) ~ * {
		margin-top: .3em;
	}
}
@media screen and (max-width: 768px) {
	.column2_li > * + * {
		margin-top: .3em;
	}
}

.column_auto_li {
}
@media screen and (min-width: 769px), print {
	.column_auto_li {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: -2em;
	}
	.column_auto_li > * {
		margin-left: 2em;
		margin-bottom: .3em;
	}
}
@media screen and (max-width: 768px) {
	.column_auto_li > * + * {
		margin-top: .3em;
	}
}

/* column3
============================================================================================================ */
.column3 {
}
@media screen and (min-width: 769px), print {
	.column3 {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;	
	}
	.column3 > * {
		width: calc( 33.33333% - 10px );
	}
}
@media screen and (max-width: 768px) {
	.column3 > * + * {
		margin-top: 20px;
	}
}

/* para_section (paragraph section)
============================================================================================================ */
.para_section > * + * {
	margin-top: 1.5em;
}


/* box_btn
============================================================================================================ */
.btn_r {
    float: right;
	margin-bottom: 50px;
}
.btn_r + * {
    clear: both;;
}

button.box_btn,
a.box_btn,
a .box_btn {
	position: relative;
	display: inline-block;
	width: 280px;
	padding: 9px 10px 9px 0;
  border: #363636 solid 1px;
	background-color: #fff;
	text-decoration: none;
	text-align: center;
	color: #1D1D1D;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.5;
}
button.box_btn:before,
a.box_btn:before,
a .box_btn:before {
  content: '';
  position: absolute;
  bottom: -3px;
  right: -3px;
  display: block;
  width: 100%;
  height: 100%;
  border-style: solid;
  border-width: 1px;
  border-color: transparent #363636 #363636 transparent;
}
button.box_btn {
	display: inline-block;
}

.box_btn .arrow{
	position: relative;
	display: inline-block;
  vertical-align: middle;
  height: 1em;
}
  
.box_btn .arrow::before{
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-top: solid 2px #363636;
	border-right: solid 2px #363636;
	-ms-transform: translateY(-50%) rotate(45deg);
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
	left: 10px;
	top: 50%;
}
button.box_btn2,
a.box_btn2,
a .box_btn2 {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: #1D1D1D;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.5;
}

button.box_btn2 {
	display: inline-block;
}

.box_btn2 .arrow{
	position: relative;
	display: inline-block;
  vertical-align: middle;
  height: 1em;
}
  
.box_btn2 .arrow::before{
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-top: solid 2px #363636;
	border-right: solid 2px #363636;
	-ms-transform: translateY(-50%) rotate(45deg);
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
	left: 10px;
	top: 50%;
}

/*.box_btn.dark {
	background-color: #080808;
	color: #fff;
}
.box_btn.dark::before {
	border-color: #fff;
}*/

@media screen and (min-width: 769px), print {
	body.init .box_btn,
	body.init .box_btn::before {
		-webkit-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
/*	button.box_btn:hover,
	a[href].box_btn:hover,
	a[href]:hover .box_btn {
		background-color: #67A2B7;
		color: #fff;
	}
	button.box_btn:hover::before,
	a[href].box_btn:hover::before,
	a[href]:hover .box_btn::before {
		border-color: #fff;
	}
	.box_btn.dark:hover,
	a:hover .box_btn.dark {
		background-color: #fff;
		color: #080808;
	}
	.box_btn.dark:hover::before,
	a:hover .box_btn.dark::before {
		border-color: #080808;
	}*/
}
@media screen and (max-width: 768px) {
	button.box_btn,
	a.box_btn,
	a .box_btn {
		width: 220px;
		font-size: 1.4rem;
	}
	.box_btn::before {
		right: 20px;
		width: 8px;
		height: 8px;
		margin-top: -4px;
	}
}

.btn_group {
}
@media screen and (min-width: 769px), print {
	.btn_group {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
	}
	.btn_group li {
		padding: 0 12px;
	}
}
@media screen and (max-width: 768px) {
	.btn_group li + li {
		margin-top: 12px;
	}
}


/* ul / ol
============================================================================================================ */
.dot_li > li {
	position: relative;
	padding-left: 1em;
}
.dot_li > li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.circle_li > li {
	position: relative;
	padding-left: 1.1em;
}
.circle_li > li::before {
	content: "●";
	position: absolute;
	top: 0;
	left: 0;
	color: #005f8b;
	-webkit-transform-origin: 0;
	-moz-transform-origin: 0;
	-ms-transform-origin: 0;
	-o-transform-origin: 0;
	transform-origin: 0;
	-webkit-transform: scale(0.8);
	-ms-transform: scale(0.8);
	-o-transform: scale(0.8);
	transform: scale(0.8);
}

.parentheses_li > li {
	position: relative;
	padding-left: 2.8em;
}
.parentheses_li > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.parentheses_li_h > li {
	position: relative;
	padding-left: 1.6em;
}
.parentheses_li_h > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}
.parentheses_li_hh > li {
	position: relative;
	padding-left: 2.2em;
}
.parentheses_li_hh > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.point_li > li {
	position: relative;
	padding-left: 1.2em;
}
.point_li > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.square_li > li {
	position: relative;
	padding-left: 0.8em;
}
.square_li > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .8em;
	width: 5px;
	height: 5px;
	background-color: #14143c;
}
@media screen and (max-width: 768px) {
	.square_li > li::before {
		top: 0.6em;
	}
}

.num_li {
	margin-left: 1.8em;
	list-style: decimal;
}
.alphabet_li {
	margin-left: 1.8em;
	list-style: lower-latin;
}

.mt_li > li + li {
	margin-top: 0.8em;
}
@media screen and (max-width: 768px) {
	.sp_mt_li > li + li {
		margin-top: 0.8em;
	}
}

.inline_li > li {
	display: inline-block;
	margin-right: 0.3em;
}


/* .wp-pagenavi
============================================================================================================ */
.wp-pagenavi {
	position: relative;
	margin-top: 60px;
	text-align: center;
	text-align: center;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	color: #1c1c1c;
}
.wp-pagenavi > * {
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	margin: 3px;
	background-color: #fff;
	border: 1px solid #1c1c1c;
	color: #1c1c1c;
	line-height: 38px;
	text-decoration: none;
}
.wp-pagenavi a {
	color: #1c1c1c;
	text-decoration: none;
}
.wp-pagenavi .extend {
	width: auto;
	border-width: 0;
}
.wp-pagenavi .current {
	background-color: #0f1326;
	border-color: #0f1326;
	color: #fff;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	width: auto;
	padding: 0 20px;
}
@media screen and (min-width: 769px), print {
	.wp-pagenavi a:hover {
		background-color: #0f1326;
		border-color: #0f1326;
		color: #fff;
	}
}
@media screen and (max-width: 768px) {
	.wp-pagenavi {
		margin-top: 40px;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.wp-pagenavi > * {
		width: 32px;
		height: 32px;
		margin: 2px;
		line-height: 30px;
	}
	.wp-pagenavi .extend {
		display: none;
	}
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink {
		padding: 0 8px;
	}
}

/* bg
============================================================================================================ */


/* font size
============================================================================================================ */
.fz20 {
	font-size: 2rem;
	line-height: 1.8;
}
@media screen and (max-width: 768px) {
	.fz20 {
		font-size: 1.5rem;
	}
}

/* box_block
============================================================================================================ */
.box_block {
	position: relative;
	padding: 30px;
}
@media screen and (min-width: 769px), print {
	.box_block.wide_padding {
		padding-left: 70px;
		padding-right: 70px;
	}
}
@media screen and (max-width: 768px) {
	.box_block {
		padding: 20px;
	}
}

/* border_block
============================================================================================================ */
.border_block {
	border: 1px dotted #77C7BF;
	margin-bottom:20px;
	padding:40px 40px 20px;
	background:#fff;
}
@media screen and (min-width: 769px), print {
}
@media screen and (max-width: 768px) {
.border_block {
	border: 1px dotted #77C7BF;
	margin-bottom:20px;
	padding:40px 25px 20px;
	background:#fff;
}
}


/* ph_column
============================================================================================================ */
@media screen and (min-width: 769px), print {
	.ph_column::after{
		content: "";
		display: table;
		clear: both;
	}

	.ph_column .ph_right {
		float: right;
	}
	.ph_column .ph_left {
		float: left;
	}
	.ph_column .ph img {
		max-width: 100%;
		height: auto;
	}

	.ph_column .ph {
		width: 420px;
	}
		.ph_column img.ph380 {
		width: 340px;
	}
	.ph_column .ph_right ~ * {
		margin-right: 460px;
	}
	.ph_column .ph_left ~ * {
		margin-left: 460px;
	}

	.ph_column .ph.ph300 {
		width: 300px;
	}
	.ph_column .ph_right.ph300 ~ * {
		margin-right: 340px;
	}
	.ph_column .ph_left.ph300 ~ * {
		margin-left: 340px;
	}

	.ph_column .ph.ph240 {
		width: 240px;
	}
	.ph_column .ph_right.ph240 ~ * {
		margin-right: 280px;
	}
	.ph_column .ph_left.ph240 ~ * {
		margin-left: 280px;
	}
}
@media screen and (max-width: 768px) {
	.ph_column .ph {
		margin-bottom: 12px;
		text-align: center;
	}
	.ph_column img.ph380 {
		width: 100%;
}
}


/* ph_column3
============================================================================================================ */
.ph_column3 li {
	text-align: center;
	color: #001F33;
	font-size: 2.2rem;
	line-height: 1.7;
}
.ph_column3 li span {
	display: block;
	margin-top: 10px;
}
@media screen and (min-width: 769px), print {
	.ph_column3 {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: -17px;
	}
	.ph_column3 li {
		width: 330px;
		margin-left: 17px;
	}
	.ph_column3 li:nth-child(3) ~ * {
		margin-top: 30px;
	}
}
@media screen and (max-width: 768px) {
	.ph_column3 {
		width: 270px;
		margin: 30px auto 0;
	}
	.ph_column3 li {
		margin-top: 20px;
		font-size: 1.4rem;
	}
}

/* dgzi
============================================================================================================ */
.dgzi {
	padding: 30px 50px;
	background-color: #0f1326;
	color: #fff;
}
.dgzi .title {
	position: relative;
	margin-bottom: 20px;
	color: #FFE4D8;
	font-weight: bold;
	font-size: 3.2rem;
	line-height: 1.3;
}
.dgzi .title span {
	display: block;
}
.dgzi .list {
	margin-bottom: 15px;
	padding-bottom: 20px;
	border-bottom: 1px solid #fff;
}
.dgzi .list li {
	position: relative;
	padding-left: 1em;
	line-height: 1.4;
}
.dgzi .list li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (min-width: 769px), print {
	.dgzi .title {
		padding-left: 145px;
		white-space: nowrap;
	}
	.dgzi .title::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		margin-top: -35px;
		width: 130px;
		height: 70px;
		background: url(../img/dgzi_logo.png) no-repeat;
		-webkit-background-size: 130px;
		background-size: 130px;
	}
	.dgzi .title span {
		padding-left: 55px;
		background: url(../img/germany.png) no-repeat 0;
		-webkit-background-size: 47px;
		background-size: 47px;
		font-size: 2.8rem;
	}
	.dgzi .list {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}
	.dgzi .list li + li {
		margin-top: 0.4em;
	}
}
@media screen and (max-width: 768px) {
	.dgzi {
		padding: 30px 0;
		background-color: #0f1326;
		color: #fff;
	}
	.dgzi::before {
		content: "";
		display: block;
		width: 130px;
		height: 70px;
		margin: 0 auto 15px;
		background: url(../img/dgzi_logo.png) no-repeat;
		-webkit-background-size: 130px;
		background-size: 130px;
	}
	.dgzi .title {
		display: table;
		margin: 0 auto 20px;
		font-size: 1.8rem;
		padding-left: 70px;
		background: url(../img/germany.png) no-repeat 0;
		-webkit-background-size: 60px;
		background-size: 60px;
	}
	.dgzi .list,
	.dgzi .list ~ * {
		margin-right: 8vw;
		margin-left: 8vw;
	}
	.dgzi .list li {
		margin-top: 0.6em;
	}
}

.dgzi_ph_block {
	position: relative;
}
.dgzi_ph_block .ph {
	background-position: 50%;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
@media screen and (min-width: 769px), print {
	.dgzi_ph_block {
		padding-top: 240px;
		min-height: 688px;
	}
	.dgzi_ph_block .dgzi_wrap {
		position: relative;
		max-width: 1400px;
		margin-left: auto;
		margin-right: auto;
		z-index: 3;
	}
	.dgzi_ph_block .dgzi {
		width: 740px;
	}
	.dgzi_ph_block .ph {
		position: absolute;
		right: 0;
		top: 0;
		height: 688px;
		max-width: 1280px;
		width: 75%;
	}
}
@media screen and (max-width: 768px) {
	.dgzi_ph_block .ph {
		padding-top: 70%;
	}
}


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

	トップページ

=================================================================================================================== */
.tit_h3 {
	font-size:34px;
	font-size:3.4rem;
	line-height: 1.5;
	color:#080808;
	position: relative;
	padding-left: 30px;
	margin-bottom: 20px;
}
.tit_h3::before {
	position: absolute;
	content:'';
	height: 1px;
	width:18px;
	background: #080808;
	top:28px;
	left:0;
}
.tit_h3_w {
	font-size:34px;
	line-height: 1.5;
	color:#fff;
	position: relative;
	padding-left: 30px;
	margin-bottom: 20px;
}
.tit_h3_w::before {
	position: absolute;
	content:'';
	height: 1px;
	width:18px;
	background: #fff;
	top:28px;
	left:0;
}

.title_en {
	font-family: linotype-didot,serif;
	font-weight: 400;
	font-style: normal;
	font-size: 38px;
	color:#080808;
	position: relative;
} 
.title_en:before {
	content: '';
	position:absolute;
	width:15px;
	height: 1px;
	background: #080808;
	top:67px;
	left:50%;
}
.title_en:after {
	content: '';
	position:absolute;
	width:15px;
	height: 1px;
	background: #080808;
	top:67px;
	right:50%;
}
.ind_title {
  margin-top: 7em;
  margin-bottom: 2em;
}
.ind_title h2 span {
  display: inline-block;
  vertical-align: middle;
}
.ind_title h2 span.title_main {
  font-size: 4.0em;
  font-weight: normal;
}
.ind_title h2 span.title_sub {
  font-size: 1.7em;
  color: #56B5AC;
  margin-left: 1.2em;
}
@media screen and (max-width: 768px) {
  .ind_title {
  }
  .ind_title h2 {
    line-height: 1.3;
  }
  .ind_title h2 span.title_main {
    font-size: 4.0em;
	   font-weight: normal;
  }
  .ind_title h2 span.title_sub {
    margin-left: 0;
    width: 100%;
  }
}

.ind_title2 {
  margin-top: 7em;
  margin-bottom: 3em;
}
.ind_title2 h2 {
  font-size: 4.0em;
  color: #CEC2A0;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .ind_title2 h2 {
    font-size: 2.5em;
  }
}


.ind_title_f {
	position:relative;
	color:#67A2B7;
}
.ind_title_f p {
	font-size:9.8rem;
	line-height:1;
	position:absolute;
	top:0;
	left:0;
}
.ind_title_f h2 span{
	position:absolute;
	background:#67A2B7;
	color:#fff;
	font-size:1.4rem;
	padding:4px 40px;
	top:58px;
	left:46%;
}
.fnt16 {
	font-size:1.6rem;
}
@media screen and (max-width: 1024px) {
	.ind_title_f h2 span{
	left:49%;
}
}
@media screen and (max-width: 767px) {
.ind_title {
}
.ind_title h2 span{
}
.ind_title_f {
	position:relative;
	color:#67A2B7;
}
.ind_title_f p {
	font-size:5.0rem;
	position:static;
	margin-bottom:5px;
	
}
.ind_title_f h2 span{
	position:static;
	background:#67A2B7;
	color:#fff;
	font-size:1.4rem;
	padding:4px 20px;
}

.tit_h3 {
	font-size:32px;
	font-size:3.2rem;
	line-height: 1.3;
	color:#080808;
	position: relative;
	padding-left: 30px;
	margin-bottom: 20px;
}
.tit_h3::before {
	top:18px;
}
.tit_h3_w {
	font-size:30px;
	font-size:3rem;
	line-height: 1.3;
	color:#fff;
	position: relative;
	padding-left: 30px;
	margin-bottom: 20px;
}
	.tit_h3_w::before {
	top:18px;
}
	
}
/* main
-----------------------------------------------*/
main {
/*	background: linear-gradient(90deg, #F0F6F7 0%, #F0F6F7 8%, #fff 8%, #fff 100%);*/
}
@media screen and (max-width: 767px) {
main {
/*	background: linear-gradient(90deg, #F0F6F7 0%, #F0F6F7 11%, #fff 11%, #fff 100%);*/
}
}

/* メインビジュアル
-----------------------------------------------*/

.front-visual {
  position: relative;
  max-height: 100vh;
  overflow: hidden;
}
.front-visual:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  max-height: 100vh;
  background-color: #EDF4F6;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 75%);
}
.front-visual-inner {
  position: relative;
  max-height: 100vh;
  clip-path: polygon(0 0, 100% 0, 100% 85%, 0% 100%);  
}
.front-visual .slide_img img {
  width: 100%;
}
.front-visual .fv-txt {
	position:absolute;
	right:130px;
	top:260px;
	z-index:10;
}
.swiper-slide {
	padding-top:0;
}

@media screen and (max-width: 768px) {
  .front-visual {
    max-height: 70vh;
    margin-bottom: 45vh;
	  margin-top:50px;
  }
  .front-visual-inner {
    max-height: 70vh;
  }
	.front-visual .fv-txt {
	position:absolute;
	right:30px;
	top:30px;
		width:15%;
	z-index:10;
}
}

.flex_popicon {
	display:flex;
	flex-flow:row wrap;
	justify-content:space-between;
}
.flex_popicon div {
	width : -webkit-calc(50% - 5px) ;
	width:calc(50% - 5px);
	background:#77B5C1;
	text-align:center;
	padding:12px 0;
	margin-bottom:10px;
	border:3px solid #DCEFF5;
	color:#fff;
	font-size:2.0rem;
	line-height:1.3;
	align-items:center;
}
@media screen and (max-width: 768px) {
	.flex_popicon {
	display:flex;
		flex-flow:row wrap;
	margin-top:30px;
	justify-content:start;
}
	.flex_popicon div {
	width : -webkit-calc(50%) ;
	width:calc(50%);
	background:#77B5C1;
	text-align:center;
	padding:12px 20px;
		font-size:1.8rem;
	border:3px solid #DCEFF5;
}
}

/* 理念
-----------------------------------------------*/
.index_section_pression p {
  margin-bottom: 1em;
  font-size: 16px;
}


/* 専門
-----------------------------------------------*/
.index_section_professional {
  background: url("../img/index/txt-professional.png") no-repeat top left;
}
@media screen and (max-width: 768px) {
  .index_section_professional {
    background: none;
  }
}
.index_section_professional p {
  margin-bottom: 1em;
  font-size: 16px;
}


.index_section_professional .list-bnr {
  margin-bottom: 2em;
}
.index_section_professional .list-bnr dt {
  font-size: 4.0em;
  color: #CEC2A0;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .index_section_professional .list-bnr dt {
    font-size: 2.4em;
	  line-height:1.4;
  }  
  .index_section_professional .list-bnr dd img {
    width: 45%;
  }  
}


/* インプラント */

.index_section_professional .bg-implant {
  position: relative;
  overflow: hidden;
}
.index_section_professional .bg-implant .bg-implant-img {
  width: 100%;
}
.index_section_professional .bg-implant .bg-implant-img img {
  max-width: none !important;
  clip-path: polygon(0 0, 100% 22%, 100% 100%, 0% 100%);
}
.index_section_professional .bg-implant .bg-implant-img:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: #F6F4ED;
  clip-path: polygon(0 25%, 100% 0, 100% 100%, 0% 100%);; 
}
.bg-implant li, .bg-orthodontics li {
	margin-bottom:4px;
	list-style-type:square;
	font-size:1.6rem;
	margin-left:1em;
	border-bottom:1px dotted #ccc;
	padding-bottom:2px;
}
.bg-implant li a, .bg-orthodontics li a {
	text-decoration:none;
}
.bg-implant li a:hover, .bg-orthodontics li a:hover {
  color: #CEC2A0;
}
@media screen and (max-width: 768px) {
  .index_section_professional .bg-implant {
  }
  .index_section_professional .bg-implant .bg-implant-img {
    position: relative;
    
  }
  .index_section_professional .bg-implant .bg-implant-img:after {
    clip-path: polygon(0 10%, 100% 0, 100% 100%, 0% 100%); 
  }
  .index_section_professional .bg-implant .bg-implant-img img {
    height: 300px;
  }
}
@media screen and (min-width: 769px) {
  .index_section_professional .bg-implant {
    height: 100%;
    min-height: 350px;
  }
  .index_section_professional .bg-implant .bg-implant-img {
    position: absolute;
    top: 0;
    left: 0;
  }
}

.block_white {
  padding: 30px;
  background: #fff;
  box-shadow: 0 0 12px rgba(0,0,0,.15);
}
.block_white .block_title {
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: #707070 solid 1px;
  line-height: 1.2;
}
.block_white .block_title .title_main {
  font-size: 3.0em;
	font-weight:normal;
}
.block_white .block_title .title_sub {
  font-size: 1.8em;
}
@media screen and (max-width: 768px) {
  .block_white .block_title .title_main {
    font-size: 2.5em;
  }
  .block_white .block_title .title_sub {
    font-size: 1.0em;
  }
}



.index_section_professional .bg-implant .wrap-block_white {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
}

.index_section_professional .bg-implant .wrap-block_white .block_white {
  margin: 20px;
	width:50%;
}
@media screen and (max-width: 768px) {
  .index_section_professional .bg-implant .wrap-block_white  {
    flex-direction: column;
    margin: 20px;
    margin-top: -50px;
  }
  .index_section_professional .bg-implant .wrap-block_white .block_white {
    margin: 10px 0;
	  	width:100%;
  }
}
@media screen and (min-width: 769px) {
  .index_section_professional .bg-implant .wrap-block_white {
    margin-left: 10%;
    margin-bottom: 20px;
  }
  .index_section_professional .bg-implant .wrap-block_white .block_white:nth-child(2) {
    margin-top: 80px;
  }
}

.btn-arw {
  position: relative;
  display: inline-block;
  text-decoration: none !important;
  font-size: 16px;
  padding: 5px;
  z-index: 1;
}
.btn-arw:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 30px;
  height: 100%;
  background: #D7ECF2;
  z-index: -1;
  transition: .2s all ease-in-out !important;
  transform: rotateY(0deg);
}
.btn-arw:hover:before {
  background: #ece8d6;
  transform: rotateY(180deg);
}
.btn-arw img {
  margin-left: .5em;
}


.block_accomplishment {
  padding: 20px;
  color: #C6B689;
  background: #081617;
}
.block_accomplishment dl {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: baseline;
  font-size: 4.0em;
}
.block_accomplishment dl:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: #707070;
  z-index: 1;
}
.block_accomplishment dl dt,
.block_accomplishment dl dd {
  position: relative;
  padding: 10px;
  background: #081617;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .block_accomplishment dl {
    flex-direction: column;
    text-align: center;
    font-size: 3.0em;
  }
  .block_accomplishment dl:before {
    display: none;
  }
  .block_accomplishment dl dt,
  .block_accomplishment dl dd {
    width: 100%;
	  line-height:1.3;
  }
  .block_accomplishment dl dd img {
    height: 80px;
  }
}
@media screen and (min-width: 769px) {
  .block_accomplishment dl dt {
    padding-right: 30px;
  }
  .block_accomplishment dl dd {
    padding-left: 30px;
  }
}


/* 精密診療 */
	
/* 矯正（インビザライン） */

/*マウスピース
------------------------------------------*/
.index_section_orthodontics {
	padding-top:60px;
}

.index_section_orthodontics .bg-orthodontics {
  position: relative;
  /*padding: 5px 0;*/
}

.index_section_orthodontics .bg-orthodontics .bg-orthodontics-img {
  width: 100%;
    direction: rtl;
  z-index: -1;
}
.index_section_orthodontics .bg-orthodontics .bg-orthodontics-img img {
  max-width: none !important;
  clip-path: polygon(0 25%, 100% 0, 100% 100%, 0% 100%);
}
.index_section_orthodontics .bg-orthodontics .bg-orthodontics-img:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: #EDF4F6;
  clip-path: polygon(0 0, 100% 22%, 100% 100%, 0% 100%);
}
.orthodontics-bnr {
  margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
  .index_section_orthodontics .bg-orthodontics .bg-orthodontics-img {
  }
  .index_section_orthodontics .bg-orthodontics .bg-orthodontics-img {
    position: relative;
  }
  .index_section_orthodontics .bg-orthodontics .bg-orthodontics-img img {
    height: 300px;
  }
  
  .orthodontics-bnr img {
    width: 40%;
  }
}
@media screen and (min-width: 769px) {
  .index_section_orthodontics .bg-orthodontics {
    height: 100%;
    min-height: 350px;
  }
  .index_section_orthodontics .bg-orthodontics .bg-orthodontics-img {
    position: absolute;
    top: 5%;
    left: 0;
  }
}

.index_section_orthodontics .wrap-block_white {
  position: relative;
  margin-right: 15%;
  padding: 3% 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
}
.index_section_orthodontics .wrap-block_white .block_white {
  margin: 20px;
	width:50%;
}
@media screen and (max-width: 768px) {
  .index_section_orthodontics .wrap-block_white {
    flex-direction: column;
    margin: 20px;
    margin-top: -50px;
    margin-bottom: -50px;
  }
  .index_section_orthodontics .wrap-block_white .block_white {
    margin: 10px 0;
  }
}
@media screen and (min-width: 769px) {
  .index_section_orthodontics .wrap-block_white .block_white:nth-child(2) {
    margin-top: 80px;
  }
}


.wrap-menu_invisalign h3 {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  padding: 20px;
  color: #fff;
  font-size: 2vw;
  line-height: 0.3;
  z-index: 2;
}
.wrap-menu_invisalign h3 .title_main img {
  height: 30px;
}
.wrap-menu_invisalign h3 .title_sub {
  font-size: 1.4rem;
	font-weight:normal;
}
.wrap-menu_invisalign .mask {
	width:			100%;
	height:			100%;
	position:		absolute;
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);
	-webkit-transition:	all 0.6s ease;
	transition:		all 0.6s ease;
	color:#fff;
	font-size:1.6rem;
		padding:0 80px;	
}
.wrap-menu_invisalign a:hover .mask {
	opacity:1;	/* マスクを表示する */
	padding:30% 80px 0;	/* ホバーで下にずらす */
}

@media screen and (max-width: 767px) {
.wrap-menu_invisalign h3 {
  line-height: 1;
}
.wrap-menu_invisalign h3 .title_sub {
  font-size: 1.2rem;
	font-weight:normal;
}
	.wrap-menu_invisalign .mask {
	width:			100%;
	height:			100%;
	position:		absolute;
	top:			0;
	left:			0;
	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.4);
	-webkit-transition:	all 0.6s ease;
	transition:		all 0.6s ease;
	color:#fff;
	font-size:1.4rem;
		padding:0 20px;	
}
.wrap-menu_invisalign a:hover .mask {
	opacity:1;	/* マスクを表示する */
	padding:45% 20px 0;	/* ホバーで下にずらす */
}
}

/*診療科目
------------------------------------------*/
.list-subjects {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 3em;
}
.list-subjects li {
  width: 18%;
  margin: 1%;
  font-size: 2.0em;
  line-height: 1.2;
}
.list-subjects li a {
  position: relative;
  display: block;
  padding: 20px 0;
  padding-bottom: 30px;
  height: 100%;
  text-align: center;
  color: #fff;
  background-color: #67A2B7;
  text-decoration: none;
  overflow: hidden;
}
.list-subjects li a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 300%;
  height: 100%;
  background: rgba(255, 255, 255, .5);
  transform: translate(-50%, -50%) rotate(345deg);
  transition: .2s all ease-in-out !important;
}
.list-subjects li a:hover:before {
  transform: translate(-20%, -50%) rotate(345deg);
}
.list-subjects li a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px;
  border-color: #fff transparent transparent transparent;
}

.list-subjects li img {
  display: block;
  width: 80%;
  margin: auto;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .list-subjects {
    justify-content: space-between;
  }
  .list-subjects li {
    width: 31%;
    font-size: 3vw;
  }
  .list-subjects li a {
    padding-top: 10px;
    padding-bottom: 20px;
  }
  .list-subjects li a:after {
    border-width: 5px;
    margin-bottom: 5px;
  }
  .list-subjects li a img {
    width: 60%;
  }
}


@media screen and (min-width: 769px) {
  .index_section_subjects .box_btn {
    margin-left: 40px;
    margin-right: 40px;
  }
}



.wrap-images {
  margin-bottom: 0px;
}
@media screen and (max-width: 768px) {
  .wrap-images {
    margin: 20px;
  }
}



/* GALLERY
------------------------------------------*/
.slide {
  position   : relative;
  overflow   : hidden;
                    /* 画像のサイズに合わせて変更ください */
  width      : 200px;
  height     : 200px;
  margin     : auto;      /* サンプルは中央寄せの背景：白 */
  background : #fff;
}
 
 /*=== 画像の設定 ======================================= */
.slide img {
  display    : block;
  position   : absolute;
                      /* 画像のサイズを表示エリアに合せる */
  width      : inherit;
  height     : inherit;
  opacity    : 0;
  animation  : slideAnime 15s ease infinite;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
.slide img:nth-of-type(1) { animation-delay: 0s }
.slide img:nth-of-type(2) { animation-delay: 3s }
.slide img:nth-of-type(3) { animation-delay: 6s }
.slide img:nth-of-type(4) { animation-delay: 9s }
.slide img:nth-of-type(5) { animation-delay: 12s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime{
   0% { opacity: 0; transform: scale(.1, .1)}
   2% { opacity: 1; transform: scale(1, 1)  }
  18% { opacity: 1; transform: scale(1, 1)  }
  20% { opacity: 0; transform: scale(2, 2)  }
 100% { opacity: 0; transform: scale(2, 2)  }
}

/* スタッフ(院長紹介) 
------------------------------------------*/
/* news 
------------------------------------------*/
.index_news {
	padding: 0px 0 30px;
	position:relative;
}
.ttl_news {
	display: inline-block;
	position:absolute;
	top:0;
	left:0;
}
.ttl_news p {
	font-weight: 400;
	font-style: normal;
	font-size: 38px;
	line-height: 1.5;
	color:#080808;
	position: relative;
}
.ttl_news h2 {
	font-size:1.2rem;
	color:#fff;
	background:#515151;
	width:80px;
	text-align:center;
	padding:2px 8px;
}

.index_news {
/*	margin-left:180px;*/
	margin-top:18px;
	overflow:hidden;
}


.index_news dl {
	margin-bottom: 12px;
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	font-size: 16px;
	overflow: hidden;
	border-bottom:1px dotted #707070;
	padding-bottom:4px;
}
.index_news dl dt {
	width:20%;
}

.index_news dd a {
	text-decoration:none;
	display:block;
}
.index_news dd a:hover  {
	color:#ccc;
}

.index_bnr {
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	justify-content: space-around;
	background: #EDEBE8;
	padding: 60px 220px;
}
.index_bnr img {
	width: 100%;
}
@media screen and (max-width: 768px) {
	.ttl_news {
	display: inline-block;
	position:static;
}
/*
.ttl_news h2 {
	font-size:1.2rem;
	color:#fff;
	background:#515151;
	width:80px;
	text-align:center;
	padding:2px 8px;
}
.ttl_news p {
	font-weight: 400;
	font-style: normal;
	font-size: 38px;
	line-height: 1.5;
	color:#080808;
	position: relative;
}
*/
	.index_news dl {
			display: inherit;
		font-size: 16px;
		margin: 0 0px 15px;
	}
	.index_news dl dt {
		width:100%;
	}
	.index_bnr {
		display: inherit;
		padding: 20px 20px 10px 20px;
	}
	.index_bnr img {
		margin-bottom: 10px;
	}
	.index_news {
	margin-left:0;
}
}



