@charset "UTF-8";

body {
	font-family: 'Noto Serif JP', serif;
}

header::after,
footer::after,
#globalNav::after,
#nav::after,
#subNav::after,
#contents::after,
#main::after,
.wrapper_bg::after,
#menu::after{
	content: "";
	display: block;
	clear: both;
}

/* scroll Top */
#page-top{
	display: block;
	position: fixed;
	bottom: 50px;
	right: 45px;
	width: 80px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	z-index: 1000;
	transition: background 0.4s;
}
#page-top img{
	width:22px;
	height: auto;
	padding-top: 18px;
}
#page-top a{
	color: #fff;
}
#page-top:hover{

}
	@media screen and (max-width:767.98px) {
		#page-top{
			zoom: 90%;
			white-space: nowrap;
			bottom: 34px;
			right: 10px;
		}
	}


#wrapper{
	text-align: left;
}
.top #wrapper {
	background-color: #FFF;
}
.about #wrapper {
	background-color: #F0F0F0 !important;
}
#contact #wrapper {
	background-color: #F0F0F0 !important;
}


/*----------------------------------------
　PC
-------------------------------------------*/
@media print, screen and (min-width:769px) {

.wrapper_bg {
	background:linear-gradient(#F0F0F0, #FFF);
	height: 150px;
	padding-top: 80px;
}

.sw-inner{
	width: 840px;
	margin:auto;
}

.btnType_rds{
	display: inline-block;
	line-height: 150%;
	text-align: center;
	letter-spacing: 1px;
	text-decoration: none;
	transition: background 0.4s;
	font-size: 1.063em ;
	font-family: "minion-pro", serif;
	font-weight: 400;
	letter-spacing: 5px;
}
.btnType_rds a{
	display: block;
	background-color: #FFF;
	border:2px solid #000;
	padding: 16px 70px;
	color: #000;
	text-decoration: none;
}
.about .btnType_rds a{
	display: block;
	background-color: #F0F0F0;
	border:2px solid #000;
	padding: 16px 70px;
	color: #000;
	text-decoration: none;
}
.btnType_rds a:hover{
	display: block;
	background-color: #888;
	border:2px solid #888;
	padding: 16px 70px;
	color: #FFF;
	text-decoration: none;
}

header{
	width: 100%;
	background-color:#e2e2e2;
	text-align: center;
	z-index: 9999;
	padding-top: 32px;
	position: relative;
}
header .inner{
	width: 94%;
	padding: 0 15px;
	min-width: 860px;
	margin: auto;
}

header h1{
	width: 330px;
	margin: auto;
	margin-bottom: 6px;
}

header.HeightMin{
	position: fixed;
	z-index: 9999;
  animation: DownAnime 0.5s forwards;
  padding: 0 0 0 0 !important;
}
header.HeightMin h1{
	width: 250px;
	margin: auto;
	position: relative;
	padding: 4px 0;
	top:13px;
}
@keyframes DownAnime{
  from {
    opacity: 0;
  transform: translateY(-170px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

nav{
	display: none;
}

#globalNav{
	float: left;
	width: 49%;
	margin-top: -15px;
}
#globalNav ul{
	float: left;
}
#globalNav ul li{
	font-size: 1.0em;
	font-family: "minion-pro", serif;
	font-weight: 500;
	color: #000;
	line-height: 120%;
	letter-spacing: 1px;
	display: inline-block;
  transition: 0.3s;
}
#globalNav ul li a{
	color: #000;
	text-decoration: none;
	display: block;
	padding: 0 20px 0 20px;
	margin-left: -2px;
	margin-right: -2px;
	border-bottom:2px solid #afafaf;
}
#globalNav ul li a:hover{
	color: #888;
	text-decoration: none;
	display: block;
	padding: 0 20px 0 20px;
	margin-left: -2px;
	margin-right: -2px;
	border-bottom:2px solid #ec6c7f;
}

#globalNav ul li a span {
  display: inline-block;
	padding: 10px 0;
}


#subNav_mob{
	display: none;
}

#subNav{
	float: right;
	width: 49%;
	margin-top: -14px;
}
#subNav ul.icon{

}
#subNav ul li{
	float: right;
	font-size: 1.25em;
	font-family: "minion-pro", serif;
	font-weight: 500;
	color: #000;
	letter-spacing: 1px;
	margin-left: 16px;
}
#subNav ul li a{
	color: #000;
	text-decoration: none;
}
#subNav ul li a:hover{
	color: #888;
	text-decoration: none;
}

#subNav ul li span.btn{
	position: relative;
	top:-3px;
}
#subNav ul li span.btn a{
	border:1px solid #000;
	padding: 4px 8px 4px 8px;
	font-size: 0.75em;
}
#subNav ul li span.btn a:hover{
	border:1px solid #888;
	background-color: #888;
	padding: 4px 8px 4px 8px;
	font-size: 0.75em;
	color: #FFF;
}

#category_mob{
	display: none;
}

#subNav ul.category{
	position: relative;
	top: 0;
}
#subNav ul.category > li{
	position: relative;
}
#subNav ul.category .category_sub{
	display: none;
	top: 40px;
	left: -160px;
	position: absolute;
}
#subNav ul.category_sub li{
	float: unset !important;
	background-color: rgba(255,255,255,0.6);
	border-bottom:1px solid #000;
	font-size: 0.688em !important;
	line-height: 150%;
	text-align: center;
	white-space: nowrap;
}
#subNav ul.category_sub li a{
	display: block;
	padding: 18px 50px;
}
#subNav ul.category_sub li a:hover{
	display: block;
	padding: 18px 50px;
	background-color: rgba(136,136,136,0.1);
	color: #333 !important;
}

footer {
	width: 100%;
	padding: 0 0 30px 0;
}
footer p.notice {
	font-size: 0.938em;
	color: #666;
	line-height: 190% !important;
	text-align: center;
	margin-bottom: 12px; 
}
footer p.copy {
	font-size: 0.625em;
	color: #666;
	text-align: center;
	letter-spacing: 1px;
	margin-top: 35px; 
}

#contents{
	margin-bottom: 40px;
}

.block .sw-entry {
  position: relative;
  width: 100%;
  height: auto;
}
.block .sw-entry .image,
.block .sw-entry .image img {
  width: 100%;
  cursor: pointer;
}
.block .sw-entry .text {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
	background: linear-gradient(rgba(0,0,0, 0) 0, rgba(0,0,0, 0.3) 95%); /* 徐々に透明にする */
  color: #FFF;
  font-weight: bold;
  text-align: center;
  display: none;
}
.block .sw-entry .text p{
	font-size: 0.75em;
	font-weight: 400;
	color: #FFF;
  padding: 24px 32px;
}

.row1{
	margin-bottom: 35px;
}
.row2{
	margin-bottom: 23px;
}
.row3{
	margin-bottom: 25px;
}

.block .sw-box:last-child {
	margin-bottom: 0 !important;
}

.block .sw-block1 .sw-box{
	width: 100%;
	margin-bottom: 1.2% !important;
}
.block .sw-block2 .sw-box{
	float: left;
	width: 49.4%;
	margin-bottom: 1.2% !important;
}
.block .sw-block2 .sw-box:nth-child(odd){
	clear: both;
}
.block .sw-block2 .sw-box:nth-child(even){
	float: right;
}
.block .sw-block3 .sw-box{
	float: left;
	width: 32.5%;
	margin-right:0.6%;
	margin-left:0.6%;
	margin-bottom: 1.2%;
}
.block .sw-block3 .sw-box:nth-child(3n) {
	margin-right: 0;
}
.block .sw-block3 .sw-box:nth-child(3n+1) {
	clear: both;
	margin-left: 0;
}


.about .sw-inner{
	width: 62%;
	min-width: 860px;
	padding: 0 15px;
	margin:auto;
}

.about .profile {
	padding-top: 70px !important;
	margin-bottom: 40px;
}
.about .profile .image{
	width: 220px;
	margin: auto;
	margin-bottom: 60px;
}
.about .profile .image img{
	width: 100%;
	height: auto;
}
.about .profile .box{
	margin-bottom: 34px;
}
.about .profile h2{
	font-size: 1.375em;
	font-weight: 400;
	letter-spacing: 2px;
	margin-bottom: 1px;
}
.about .profile p.name{
	font-size: 0.813em;
	margin-bottom: 34px;
	padding-left: 3px;
}
.about .profile .title-line{
	padding-top: 5px;
	padding-left: 2px;
	border-bottom: 2px solid #ec6c7f;
	width: 22px;
	margin-bottom: 18px;
}
.about .profile h3{
	font-size: 0.938em;
	font-family: "minion-pro", serif;
	font-weight: 400;
	color: #ec6c7f;
}
.about .profile p{
	font-size: 0.813em;
	font-weight: 400;
	line-height: 185% !important;
	margin-bottom: 14px;
}
.about .profile .en .box p{
	font-size: 0.8em;
	font-weight: 400;
	margin-bottom: 16px;
}
.about .profile .box table{
	width: 99%;
	border: none;
	border-collapse: collapse;
	border-spacing: 0;
	margin: auto;
}
.about .profile .box table th{
	padding: 0px 4px 8px 4px;
	vertical-align: top;
	font-size: 0.813em;
	font-weight: normal;
	line-height: 170%;
	white-space: nowrap;
	width: 45px;
}
.about .profile .box table td{
	padding: 0px 4px 8px 4px;
	vertical-align: top;
	font-size: 0.813em;
	line-height: 170%;
}

.about .profile .box ul li{
	font-size: 0.813em;
	line-height: 170%;
	margin-bottom: 9px;
}

.about .profile .box ul.en li{
	font-size: 0.813em;
	line-height: 160%;
	margin-bottom: 12px;
}





#contact{
}
#contact p.lead{
	font-size: 1.0em;
	font-family: "minion-pro", serif;
	font-weight: 400;
	color: #000;
	letter-spacing: 1px;
	margin-bottom: 6px;
}
#contact p.lead-en{
	font-size: 1.063em;
	font-family: "minion-pro", serif;
	font-weight: 400;
	color: #000;
	margin-bottom: 35px;
}

#contact #menu {
	margin-top: 60px;
	margin-bottom: 45px;
}
.plb-block-title h3.name{
	font-size: 1.250em;
	font-family: "minion-pro", serif;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 3px;
	margin-bottom: 12px;
}
.plb-block-title p.catch{
	font-size: 0.875em;
	font-weight: 600;
	letter-spacing: 1px;
	margin-bottom: 12px;
}
.plb-block-title p.lead{
	font-size: 0.933em;
	font-weight: 500;
	line-height: 160%;
}


#contact p.lead{
	font-size: 0.938em;
}
#contact .form{
	width: 740px;
	margin: auto; 
	padding: 50px 85px 50px 80px;
	margin-bottom: 20px;
	background-color: #f4f4f4;
}
#contact .form .form-group::after{
	content: "";
	display: block;
	clear: both;
}
#contact .form .form-group{
	clear: both;
	margin-bottom: 25px;
}
#contact .form p.form-title{
	float: left;
	width: 200px;
	font-size: 0.938em;
	font-weight: 600;
	line-height: 140% !important;
	letter-spacing: 1px;
	padding-top: 9px;
}
#contact .form p.form-title span.en{
	font-size: 0.875em;
	color: #7e8078;
	letter-spacing: 0;
	display: inline-block;
	margin-top: 6px;
}
#contact .form p.form-input{
	float: right;
	width: 430px;
	font-size: 0.938em;
}
#contact .form .horizontal-item{
	display: inline-block;
	margin-right: 16px;
}
#contact .form .mwform-radio-field-text{
	margin-left: -5px;
	padding-top: 4px;
}

#contact .form .btn-group{
	margin-top: 40px;
	text-align: center;
}
#contact .form .btn-group input{
	font-family: "minion-pro", serif !important;
}

#contact .caution{
	width: 90%;
	margin: auto;
	padding:35px 0 0px 0;
	margin-bottom: 30px;
}
#contact .caution p{
	font-size: 0.938em;
	line-height: 240% !important;
}

footer #contact {
	display: none;
}



}







/*----------------------------------------
　Mobile
-------------------------------------------*/
@media screen and (max-width:768px) {

.top #wrapper {
	background-color: #FFF;
}
.about #wrapper {
	background-color: #F0F0F0 !important;
}
.wrapper_bg {
	background:linear-gradient(#F0F0F0, #FFF);
	padding-top: 100px;
}

.sw-inner-sp{
	width: 90%;
	margin:auto;
}

.btnType_rds{
	display: inline-block;
	line-height: 150%;
	text-align: center;
	letter-spacing: 1px;
	text-decoration: none;
	transition: background 0.4s;
	font-size: 1.125em;
	font-family: "minion-pro", serif;
	font-weight: 400;
	letter-spacing: 5px;
}
.btnType_rds a{
	display: block;
	background-color: #FFF;
	border:2px solid #000;
	padding: 12px 50px;
	color: #000;
	text-decoration: none;
}
.about .btnType_rds a{
	display: block;
	background-color: #F0F0F0 !important;
	border:2px solid #000;
	padding: 12px 50px;
	color: #000;
	text-decoration: none;
}
.btnType_rds a:hover{
	display: block;
	background-color: #888;
	border:2px solid #888;
	padding: 12px 50px;
	color: #000;
	text-decoration: none;
}

header{
	width: 100%;
	text-align: center;
	position: fixed;
	z-index: 9999999;
}
#contact header{
	width: 100%;
	text-align: center;
	position: relative;
	z-index: 9999999;
}
header .inner{
	padding: 42px 0 28px 0;
	background-color:#e2e2e2;
}
header h1{
	width: 230px;
	position: absolute;
	top: 34px;
	left: 49%;
	transform: translate(-50%, -50%);
}

#globalNav{
	position: relative;
	z-index: 999999;
}
#globalNav ul{
	text-align: center;
}
#globalNav ul li{
	font-size: 1.25em;
	font-family: futura-pt, sans-serif;
	font-weight: 400;
	color: #FFF;
	letter-spacing: 1px;
}
#globalNav ul li a{
	color: #FFF;
	text-decoration: none;
	display: block;
	padding: 16px 16px;
}

#subNav{
	display: none;
}

ul.category_sub{
	padding-top: 70px;
}
ul.category_sub li{
	float: unset !important;
	background-color: rgba(255,255,255,0.9);
	border-bottom:1px solid #000;
	font-size: 0.938em !important;
	line-height: 150%;
	text-align: center;
	white-space: nowrap;
}
ul.category_sub li a{
	display: block;
	padding: 18px 50px;
	text-decoration: none;
}

.category {
  position: fixed;
  left: 20px;
  bottom: 30px;
	border:1px solid #000;
	padding: 8px 12px 8px 12px;
	background-color: #FFF;
	font-size: 1.0em;
	letter-spacing: 1px;
  cursor: pointer;
  z-index: 1;
}
.hamburger__line {
  position: absolute;
  width: 50px;
  height: 3px;
  right: 0;
  transition: all 0.5s;
}
.open .hamburger__line--1 {
  transform: rotate(-45deg);
  top: 11px;
}
.open .hamburger__line--2 {
  opacity: 0;
}
.open .hamburger__line--3 {
  transform: rotate(45deg);
  top: 11px;
}

.sp-nav {
  position: fixed;
  top: -100%;
  left: 0;
  width: 100%;
  height: 90vh;

  transition: all 0.5s;
  z-index: 200;
  overflow-y: auto;
}
.open .sp-nav {
  top: 0;
}

.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 5;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 100;
}
.open .black-bg {
  opacity: 0.3;
  visibility: visible;
}

#subNav_mob{
	width: 90%;
	margin: auto;
	margin-top: 40px;
}
#subNav_mob ul{
	text-align: center;
}
#subNav_mob ul li{
	display: inline-block;
	font-size: 1.75em;
	font-family: "minion-pro", serif;
	font-weight: 400;
	color: #FFF;
	letter-spacing: 1px;
	margin-left: 6px;
	margin-right: 6px;
}
#subNav_mob ul li a{
	color: #FFF;
	text-decoration: none;
}

footer {
	width: 100%;
	padding: 0 0 30px 0;
}

footer p.notice {
	font-size: 0.875em;
	color: #666;
	letter-spacing: 0 !important;
	text-align: center;
	margin-bottom: 10px; 
}

footer p.copy {
	font-size: 0.625em;
	color: #666;
	text-align: center;
	letter-spacing: 1px;
	margin-top: 40px; 
}


.block .sw-entry {
  position: relative;
  width: 100%;
  height: auto;
}
.block .sw-entry .image,
.block .sw-entry .image img {
  width: 100%;
  cursor: pointer;
}

.block .sw-entry .text {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
	background: linear-gradient(rgba(0,0,0, 0) 0, rgba(0,0,0, 0.3) 95%); 
  color: #FFF;
  font-weight: bold;
  text-align: center;
  display: none;
}
.block .sw-entry .text p{
	font-size: 0.75em;
	font-weight: 400;
	color: #FFF;
  padding: 12px 15px 14px 15px;
}

.row1{
	margin-bottom: 24px;
}
.row2{
	margin-bottom: 18px;
}
.row3{
	margin-bottom: 18px;
}

.block .sw-box:last-child {
	margin-bottom: 0 !important;
}
.block .sw-block1-sp .sw-box .image,
.block .sw-block2-sp .sw-box .image,
.block .sw-block3-sp .sw-box .image{
	margin-bottom: 0% !important;
}

.block .sw-block1-sp .sw-box{
	width: 100%;
	margin-bottom: 1.6% !important;
}
.block .sw-block2-sp .sw-box{
	width: 49.2%;
	margin-bottom: 1.6% !important;
}

.block .sw-block3-sp .sw-box{
	float: left;
	width: 32.25% !important;
	margin-right:0.8%;
	margin-left:0.8%;
	margin-bottom: 1.6% !important;
}
.block .sw-block3-sp .sw-box:nth-child(3n) {
	margin-right: 0;
}
.block .sw-block3-sp .sw-box:nth-child(3n+1) {
	clear: both;
	margin-left: 0;
}

.about .profile {
	padding-top: 110px;
}
.about .profile .image{
	width: 160px;
	margin: auto;
	margin-bottom: 35px;
}
.about .profile .image img{
	width: 100%;
	height: auto;
}
.about .profile .box{
	margin-bottom: 40px;
}
.about .profile .sw-box{
	margin-bottom: 50px;
}
.about .profile h2{
	font-size: 1.375em;
	font-weight: 400;
	letter-spacing: 2px;
	margin-bottom: 0px;
	text-align: center;
}
.about .profile .title-line{
	padding-top: 8px;
	border-bottom: 2px solid #ec6c7f;
	width: 22px;
	margin-bottom: 18px;
	padding-left: 4px;
}
.about .profile h3{
	font-size: 1.125em;
	font-family: "minion-pro", serif;
	font-weight: 400;
	color: #ec6c7f;
}
.about .profile p.name{
	text-align: center;
	margin-bottom: 30px;
}
.about .profile p{
	font-size: 0.938em;
	font-weight: 400;
	margin-bottom: 18px;
}
.about .profile .en .box p{
	font-size: 0.875em;
	font-weight: 400;
	margin-bottom: 16px;
}
.about .profile .box table{
	width: 99%;
	border: none;
	border-collapse: collapse;
	border-spacing: 0;
	margin: auto;
}
.about .profile .box table th{
	padding: 0px 12px 15px 5px;
	vertical-align: top;
	font-size: 0.938em;
	font-weight: normal;
	line-height: 160%;
	white-space: nowrap;
}
.about .profile .box table td{
	padding: 0px 10px 15px 0px;
	vertical-align: top;
	font-size: 0.938em;
	line-height: 160%;
}


.about .profile .box ul li{
	font-size: 0.938em;
	line-height: 170%;
	margin-bottom: 14px;
}

.about .profile .box ul.en li{
	font-size: 0.938em;
	line-height: 155%;
	margin-bottom: 16px;
}






#contact{
	width: 100%;
	margin: auto;
	padding-top: 0px !important;
	margin-bottom: 0px;
}
#contact p.lead{
	width: 86%;
	margin: auto; 
	font-size: 0.875em;

	font-weight: 500;
	color: #000;
	margin-bottom: 12px;
}
.plb-block-title{
	margin-top: 35px;
	margin-bottom: 34px;
}
.plb-block-title h3.name{
	font-size: 1.375em;
	font-family: "minion-pro", serif;
	font-weight: 700;
	letter-spacing: 1px;
	margin-bottom: 5px;
}
.plb-block-title p.catch{
	font-size: 1.00em;
	font-weight: 600;
	letter-spacing: 1px;
	margin-bottom: 6px;
}
.plb-block-title p.lead{
	font-size: 0.875em;
	font-weight: 500;
	line-height: 160%;
}
.plb-block-title p.categoly{
	font-size: 1.75em;
	font-family: futura-pt, sans-serif;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 2px;
	margin-bottom: 5px;
}

#contact .form{
	width: 88%;
	margin: auto; 
	padding: 40px 20px 40px 20px;
	margin-bottom: 20px;
	background-color: #f4f4f4;
}
#contact .form .form-group::after{
	content: "";
	display: block;
	clear: both;
}
#contact .form .form-group{
	clear: both;
	margin-bottom: 25px;
}
#contact .form p.form-title{
	float: left;
	width: 44%;
	font-size: 0.875em;
	font-weight: 600;
	line-height: 140% !important;
	white-space: nowrap;
	padding-top: 9px;
}
#contact .form p.form-title span.en{
	font-size: 0.75em;
	color: #7e8078;
	letter-spacing: 0;
	display: inline-block;
	margin-top: 6px;
}
#contact .form p.form-input{
	float: right;
	width: 54%;
	font-size: 0.875em;
}
#contact .form .horizontal-item{
	display: inline-block;
	margin-right: 16px;
}
#contact .form .btn-group{
	margin-top: 30px;
	text-align: center;
}
#contact .form .btn-group input{
	font-family: "minion-pro", serif !important;
	font-size: 1.0em;
	letter-spacing: 1px;
}

#contact .caution{
	width: 88%;
	margin: auto;
	padding:10px 0 0 0;
	margin-bottom: 30px;
}
#contact .caution p{
	font-size: 0.875em;
	line-height: 240% !important;
}

footer #contact {
	display: none;
}






}
