@charset "utf-8";
/* ------------------------------------------------------------
    loading
------------------------------------------------------------ */
#loading{
	position: fixed;
	z-index: 1000;
	width: 100%;
	height: 100vh;
  background-color: #ffffff;
	overflow: hidden;
  left: 0;
  top: 0;
}
.loader {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
  width: 200px;
  height: 83px;
}

@media screen and (min-width: 768px){
	.loader {
		width: 240px;
		height: 100px;
	}
}

/* --------------------------------------------------
contents
-------------------------------------------------- */
@media screen and (min-width: 768px){
	main {
		padding-top: 50px;
	}
}
@media screen and (min-width: 1000px){
	main {
		padding-top: 60px;
	}
}

/* --------------------------------------------------
header
-------------------------------------------------- */
header {
	position: fixed;
	z-index: 103;
	width: 100%;
	height: 50px;
	height: calc(50px + constant(safe-area-inset-top));
	height: calc(50px + env(safe-area-inset-top));
	padding-top: constant(safe-area-inset-top);
	padding-top: env(safe-area-inset-top);
	transition: all 0.5s ease 0s;
	background-color: rgba(8, 49, 109, 0);
}
header .logo_wrap {
	height: 100%;
}
header .logo_wrap h1,
header .logo_wrap h1 a {
	display: block;
	height: 100%;
}
header .logo_wrap h1 a {
	display: flex;
	align-items: center;
	padding: 0 10px;
	width: 115px;
}
header .logo_wrap img {
	width: 100%;
}
.scrolled header {
    background-color: rgba(8, 49, 109, 1);
}
@media screen and (min-width: 768px){
	header {
		background-color: rgba(8, 49, 109, 1);
		transition: none;
	}
}
@media screen and (min-width: 1000px){
	header {
		height: 60px;
		height: calc(60px + constant(safe-area-inset-top));
		height: calc(60px + env(safe-area-inset-top));
		display: flex;
		justify-content: space-between;
	}
	header .logo_wrap h1 a {
		width: 140px;
	}
	header #gnav,
	header .gnav_main {
		display: block;
		height: 100%;
	}
}

/* --------------------------------------------------
gnav
-------------------------------------------------- */
#gnav {
  overflow: hidden;
}
#gnav .is-scrollbar {
  padding-right: 0;
}
#gnav .gnav_main {
	margin-right: -17px; /* オーバーレイスクロールバーを消す */
	padding-right: 17px; /* オーバーレイスクロールバーを消す */
	overflow: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	position: fixed;
	z-index: 101;
	top: 0;
	right: 0;
	width: calc(100% + 17px);
	height: calc(100% - 50px);
	height: calc(100% - 50px - constant(safe-area-inset-bottom));
	height: calc(100% - 50px - env(safe-area-inset-bottom));	
	background-color: #08316d;
	display: none;
}
#gnav .gnav_main_box {
	width: 100%;
	padding: 80px 0;
}
#gnav .gnav_main_in {
	width: 80%;
	margin: 0 auto;
}
#gnav .gnav_list{
	position: relative;
}
#gnav .gnav_list,
#gnav .gnav_links {
	display: flex;
	flex-wrap: wrap;
}
#gnav .gnav_list > li,
#gnav .gnav_links li {
	width: 50%;
}
#gnav .gnav_list li a ,
#gnav .gnav_links li a ,
#gnav .gnav_list li button{
	color: #fff;
	position: relative;
	overflow: hidden;
	display: block;
	padding: 22px 0 20px;
	font-size: 1.2rem;
}
#gnav .gnav_list li a::before,
#gnav .gnav_links li a::before {
	content: '';
	display: block;
	position: absolute;
	background-color: rgba(255,255,255,.5);
	left: 0;
	top: 0;
	width: 20px;
	height: 1px;
}
#gnav .gnav_buttons {
	display: none;
}
#gnav .gnav_list li.new {
	position: relative;
}
#gnav .gnav_list li.new::after {
	content: 'NEW';
	font-family: "EB Garamond", serif;
  font-size: 10px;
  font-size: 1.0rem;
	line-height: 1;
	color: #e0cd7e;
	position: absolute;
	top: 12px;
	left: 0;
}
#gnav .gnav_list li.gnav__mega{
	position: relative;
}
#gnav .gnav_list li span i{
	font-style: normal;
	line-height: 1.6;
	display: block;
}

/* .ua_pc #gnav .gnav_list .gnav__mega:hover button::before {
  -webkit-transform-origin: 0% 0%;
          transform-origin: 0% 0%;
  scale: 1 1;
} */
#gnav .gnav_list .gnav__mega button {
  padding-right: 20px !important;
	background: none;
	border: none;
	font-family:YakuHanMP_Noto, "Noto Serif JP",  YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro",  serif;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding-top: 10px;
	height: 100%;
	cursor: pointer;
}
#gnav .gnav_list .gnav__mega button::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  right: 4px;
  top: calc(50% - 2px);
  rotate: 135deg;
}
#gnav .gnav_list .gnav__mega button u {
	text-decoration: none;
}
@media only screen and (min-width: 1400px) {
#gnav .gnav_list li a ,
#gnav .gnav_links li a ,
#gnav .gnav_list li button{
	font-size: 1.3rem;
}

#gnav .gnav_list .gnav__mega button u {
	position: relative;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
#gnav .gnav_list .gnav__mega button:hover u::after {
	transform-origin: left top;
	transform: scale(1, 1);
}

#gnav .gnav_list li.gnav__mega button u::after{
	height: 1px;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .5s;
}
#gnav .gnav_list li > a > span::after,
#gnav .gnav_list li.gnav__mega button u::after{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background-color: rgba(255, 255, 255, 1);
}
}
#gnav .gnav_list .gnav__mega.is-open button::before {
  rotate: 0deg;
}

#gnav .gnav_list .gnav__mega .megamenu {
  position: absolute;
  top: 100%;
  left: 0;
  width: calc(100% + 30px);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background-color: #00255b;
	z-index: 90;
}
#gnav .gnav_list .gnav__mega:hover .megamenu {
  pointer-events: all;
  opacity: 1;
  visibility: visible;
}

#gnav .gnav_list .gnav__mega .megamenu__item:not(:first-of-type) {
  border-top: 1px solid rgba(255,255,255,.3);
}
#gnav .gnav_list .gnav__mega .megamenu__item a {
  position: relative;
  display: block;
  padding: 15px 10px;
  line-height: 1.5;
  color: #fff;
}
#gnav .gnav_list .gnav__mega .megamenu__item a span {
	padding-top: 0;
}

.ua_pc #gnav .gnav_list .gnav__mega .megamenu__item a:hover {
  opacity: 0.5;
}
#gnav .gnav_list .gnav__mega.is-open {
  background-color: #08316d;
}

@media only screen and (max-width: 1399px) {
  #gnav .gnav_list .gnav__mega button::after {
    border: none;
    rotate: 0deg;
  }
  #gnav .gnav_list .gnav__mega button {
    position: relative;
    display: block;
    width: 100%;
		padding: 22px 0 20px;
		text-align: left;
  }

  #gnav .gnav_list .gnav__mega button::before,
  #gnav .gnav_list .gnav__mega button::after {
    position: absolute;
    top: 50%;
    left: auto;
    right: 10px;
    width: 15px;
    height: 1px;
    background-color: #fff;
    content: "" !important;
    -webkit-transition: rotate 0.2s ease;
    transition: rotate 0.2s ease;
    scale: 1 !important;
    -webkit-transform-origin: 50% 50% !important;
            transform-origin: 50% 50% !important;
    display: block !important;
  }
  #gnav .gnav_list .gnav__mega button::before {
    rotate: -90deg;
  }
  #gnav .gnav_list .gnav__mega .megamenu {
    right: 0;
		width: 200%;
		left: auto;
		background-color: #00255b;
  }
	#gnav .gnav_list .gnav__mega:hover .megamenu {
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
  }

	#gnav .gnav_list .gnav__mega .megamenu__item a {
		padding: 20px 15px 20px 30px;
	}
  #gnav .gnav_list .gnav__mega .megamenu__item a::before {
    content: "";
    width: 6px;
    height: 6px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    position: absolute;
    left: 10px;
    top: calc(50% - 3px);
		background: none;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #gnav .gnav_list .gnav__mega.is-open .megamenu {
    pointer-events: all;
    opacity: 1;
    visibility: visible;
  }
  #gnav .gnav_list .gnav__mega.is-open .megamenu::before {
    position: absolute;
    top: 0;
    left: 5%;
    width: 90%;
    height: 1px;
    border-top: 1px dotted #fff;
    content: "";
  }
	#gnav .gnav_list .gnav__mega .megamenu br{
		display: none;
	}
}
@media screen and (min-width: 700px) and (max-width: 1399px){
	#gnav .gnav_list .gnav__mega .megamenu {
		width: 100%;
	}
}
@media screen and (min-width: 300px) and (max-width: 1399px){
	#gnav .gnav_list .gnav__mega .megamenu br{
		display: none;
	}
}

@media screen and (min-width: 1400px){
	#gnav {
		height: 100%;
		display: block;
		overflow: visible;
	}
	#gnav .gnav_main {
		position: relative;
		display: block;
		height: 100%;
		overflow: visible;
		margin-right: 0;
		padding-right: 0;
		width: 100%;
		background-color: transparent;
	}
	#gnav .gnav_main_box {
		display: block;
		padding: 0;
		height: 100%;
	}
	#gnav .gnav_main_in {
		width: 100%;
		display: flex;
		justify-content: flex-end;
		height: 100%;
	}
	#gnav .gnav_list {
		width: 100%;
		display: flex;
		justify-content: flex-end;
	}
	#gnav .gnav_list li {
		width: auto;
		/* height: 50%; */
		display: block;
	}

	#gnav .gnav_list li a,
	#gnav .gnav_list li button {
		height: 100%;
		line-height: 1;
		padding: 0 7px;
		/* padding: 12px 7px 0; */
	}
	#gnav .gnav_list > li > a span {
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		flex-direction: column;
		padding-top: 10px;
	}
	#gnav .gnav_list li span i{
		display: inline;
	}
	#gnav .gnav_pop {
		display: flex;
		width: 550px;
		justify-content: flex-end;
	}
	#gnav .gnav_links {
		display: flex;
		flex-direction: column;
		justify-content: center;
		margin-right: 10px;
	}
	#gnav .gnav_links li {
		display: block;
		width: auto;
	}
	#gnav .gnav_links li a {
		display: block;
		padding: 6px 6px 6px 10px;
		background: url(../images/common/ico_arr.svg) no-repeat left center;
		background-size: 6px;
		font-size: 11px;
		font-size: 1.1rem;
		line-height: 1;
	}
	#gnav .gnav_list li a::before,
	#gnav .gnav_links li a::before{
		display: none;
	}
	#gnav .gnav_buttons {
		padding-top: 0;
		display: flex;
	}
	#gnav .gnav_buttons .gnav_button {
		height: 100%;
		margin-top: 0;
	}
	#gnav .gnav_buttons .gnav_button a {
		height: 100%;
		width: 140px;
		padding: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		font-size: 1.4rem;
		color: #fff;
	}
	#gnav .gnav_buttons .gnav_button.c-btn-cv-yyk a {
		font-size: 1.9rem;
		font-weight: bold;
	}
	#gnav .gnav_buttons .gnav_member a {
		line-height: 1.4;
	}
	#gnav .gnav_list li.new::after {
		left: 50%;
		top: 5px;
		transform: translateX(-50%);
	}
}
@media screen and (min-width: 1500px){

#gnav .gnav_list li span i{
	display: contents;
}
}
@media screen and (min-width: 2010px){
	#gnav .gnav_pop {
		display: flex;
		/* width: auto; */
	}
	#gnav .gnav_list li {
		width: auto;
		height: 100%;
		display: block;
	}
	#gnav .gnav_list li.new::after {
		left: 50%;
		top: 8px;
		transform: translateX(-50%);
	}
	#gnav .gnav_list li a span,
	#gnav .gnav_list li button{
		padding-top: 0px;
	}
}
.drawer-open #gnav .gnav_main {
	display: block;
}
body {
	overflow: auto;
}
body.drawer-open {
	overflow: hidden;
}

/* Hamburger
------------------------------ */
.drawer-hamburger {
	position: fixed;
	z-index: 104;
	top: 0;
	right:0;
	display: block;
	box-sizing: content-box;
	width: 30px;
	padding:25px 18px 24px;
	-webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	border: 0;
	outline: 0;
	background-color: transparent;
  cursor: pointer;
}
.drawer-hamburger-icon,
.drawer-hamburger-icon::before,
.drawer-hamburger-icon::after {
  content: '';
	display: block;
  width: 100%;
	height: 1px;
	transition: all .6s ease;
	background-color: #fff;
  transform: translateY(0);
}
.drawer-hamburger-icon{
  position: relative;
  transition: .3s ease;
}
.drawer-hamburger-icon::before{
  position: absolute;
  top: -7px;
  animation: cross_center_top_re .6s ease forwards;
}
.drawer-hamburger-icon:after {
	position: absolute;
  top: 7px;
  animation: cross_center_btm_re .6s ease forwards;
}

/* drawer-open */
.drawer-open .drawer-hamburger-icon{
  background-color: transparent;
}
.drawer-open .drawer-hamburger-icon::before {
  animation: cross_center_top .6s ease forwards;
}
.drawer-open .drawer-hamburger-icon::after {
  animation: cross_center_btm .6s ease forwards;
}

@media screen and (min-width: 1400px){
	.drawer-hamburger {
		display: none;
	}
}

/* animation */
@keyframes cross_center_top {
  0% {
    transform: translateY(0) rotate(0);
  }
  30% {
    transform: translateY(7px) rotate(0);
  }
  100% {
    transform: translateY(7px) rotate(20deg);
  }
}
@keyframes cross_center_top_re {
  0% {
    transform: translateY(7px) rotate(20deg);
  }
  30% {
    transform: translateY(7px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes cross_center_btm {
  0% {
    transform: translateY(0) translateX(0) rotate(0);
  }
  30% {
    transform: translateY(-7px) rotate(0);
  }
  100% {
    transform: translateY(-7px) rotate(-20deg);
  }
}
@keyframes cross_center_btm_re {
  0% {
    transform: translateY(-7px) rotate(-20deg);
  }
  30% {
    transform: translateY(-7px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}

/* --------------------------------------------------
gnav_fix
-------------------------------------------------- */
.nav_fix {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 102;
  height: 50px;
  height: calc(50px + constant(safe-area-inset-bottom));
  height: calc(50px + env(safe-area-inset-bottom));
  transition: all .5s;
	background-color: #08316d;
}
.nav_fix ul {
	display: flex;
	height: 100%;
}
.nav_fix li {
	text-align: center;
	width: 100%;
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 1;
	letter-spacing: 0;
}
.nav_fix li a {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: relative;
	height: 100%;
}
.nav_fix li a:not(.c-btn-cv-req):not(.c-btn-cv-yyk) {
	color: #e0cd7e;
}
.nav_fix li a.c-btn-cv-yyk {
	font-size: 1.4rem;
}
.nav_fix .ico {
	padding: 0 0 5px;
}
.nav_fix .ico img {
	width: 20px;
	height: 20px;
}
@media screen and (min-width: 1200px){
	.nav_fix {
		display: none;
	}
}

/* --------------------------------------------------
ttl
-------------------------------------------------- */
.s_ttl {
	background-color: #08316d;
	height: 200px;
	/*background-image: url(../images/common/bg_ttl_1_sp.jpg);*/
	background-repeat: no-repeat;
	background-size: 42.96875%;
	background-position: 0 0;
}
.s_ttl_in {
	display: flex;
  justify-content: center;
	align-items: center;
	height: 100%;
	/*background-image: url(../images/common/bg_ttl_2_sp.jpg);*/
	background-repeat: no-repeat;
	background-size: 41.66666667%;
	background-position: 100% 100%;
}
.s_ttl h2 {
	transform: translateY(30%);
	font-weight: normal;
	letter-spacing: 0.2em;
	color: #e0cd7e;
	line-height: 1.4;
	font-size: 20px;
	font-size: 2.0rem;
	width: 80%;
	max-width: 290px;
	text-align: center;
}
.s_ttl h2 .c-txt-en {
	font-size: 14px;
	font-size: 1.4rem;
	border-bottom: 1px solid rgba(224,205,126,.4);
	padding-bottom: 5px;
	margin-bottom: 5px;
}
@media screen and (min-width: 768px){
	.s_ttl {
		height: 260px;
		/*background-image: url(../images/common/bg_ttl_1_pc.jpg);*/
		background-size:700px;
		background-position-x: calc(60% - 500px);
		background-position-y: 0;
	}
	.s_ttl_in {
		/*background-image: url(../images/common/bg_ttl_2_pc.jpg);*/
		background-size:616px;
		background-position-x: calc(40% + 436px);
		background-position-y: 0;
	}
	.s_ttl h2 {
		font-size: 26px;
  	font-size: 2.6rem;
	}
}
@media screen and (min-width: 1100px){
	.s_ttl {
		background-position-x: calc(60% - 700px);
	}
	.s_ttl_in {
		background-position-x: calc(40% + 650px);
	}
}
@media screen and (min-width: 1700px){
	.s_ttl {
		background-position-x: 0;
	}
	.s_ttl_in {
		background-position-x: 100%;
	}
}

/* --------------------------------------------------
main_in
-------------------------------------------------- */
.s_notes {
	padding: 30px 0 25px;
}
div.inner{
	padding: 0 15px;
}
@media screen and (min-width: 768px){
	.s_notes {
		padding-top: 60px;
	}
	div.inner{
		max-width: 1230px;
		margin: 0 auto;	
	}
}

/* --------------------------------------------------
footer
-------------------------------------------------- */
footer {
	padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}
/* UA_PCのみ */
.ua_pc .contact a{
  cursor: default;
}
.foot_in {
    background-color: #ebebeb;
	padding: 40px 0;
}

.foot_in2{
	background-color: #fff;
    margin: 30px 0;
}
.foot_in .contact {
	text-align: center;
}
.foot_in .contact .mi {
	font-size: 93.75%;
	line-height: 1.6;
}
.foot_in .contact .tel {
	margin: 2px 0 10px;
}
.foot_in .contact .tel img {
	width: 36px;
	margin-right: 5px;
	vertical-align: baseline;
}
.foot_in .contact .tel a {
	font-size: 38px;
	font-size: 3.8rem;
	line-height: 1;
}
.foot_in .contact .time {
	font-size: 86%;
	line-height: 1.6;
}
.foot_in2 .haseko {
	text-align: center;
    margin: 0;
}
.foot_in2 .haseko img{
    max-width: 165px
}
.foot_in2 .staff {
	display: flex;
	width: 92%;
	max-width: 380px;
	margin: 30px auto 0;
}
.foot_in2 .staff a .c-txt-notes {
	margin-bottom: 5px;
}
.foot_in2 .staff_1 {
	flex: 1;
	margin-right: 25px;
}
.foot_in2 .staff_2 {
	flex: 1.27989737;
}
.foot_in2 .staff img {
	width: 100%;
}
.foot_copy {
	background-color: #08316d;
}
.foot_copy small {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.5;
	display: block;
	padding: 15px 5% 65px;
	text-align: center;
	color: #ffffff;
}
.foot_in .holiday{
    font-size: 1.1rem;
    line-height: 1.5;
    margin: 20px  auto 0;
}

@media screen and (min-width: 768px){
    .foot_in {
    background-color: #ebebeb;
	padding: 60px 0;
}

.foot_in2{
	background-color: #fff;
    margin: 60px 0 70px;
}

	.foot_in .contact .mi {
		line-height: 1.4;
	}
	.foot_in .contact .tel img {
		width: 45px;
	}
	.foot_in .contact .tel a {
		font-size: 56px;
		font-size: 5.6rem;
	}
}
@media screen and (min-width: 1000px){
	.foot_in .c-inner-85 {
		display: block;
		justify-content: space-between;
		align-items: flex-end;
	}
	.foot_in .contact {
		text-align: left;
        display: flex;
        align-items: flex-end;
        justify-content: center;
	}
	.foot_in .staff {
		margin: 40px auto 0;
	}
	.foot_copy small {
		padding: 20px;
	}
    .foot_in .contact .tel {
		margin: 5px 0 0;
	}
    .foot_in .contact .time {
		margin-left: 30px;
		font-size: 78%;
		line-height: 1.4;
	}
}
@media screen and (min-width: 1400px){
	.foot_in .contact {
		display: flex;
		align-items: flex-end;
	}
	.foot_in .contact .tel {
		margin: 5px 0 0;
	}
	.foot_in .contact .time {
		margin-left: 30px;
		font-size: 78%;
		line-height: 1.4;
	}
}


/*----------------------------------------
	modal
-----------------------------------------*/
@-webkit-keyframes modalwindow_body_in {
	0% {
		-webkit-transform: scale(0.8);
		        transform: scale(0.8);
	}
	100% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
}
@keyframes modalwindow_body_in {
	0% {
		-webkit-transform: scale(0.8);
		        transform: scale(0.8);
	}
	100% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
}
@-webkit-keyframes modalwindow_body_out {
	0% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	100% {
		-webkit-transform: scale(0.8);
		        transform: scale(0.8);
	}
}
@keyframes modalwindow_body_out {
	0% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	100% {
		-webkit-transform: scale(0.8);
		        transform: scale(0.8);
	}
}
body.enabled_modal {
	overflow: hidden;
}
#modal,
#modal02,
#modal03{
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9000;
	width: 100%;
	height: 100%;
	opacity: 0;
	background-color: rgba(0,0,0,0.8);
}
#modal .modalOverlay {
	display: table;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	position: relative;
	width: 100%;
	max-width: 960px;
	height: 100%;
	margin: 0 auto;
	padding: 0 10px;
	-webkit-transform: scale(0.8);
	    -ms-transform: scale(0.8);
	        transform: scale(0.8);
	-webkit-animation: 500ms modalwindow_body_out;
	        animation: 500ms modalwindow_body_out;
}
#modal02 .modalOverlay{
	display: table;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	position: relative;
	width: 100%;
	max-width: 1600px;
	height: 100%;
	margin: 0 auto;
	padding: 0 10px;
	-webkit-transform: scale(0.8);
	    -ms-transform: scale(0.8);
	        transform: scale(0.8);
	-webkit-animation: 500ms modalwindow_body_out;
	        animation: 500ms modalwindow_body_out;
}
#modal03 .modalOverlay{
	display: table;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	position: relative;
	width: 100%;
	max-width: 645px;
	height: 100%;
	margin: 0 auto;
	padding: 0 10px;
	-webkit-transform: scale(0.8);
	    -ms-transform: scale(0.8);
	        transform: scale(0.8);
	-webkit-animation: 500ms modalwindow_body_out;
	        animation: 500ms modalwindow_body_out;
}
#modal.is_visible .modalOverlay,
#modal02.is_visible .modalOverlay,
#modal03.is_visible .modalOverlay{
	-webkit-transform: scale(1);
	    -ms-transform: scale(1);
	        transform: scale(1);
	-webkit-animation: 200ms modalwindow_body_in;
	        animation: 200ms modalwindow_body_in;
}
#modal .modalWrap,
#modal02 .modalWrap,
#modal03 .modalWrap{
	display: table-cell;
	vertical-align: middle;
	position: relative;
	margin: 30px auto;
}
#modal .modalInner,
#modal02 .modalInner,
#modal03 .modalInner{
	position: relative;
	margin: 75px 0;
	/* background-color: #fff; */
}
#modal .modalClose,
#modal02 .modalClose,
#modal03 .modalClose{
	position: absolute;
	top: 0;
	right: 0;
	z-index: 100;
	width: 30px;
	height: 30px;
	margin-top: -10px;
	cursor: pointer;
	transition: opacity 0.2s;
	transform: translateY(-100%);
}
#modal .modalClose:hover,
#modal02 .modalClose:hover,
#modal03 .modalClose:hover{
	opacity: 0.7;
}
#modal .modalClose::before,
#modal .modalClose::after,
#modal02 .modalClose::before,
#modal02 .modalClose::after,
#modal03 .modalClose::before,
#modal03 .modalClose::after{
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 38px;
	height: 4px;
	background: #fff;
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
}
#modal .modalClose::before,
#modal02 .modalClose::before,
#modal03 .modalClose::before{
	-webkit-transform: rotate(45deg) translate(-50%,-50%);
	    -ms-transform: rotate(45deg) translate(-50%,-50%);
	        transform: rotate(45deg) translate(-50%,-50%);
}
#modal .modalClose::after,
#modal02 .modalClose::after,
#modal03 .modalClose::after{
	-webkit-transform: rotate(-45deg) translate(-50%,-50%);
	    -ms-transform: rotate(-45deg) translate(-50%,-50%);
	        transform: rotate(-45deg) translate(-50%,-50%);
}
#modal .modalBox,
#modal02 .modalBox,
#modal03 .modalBox{
	position: relative;
	padding-bottom: 56.25%;
}
#modal video,
#modal iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	outline: none;
}