@charset "utf-8";

/* ---------------

1. Common
2. Header
3. Footer
4. Home
5. News
6. About
7. Program
8. Q&A
9. Privacy Policy
10. Contact

--------------- */

/* Common
==================================================================================== */
html {
	overflow-y: scroll;
	font-size: 62.5%;
	width: 100%;
	-webkit-overflow-scrolling: touch
}
body {
	font-size: 16px;
	font-size: 1.6rem;
	background-color: #FFF;
	background-repeat: no-repeat;
	background-position: center top;
	letter-spacing: 0.02em;
	width: 100%;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	color: #333333;
}
@media screen and (max-width: 768px) {
	body {
		font-size: 14px;
  font-size: 1.4rem;
	}
}
body,
div,
dl, dt, dd,
ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, code, form, fieldset, legend,
p, blockquote,
table, th, td {
	line-height: 1.8;
	box-sizing:border-box;
	margin-top: 0
}
.cf:before,
.cf:after,
.wrapper:before,
.wrapper:after { content:""; display:table; 	}
.cf:after,
.wrapper:after { clear:both; }
a,
img,
button {
	display: inline-block;
	-webkit-transition:all .25s ease-in-out;
	transition:all .25s ease-in-out;
}
a:link { color: #2D98C7; text-decoration: none; }
a:visited { color: #2D98C7; text-decoration: none; }
a:hover { color: #2D98C7; text-decoration: none; opacity: .8; }
a:active { color: #2D98C7; text-decoration: none; }
a:focus{ outline: none; }

img {
	vertical-align:top;
	width: 100%;
}

#container {
	position: relative;
	width: 100%;
	
	box-sizing: border-box;
}

.sp,
.sp-inline {
	display: none !important;
}
@media screen and (max-width: 768px) {
	.sp {
		display: block !important;
	}
	.sp-inline {
		display: inline-block !important;
	}
	.pc {
    display: none !important;
  }
}

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

.font-small {
	font-size: 13px;
 font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
.font-small {
	font-size: 12px;
 font-size: 1.2rem;
}
}

figure {
 margin: 0;
}
figcaption {
	margin-top: 10px;
	text-align: left;
}

/* wrapper */
.wrapper {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.wrapper .main {
	float: left;
	width: 64%;
	margin-left: 1.5%;
}
.wrapper .aside {
	float: right;
	width: 27%;
	margin-right: 1.5%;
	padding-top: 7px;
}
@media screen and (max-width: 768px) {
	.page .wrapper {
		width: 94%;
	}
	.wrapper .main {
		float: none;
		width: 100%;
		margin-left: 0;
	}
	.single .wrapper .main {
		width: 94%;
		margin: 0 auto;
	}
	.wrapper .aside {
		float: none;
		width: 100%;
		margin-right: 0;
		padding-top: 0;
	}
}

.wrapper-s {
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
}
.wrapper-m {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }

.mb00 { margin-bottom: 0 !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb90 { margin-bottom: 90px !important; }



.line {
	display: block;
	width: 94%;
	max-width: 1000px;
	height:1px;
	border: 0;
	margin: 60px auto 80px;
	background-color: #707070;
}
@media screen and (max-width: 768px) {
.line {
	margin: 30px auto 50px;
}
}

.link {
	padding-left: 1em;
	position: relative;
}
.link::before {
	content: '\f101';
 font-family: fontAwesome;
	position: absolute;
	left: 0;
	top: calc(50% - 11px);
	color: #152E81;
	font-size: 12px;
 font-size: 1.2rem;
}
.link.blue::before {
	color: #00A0C1;
}
.link a {
  position: relative;
  display: inline-block;
	 cursor: pointer;
}

.link a:before,
.link a:after{
  position: absolute;
  top: 1.8em;
  content: "";
  display: inline-block;
  width: 0;
  height: 1px; 
  background: #152E81;
  transition: 0.5s;
}

.link a:before{
  left: 50%;
}

.link a:after{
  right: 50%;
}
.link a:hover:before,
.link a:hover:after{
  width: 50%;
}

.hover {
  position: relative;
  display: inline-block;
	 cursor: pointer;
}
.hover:before,
.hover:after{
  position: absolute;
  top: 1.6em;
  content: "";
  display: inline-block;
  width: 0;
  height: 1px; 
  background: #152E81;
  transition: 0.5s;
}
.hover:before{
  left: 50%;
}
.hover:after{
  right: 50%;
}
a:hover .hover:before,
a:hover .hover:after{
  width: 50%;
}


.outside {
	position: relative;
	padding-right: 20px;
	display: inline;
}
.outside::after {
	content: '\f08e';
 font-family: fontAwesome;
	position: absolute;
	right: 0;
	top: calc(50% - 11px);
	font-size: 13px;
 font-size: 1.3rem;
}


/* title */
.headline {
	font-weight: bold;
	margin-bottom: 70px;
	font-size: 24px;
 font-size: 2.4rem;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.headline {
		margin-bottom: 25px;
		font-size: 18px;
		font-size: 1.8rem;
	}
}

.heading {
	font-size: 15px;
 font-size: 1.5rem;
	color: #A07F6E;
	margin-bottom: 20px;
}
.subhead {
	font-size: 24px;
 font-size: 2.4rem;
	color: #A07F6E;
	margin-bottom: 45px;
	font-weight: normal;
	text-align: center;
}


.dl-default {
	margin: 0 auto;
}
.dl-default > dt {
  font-weight: bold;
}
.dl-default > dd {
  margin: 0 0 10px 0;
}


.caption {
	padding:0 0 0 1em;
	position: relative;
}
.caption:before {
	content: '◼︎';
	width: 1em;
	height: 1em;
	display: block;
	position: absolute;
	left: 0;
	top: center;
}	
.caption-num {
	margin: 50px 0 0 1.5em;
}
.caption-num span {
	display:inline-block;
	margin-left:-1.5em;
	width:1.5em;
}


/* button */
.button {
	font-size: 14px;
 font-size: 1.4rem;
	margin: 0 auto 1em;
	text-align: center;
}

.button a {
  display: inline-block;
  padding: 5px 20px;
  border-radius: 5px;
  text-align: center;
  text-decoration: none;
  outline: none;
}
.button a::before,
.button a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button a,
.button a::before,
.button a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
} 
 
.button a {
  position: relative;
  z-index: 2;
  background-color: #2D98C7;
  border: 2px solid #2D98C7;
  color: #fff !important;
  overflow: hidden;
}
 .button a:hover {
  color: #2D98C7 !important;
 }
.button a::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
.button a:hover::after {
  background: #fff;
  -webkit-transform: scale(1);
  transform: scale(1);
}




/* list */
.list-dot {
	list-style-type: none;
	padding: 0;
}
.list-dot li {
	padding:0 0 0 1em;
	position: relative;
}
.list-dot li:before {
	content: '・';
	width: 1em;
	height: 1em;
	display: block;
	position: absolute;
	left: 0;
	top: center;
}
.list-num {
	margin-left: 0;
	padding-left: 1.5em;
}


/* attention */
.list-atte {
	list-style-type: none;
	padding-left: 0;
}
.atte,
.list-atte li {
	margin-left:1em;
	display: block;
	font-weight: normal;
}
.atte .ast,
.list-atte li span {
	display:inline-block;
	margin-left:-1em;
	width:1em;
}


/* table */
table {
	width: 100%;
	margin: 0 auto;
	border-collapse: collapse;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
table th,
table td {
	vertical-align: top;
	text-align: left;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

.tbl-default {
	margin-bottom: 40px;
}
.tbl-default th,
.tbl-default td {
	padding: 10px 15px;
}


.serif {
	font-family: 'ヒラギノ明朝 ProN W3', 'HiraMinProN-W3', Yu Mincho, '游明朝', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
}
.didot { font-family: 'GFS Didot', serif; }

.red {
	color: #CB3C3C;
}
.blue {
	color: #00A0C1 !important;
}


.ranking a {
	display: block;
	position: relative;
}
.ranking a::before {
	color: #958878;
	font-size: 20px;
 font-size: 2.0rem;
	position: absolute;
	left: 20px;
	top: calc(50% - 12px);
	line-height: 1;
	font-family: 'ヒラギノ明朝 ProN W3', 'HiraMinProN-W3', Yu Mincho, '游明朝', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
}
.ranking li:nth-child(1) a::before {
	content: "1";
}
.ranking li:nth-child(2) a::before {
	content: "2";
}


.pagination{
 text-align: center;
	margin-top:20px;
}
a.page-numbers,
.pagination .current {
    background: #fff;
    border: solid 1px #ccc;
    padding:2px 8px;
    margin:0 2px;
    text-decoration: none;
	   border-radius: 4px;
				display: inline-block;
}
.pagination .current {
    background: #555555;
    color: #fff;
}

.contents {
	width: 100%;
}
.home .contents {
	max-width: 100%;
}
.contents ul {
	list-style-type: none;
	padding-left: 0;
}
@media screen and (max-width: 768px) {
	.pagination{
  margin-bottom:35px;
 }
	.contents {
		padding-top: 0;
	}
}






.shadow {
	box-shadow:0px 3px 6px 0px rgba(0, 0, 0, 0.1);
}






/* Header
==================================================================================== */
.header {
	width: 100%;
	padding-top: 20px;
	margin-bottom: 20px;
}
.header .logo {
	position: relative;
	margin-bottom: 30px;
}

.header .logo p {
	text-align: center;
	z-index: 2;
	width: 25em;
	margin: 0 auto;
	position: relative;
}
.header .logo p a {
	color: #333;
	display: block;
}
.header .logo p span {
	font-size: 27px;
 font-size: 2.7rem;
	font-weight: bold;
	display: block;
}

.logo .wrap {
	position: absolute;
	top:0;
	left:2%;
	width: 96%;
}
.logo .wrap > div {
	float: left;
}
.logo .wrap > .geidan {
	width: 95px;
	margin-right: 25px;
}
.logo .wrap > .kaden {
	width: 90px;
	padding-top: 19px;
}
.logo .wrap > .bunka {
	width: 136px;
	padding-top: 15px;
	float: right;
}

.global-nav {
	letter-spacing: -.40em;
 text-align: center;
 font-size: 14px;
 font-size: 1.4rem;
}
.global-nav li {
	letter-spacing: 0.02em;
	display: inline-block;
	margin: 0 20px 5px;
	vertical-align: top;
}
.global-nav li:first-child {
 margin-left: 0;
}
.global-nav li:last-child {
 margin-right: 0;
}



@media screen and (max-width: 768px) {
	.home .header {
		padding-top: 0;
		position: relative;
		padding-bottom: 65px;
		margin-bottom: 30px;
	}
	.home .header .logo {
		position: absolute;
		bottom:0;
		margin-bottom: 0;
		width: 100%;
	}
	.home .header .logo p {
		display: none;
 }
	.home .logo .wrap {
		position: relative;
		top:auto;
		left:auto;
		width: 100%;
		
		letter-spacing: -.40em;
		text-align: center;
	}		
	.home .logo .wrap > div {
		float: none;
		letter-spacing: 0.02em;
		display: inline-block;
		vertical-align: top;
	}
	.home .logo .wrap > .geidan {
		width: 68px;
		margin: 0 5px;
	}
	.home .logo .wrap > .kaden {
		width: 64px;
		padding-top: 14px;
		margin: 0 5px;
	}
	.home .logo .wrap > .bunka {
		width: 97px;
		padding-top: 11px;
		float: none;
		margin: 0 5px;
	}	
.single .header,
.page-thanks .header,	
.page-symposium .header,
.page-id-7 .header,
.page-fellowship .heade,
.page-forum .header {
	padding-top: 10px;
}
.single .header .logo,
.page-thanks .header .logo,
.page-symposium .header .logo,
.page-id-7 .header .logo,
.page-fellowship .header .logo,
.page-forum .header .logo {
 margin-bottom: 10px;
}
.single .header .logo p,
.page-thanks .header .logo p,
.page-symposium .header .logo p,
.page-id-7 .header .logo p,
.page-fellowship .header .logo p,
.page-forum .header .logo p {
	text-align: left;
	width: 94%;
	margin: 0 auto;
	position: inherit;
	font-size: 12px;
 font-size: 1.2rem;
	line-height: 1.4;
}
.header .logo p a {
	display: inline-block;
}
.header .logo p span {
	font-size: 27px;
 font-size: 2.7rem;
}
.single .logo .wrap,
.page-thanks .logo .wrap,
.page-symposium .logo .wrap,
.page-id-7 .logo .wrap,	
.page-fellowship .logo .wrap,
.page-forum .logo .wrap {
	display: none;
}
	
}
@media screen and (max-width: 320px) {
.single .header .logo p,
.page-thanks .header .logo p,
.page-symposium .header .logo p,
.page-id-7 .header .logo p,
.page-fellowship .header .logo p,
.page-forum .header .logo p {
	font-size: 11px;
 font-size: 1.1rem;
}
.header .logo p span {
	font-size: 25px;
 font-size: 2.5rem;
}
}


.kv {
	background-color: #333;
}
.home .kv > .inner {
	background: url(../images/home/img_kv.jpg) 0 0 no-repeat;
	max-width: 1366px;
	margin: 0 auto; 
	display: table;
}
@media screen and (max-width: 768px) {
.home .kv > .inner {
	background: url(../images/home/img_kv.jpg) 0 0 no-repeat;
 background-size: cover;
}
}
.home .kv h1 {
	display: table-cell;
	width: 50%;
	vertical-align: middle;
	text-align: center;
	color: #fff;
	font-size: 36px;
 font-size: 3.6rem;
}
.home .kv .txt {
	display: table-cell;
	width: 50%;
}
.home .kv .txt .inner {
	width: 91%;
	background-color: rgba(255,255,255,0.85);
	height: 100%;
	padding: 60px;
}
.home .kv .txt .inner p:last-child {
	margin-bottom: 0;
}

.page-fellowship .kv .inner {
	background: url(../images/fellowship/img_kv.jpg) 0 0 no-repeat;
	width: 100%;
	max-width: 1366px;
	margin: 0 auto;
 background-size: cover;
	height: 180px;
	display: flex;
	align-items: center;
}
.page-forum .kv .inner {
	background: url(../images/forum/img_kv.jpg) 0 0 no-repeat;
	width: 100%;
	max-width: 1366px;
	margin: 0 auto;
 background-size: cover;
	height: 180px;
	display: flex;
	align-items: center;
}
.page-symposium .kv .inner {
	background: url(../images/symposium/img_kv.jpg) 0 0 no-repeat;
	width: 100%;
	max-width: 1366px;
	margin: 0 auto;
 background-size: cover;
	height: 180px;
	display: flex;
	align-items: center;
}
.single .kv .inner,
.page-thanks .kv .inner,
.page-id-7 .kv .inner {
	background: url(../images/contact/img_kv.jpg) 0 0 no-repeat;
	width: 100%;
	max-width: 1366px;
	margin: 0 auto;
 background-size: cover;
	height: 180px;
	display: flex;
	align-items: center;
}
.single .kv h1,
.page-thanks .kv h1,
.page-symposium .kv h1,
.page-forum .kv h1,
.page-fellowship .kv h1,
.page-id-7 .kv h1 {
	text-align: center;
	color: #fff;
	font-size: 30px;
 font-size: 3.0rem;
	font-weight: normal;
	width: 100%;
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
.home .kv > .inner {
	background: url(../images/home/img_kv.jpg) 0 0 no-repeat;
 background-size: cover;
	display: block;
	padding: 80px 0 50px;
}
.home .kv h1 {
	display: block;
	width: 100%;
	vertical-align: middle;
	font-size: 21px;
 font-size: 2.1rem;
	font-weight: normal;
}
.home .kv .txt {
	display: block;
	width: 100%;
	font-size: 12px;
 font-size: 1.2rem;
}
.home .kv .txt .inner {
	width: 94%;
	margin: 0 auto;
	padding: 20px 15px 15px 15px;
}
.home .kv .txt .inner p:last-child {
	margin-bottom: 0;
}
	
	.page-forum .kv .inner {
		background: url(../images/forum/img_kv.jpg) center 0 no-repeat;
		background-size: cover;
		height: 90px;

		display: flex;
	 align-items: center;
	}
	.page-fellowship .kv .inner {
		background: url(../images/fellowship/img_kv.jpg) center 0 no-repeat;
		background-size: cover;
		height: 90px;

		display: flex;
	 align-items: center;
	}
	.page-symposium .kv .inner {
		background: url(../images/symposium/img_kv.jpg) center 0 no-repeat;
		background-size: cover;
		height: 90px;

		display: flex;
	 align-items: center;
	}

	
	.single .kv .inner,
	.page-thanks .kv .inner,
	.page-id-7 .kv .inner {
		background: url(../images/contact/img_kv.jpg) 0 0 no-repeat;
		background-size: cover;
		height: 90px;
		
		display: flex;
	 align-items: center;
	}
	.single .kv h1,
	.page-thanks .kv h1,
	.page-symposium .kv h1,
	.page-forum .kv h1,
	.page-fellowship .kv h1,
	.page-id-7 .kv h1 {
		text-align: center;
		color: #fff;
		font-size: 18px;
		font-size: 1.8rem;
		font-weight: normal;
		width: 100%;
		margin-bottom: 0;
	}
	
}

.header ul {
	list-style-type: none;
	padding-left: 0;
}


/* Footer
==================================================================================== */
.footer {
	position: relative;
	margin: 100px auto 0;
	width: 100%;
	border-top: 1px solid #333;
}
.footer .footer-logo {
	list-style-type: none;
	padding-left: 0;
	letter-spacing: -.40em;
	text-align: center;
}
.footer .footer-logo li {
	letter-spacing: 0.02em;
	display: inline-block;
	margin: 0 15px;
	vertical-align: top;
}
.footer .footer-logo li:first-child {
	width: 95px;
}
.footer .footer-logo li:last-child {
	width: 90px;
	padding-top: 19px;
}
.footer h2 {
	font-size: 16px;
 font-size: 1.6rem;
	margin-bottom: 30px;
	text-align: center;
}
.footer h2 a {
 color: #333;
}
.footer p {
	text-align: center;
	font-size: 14px;
 font-size: 1.4rem;
}
.footer .button {
	margin-bottom: 30px;
}

.totop {
	text-align: center;
	margin: -21px auto 40px;
	width: 43px;
}
.footer .copyright {
	font-size:12px;
	font-size:1.2rem;
	text-align: center;
	background-color: #333;
	color: #fff;
	padding: 5px 0;
	margin: 0;
}

.footer .footer-nav {
	list-style-type: none;
	padding-left: 0;
	letter-spacing: -.40em;
	text-align: center;
 font-size: 14px;
 font-size: 1.4rem;
 margin-bottom: 0;
}
.footer .footer-nav li {
	letter-spacing: 0.02em;
	display: inline-block;
	padding: 0 10px;
	vertical-align: top;
 border-right: 1px solid #2D98C7;
 line-height: 1.2;
 margin-bottom: 1.5em;
}
.footer .footer-nav li:first-child {
 border-left: 1px solid #2D98C7; 
}

@media screen and (max-width: 768px) {
.footer h2 {
	font-size: 14px;
 font-size: 1.3rem;
	margin-bottom: 20px;
}
.footer .address {
	font-size: 12px;
 font-size: 1.2rem;
}
.copyright {
	font-size:10px;
	font-size:1.0rem;
}
}
@media screen and (max-width: 320px) {
.footer .address {
	letter-spacing: -0.5px;
}
}


/* Home
==================================================================================== */
.lineup {
	letter-spacing: -.40em;
	text-align: center;
	margin-bottom: 60px;
}
.lineup li {
	letter-spacing: 0.02em;
	display: inline-block;
	width: ;
	margin: 0 75px;
	vertical-align: top;
}
.lineup li a::after {
	content: "";
	background: url(../images/common/arrow_bottom.png) 0 0 no-repeat;
	-webkit-background-size: 18px ;
	background-size: 18px 11px;
	display: block;
	width: 18px;
	height: 11px;
	margin: 20px auto 0;
}
@media screen and (max-width: 768px) {
	.lineup {
		letter-spacing: -.40em;
		text-align: center;
		margin-bottom: 30px;
		font-size: 12px;
		font-size: 1.2rem;
	}
	.lineup li {
		letter-spacing: 0.02em;
		display: inline-block;
		width: 33%;
		margin: 0;
		vertical-align: top;
	}
	.lineup li:first-child {
		width: 34%;
	}
	.lineup li a::after {
		margin: 10px auto 0;
	}
}
@media screen and (max-width: 320px) {
 .lineup {
		font-size: 11px;
  font-size: 1.1rem;
	}
	.lineup li {
	}
}


.info {
	width: 94%;
	max-width: 1000px;
	margin: 0 auto 80px;
	background-color: #EAF1F2;
	padding: 40px 95px 30px;
}
.info h2 {
	margin-bottom: 30px;
	font-size: 24px;
 font-size: 2.4rem;
	text-align: center;
	letter-spacing: 2px;
}
.info dl {
	font-size: 14px;
 font-size: 1.4rem;
}
.info dt {
clear: both;
float: left;
width: 17em;
margin-bottom: 1em;
}
.info dt span {
	display: inline-block;
	text-align: center;
	color: #fff;
	background-color: #333;
	width: 10em;
	float: right;
	margin-right: 1em;
	font-size: 12px;
 font-size: 1.2rem;
	line-height: 1.9;
}
.info dd {
padding-left: 17em;
margin: 0 0 1em 0;
}
@media screen and (max-width: 768px) {
.info {
	width: 100%;
	padding: 35px 15px 10px;
}
.info h2 {
	margin-bottom: 20px;
}
.info dl {
	font-size: 12px;
 font-size: 1.2rem;
}
.info dt {
float: none;
width: 100%;
margin-bottom: 1em;
}
.info dt span {
	float: none;
	margin: 0 0 0 10px;
}
.info dd {
padding-left: 0;
margin: 0 0 2em 0;
}
}


.menu {
	margin-bottom: 65px;
}
.menu .inner {
	width: 94%;
	max-width: 1030px;
	margin: 0 auto;
	
	display: flex;
	align-items: center;
}
.menu .img {
	width: 58%;
}
.menu .txt {
	text-align: center;
	vertical-align: middle;
	width: 38%;
 margin-right: 4%;
}
.menu .txt h2 {
	font-weight: normal;
	font-size: 36px;
 font-size: 3.6rem;
 margin-bottom: 20px;
}
.menu .txt .para {
	font-size: 14px;
 font-size: 1.4rem;
 margin: 0 0 35px;
 text-align: left;
}
#menu02 .txt {
 margin-right: 0;
 margin-left: 4%;
}

#menu01 .txt,
#menu03 .txt {
	order: -1;
}
#menu02 {
	background-color: #333;
}
#menu02 h2,
#menu02 .para {
	color: #fff;
}
#menu02 {
 padding-top: 50px;
 padding-bottom: 50px;	
}

@media screen and (max-width: 768px) {
.menu .inner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.menu .img {
	width: 87%;
	max-width: 600px;
	margin: 0 auto 30px;
}
.menu .txt {
	width: 100%;
 margin: 0 auto;
}
#menu02 .txt {
 margin-right: auto;
 margin-left: auto;
}
.menu .txt h2 {
	font-size: 27px;
 font-size: 2.7rem;
}

#menu01 .txt,
#menu03 .txt {
	order: 2;
}
#menu02 {
 padding-top: 50px;
 padding-bottom: 30px;	
}
#menu02 h2 {
	color: #fff;
}
 
.menu .txt .para {
 margin: 0 auto 35px;
 width: 100%;
 max-width: 600px;
}
#menu02 .txt .para {
 margin: 0 auto 35px;
}
}



/* Business
==================================================================================== */
.lead {
	width: 94%;
	max-width: 1000px;
	margin: 0 auto 50px;
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.lead .txt {
	width: 72%;
 margin-right: 5%;
}
.lead div.pdf {
	width: 23%;
 margin:0 auto;
}
.lead div.pdf div {
	width: 100%;
	max-width: 122px;
	border: 1px solid #ccc;
	margin: 0 auto 20px;
}
@media screen and (max-width: 768px) {
	.lead {
		margin-bottom: 30px;
	}
	.lead .txt {
		width: 100%;
		margin: 0 0 20px;
	}
	.lead div.pdf {
		width: 100%;
	}
	.lead div.pdf div {
		width: 83px;
		border: 1px solid #ccc;
		margin: 0 auto 20px;
	}
}


.table {
	width: 94%;
	max-width: 860px;
	margin: 0 auto 40px;
	border-top: 8px solid #c4c4c4;
	border-left: 8px solid #c4c4c4;
	border-right: 7px solid #c4c4c4;
	border-bottom: 7px solid #c4c4c4;
}

.table th,
.table td {
	padding: 15px;
	border-right: 1px solid #c4c4c4;
	border-bottom: 1px solid #c4c4c4;
}
.table th {
	background-color: #EAF1F2;
	width: 20%;
}
.table td p:last-child,
.table td ol {
	margin-bottom: 0;
}
.table .button {
text-align:left;
margin-left:0;
}
@media screen and (max-width: 420px) {
.table {
	margin: 0 auto 40px;
	border-top: 8px solid #c4c4c4;
	border-left: 8px solid #c4c4c4;
	border-right: 7px solid #c4c4c4;
	border-bottom: 7px solid #c4c4c4;
}

.table th,
.table td {
	display: block;
	padding: 10px;
	border-right: 1px solid #c4c4c4;
	border-bottom: 1px solid #c4c4c4;
}
.table th {
	width: 100%;
	border-bottom: none;
}
}


.txt_submit {
	width: 94%;
	max-width: 650px;
	margin: 0 auto;
}
.txt_submit p:first-child {
 margin-bottom: 50px;	
}
@media screen and (max-width: 768px) {
.txt_submit p:first-child {
 margin-bottom: 25px;	
}
}


.list_file {
	display: flex;
	justify-content: center;
	margin-bottom: 60px;
}
.list_file li {
	margin: 0 12px;
}

@media screen and (max-width: 768px) {
.list_file {
	display: flex;
	justify-content: center;
	margin-bottom: 25px;
	
	flex-wrap: wrap;
}
.list_file li {
	margin: 0 auto 20px;
	width: 15em;
}
	.list_file li a {
		display: block;
	}
}

.pdf > a > span::before {
	content: "";
	background: url(../images/common/icon_pdf.png) 0 0 no-repeat;
	background-size: 23px 25px;
	width: 23px;
	height: 27px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}
.pdf > a:hover > span::before {
	background: url(../images/common/icon_pdf_on.png) 0 0 no-repeat;
	background-size: 23px 25px;
}
.excel > a > span::before {
	content: "";
	background: url(../images/common/icon_excel.png) 0 0 no-repeat;
	background-size: 22px 25px;
	width: 22px;
	height: 27px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}
.excel > a:hover > span::before {
	background: url(../images/common/icon_excel_on.png) 0 0 no-repeat;
	background-size: 22px 25px;
}

.link-form > a > span::before {
	content: "";
	background: url(../images/common/icon_form.png) 0 0 no-repeat;
	background-size: 25px 24px;
	width: 25px;
	height: 26px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}
.link-form > a:hover > span::before {
	background: url(../images/common/icon_form_on.png) 0 0 no-repeat;
	background-size: 25px 24px;
}









.paging {
	position: relative;
}
.paging .next {
	float: right;
	display: inline-block;
}
.paging .prev {
	float: left;
	display: inline-block;
}
.paging .button {
	position: absolute;
	top:0;
	left: calc(50% - 4.5em);
	width: 9em
}
@media screen and (max-width: 768px) {
	.paging {
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 320px) {
	.paging .button {
		clear:both;
		position: relative;
		top:auto;
		left: auto;
		margin: 0 auto;
		padding-top: 15px;
	}
	.paging .button a {
		width: 80%;
		display: block;
		margin: 0 auto;
	}
}


.pager {
	display: table;
	width: 100%;
	padding: 25px 0 15px;
}
.pager > div {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
.pager > div a {
	display: block;
}
.pager .back {
	width: 17.0666666662%;
	max-width: 23px;
}
.pager .back img {
	width: 35.9375%;
	max-width: 23px;
}
.pager .prev {
	border-right: 1px solid #396B8D;
	width: 41.466666667%;
	box-sizing: border-box;
}
.pager .next {
	border-left: 1px solid #396B8D;
	width: 41.466666667%;
	box-sizing: border-box;
}
.pager .num {
	color: #F3590D;
	font-size: 24px;
 font-size: 2.4rem;
	margin-bottom: 0;
	position: relative;
}
.pager .ttl {
	color: #ffffff;
	margin-bottom: 0;
}
.pager i {
	color: #F3590D;
	font-size: 16px;
 font-size: 1.6rem;
 position: absolute;
	line-height: 1;
	margin-top: -.55em;
}
.pager .prev i {
	left:30px;
	top:50%;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}
.pager .next i {
	right:30px;
	top:50%;
}


.slbtn {
	margin: 0 auto 20px;
	border-bottom: 1px solid #8B8B8B;
	padding-bottom: 30px;
}
.slbtn ul {
	list-style-type: none;
	padding-left: 0;
	letter-spacing: -.40em;
	text-align: center;
}
.slbtn li {
	display: inline-block;
	letter-spacing: 0.02px;
	vertical-align: top;
	margin: 0 10px;
}
.fb_iframe_widget > span {
  vertical-align: baseline !important;
}
.slbtn li a {
	display: block;
}
.slbtn li a:hover {
	opacity: .7;
}




/* Contact
==================================================================================== */
.tbl-contact {
	margin-bottom: 20px;
	font-size: 14px;
 font-size: 1.4rem;
	border: none;
}
.tbl-contact th,
.tbl-contact td {
	vertical-align: top;
	border: none;
	border-bottom: 3px solid #fff;
}
.tbl-contact th {
	padding: 30px 15px 10px 35px;
	width: 18em;
}
.tbl-contact td {
	padding: 20px 15px 20px 0;
	box-sizing: border-box;
}

.tbl-contact tr:nth-child(odd) th,
.tbl-contact tr:nth-child(odd) td {
	background-color: #EAF1F2;
}
.tbl-contact tr:nth-child(even) th,
.tbl-contact tr:nth-child(even) td {
	background-color: #D3E1E6;
}
@media screen and (max-width: 768px) {
	.tbl-contact {
		margin-bottom: 20px;
		font-size: 14px;
		font-size: 1.4rem;
	}
	.tbl-contact th,
	.tbl-contact td {
		display: block;
	}
	.tbl-contact th {
		padding: 10px 10px 5px 10px;
		width: 100%;
		border-bottom: none;
	}
	.tbl-contact td {
		padding: 0 10px 10px 10px;
	}
}

.req {
	background: #747474;
	color: #fff;
	padding: 0 12px;
	border-radius: 4px;
	font-size: 13px;
	font-size: 1.3rem;
	float: right;
}
.any {
	background: #fff;
	padding: 0 12px;
	border-radius: 4px;
	font-size: 13px;
	font-size: 1.3rem;
	float: right;
}
.label {
	display: inline-block;
}

.wrap-contact input[type="text"],
.wrap-contact input[type="tel"],
.wrap-contact input[type="email"] {
	height: 39px;
	width: calc(100% - 25px);
	max-width: 518px;
	padding: 0 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
}
.wrap-contact textarea {
	height: 114px;
	border: 1px solid #ccc;
	width: calc(100% - 25px);
	padding: 0 10px;
}
@media screen and (max-width: 768px) {
	.wrap-contact {
		width: 94%;
		margin-left: auto;
		margin-right: auto;
	}
}
label.checkbox, label.radio, .wpcf7-list-item-label {
	font-weight: bold;
}
.wrap-contact input[type=radio] {
  display: none;
}
.radio .wpcf7-list-item-label {
  box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  /*margin: 0 20px 8px 0;*/
  padding: 8px 12px 2px 30px;
  border-radius: 8px;
  vertical-align: middle;
  cursor: pointer;
}

.wpcf7-list-item-label,
.checkbox {
  box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  margin: 0 20px 8px 0;
  padding: 12px 12px 12px 30px;
  border-radius: 8px;
  vertical-align: middle;
  cursor: pointer;
}

.preference .checkbox {
	margin: 0;
	padding: 5px 12px 5px 30px;
}

.wrap-contact input[type=radio] + .wpcf7-list-item-label:after,
.radio .wpcf7-list-item-label:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 56%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #bbb;
  border-radius: 10px;
  content: '';
  background: #fff;
}

.wrap-contact input[type=checkbox] + .wpcf7-list-item-label:after,
.checkbox:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 56%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #bbb;
  border-radius: 6px;
  content: '';
  background: #fff;
}

.wrap-contact input[type=checkbox] + .wpcf7-list-item-label:before,
.wrap-contact input[type=radio] + .wpcf7-list-item-label:before,
.checkbox:before,
.radio .wpcf7-list-item-label:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 56%;
  left: 6px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 1;
}

.wrap-contact input[type=checkbox]:checkedafter {
	background: green;
}

.wrap-contact input[type=checkbox]:checked + .wpcf7-list-item-label:before,
.wrap-contact input[type=checkbox]:checked + .checkbox:before,
.wrap-contact input[type=radio]:checked + .wpcf7-list-item-label:before {
  opacity: 1;
}

.wrap-contact input[type=checkbox]:checked + .wpcf7-list-item-label:after,
.wrap-contact input[type=checkbox]:checked + .checkbox:after,
.wrap-contact input[type=radio]:checked + .wpcf7-list-item-label:after {
	background: #B29A4D;
	border-color: #B29A4D;
}

.wrap-contact select {
		width: 100%;
		height: 45px;
		margin-bottom: 20px;
		-webkit-appearance:none;
		background: #fff url(../images/common/arrow_selectbox.png) 96% no-repeat;
		-moz-appearance: none;
		-webkit-appearance: none;
		appearance: none;
		border: 1px solid #ccc;
		border-radius: 4px;
		padding-left: 10px;
		vertical-align: middle;
		color: #333;
		box-sizing: content-box;
}
.wrap-contact .your-era select,
.wrap-contact .your-year select,
.wrap-contact .your-month select,
.wrap-contact .your-day select {
	width: 23.5%;
	max-width: 100px;
}

.btn-submit {
	max-width: 500px;
	width: 94%;
	margin: 0 auto;
}
.btn-submit input[type="submit"] {
	color: #fff;
	background: #2D98C7;
	border: 0;
	font-size: 24px;
	font-size: 2.4rem;
	border-radius: 6px;
	width: 100%;
	height: 75px;
 line-height: 75px;
	letter-spacing: 1em;
	text-indent: 1em;
	cursor: pointer;
}
.area_formbutton input[type="button"] {
	color: #333;
	background: #EBEAE8;
	border: 0;
	font-size: 2.4rem;
	border-radius: 6px;
	width: 25%;
	margin: 0 auto;
	height: 75px;
 line-height: 75px;
	cursor: pointer;
}
.area_formbutton input.submitbtn {
	width: 40%;
	max-width: 200px;	
	margin: 0 auto;
}
.area_formbutton input[type="submit"]:hover,
.area_formbutton input[type="button"]:hover {
	opacity: .7;
}
.btn-submit input[type="submit"]:disabled {
	cursor: default;
	background: #aaaaaa;
}


/* thank you  */
.thank_you_message {
	text-align: center;
	margin-top: 100px;
}
.thank_you_message h3 {
	background: url(../images/reservation/thankyou.png) center no-repeat;
	background-size: 621px;
	max-width: 621px;
	width: 94%;
	height: 130px;
	line-height: 170%;
	text-align: center;
	font-size: 2rem;
	font-weight: normal;
	margin: 0 auto;
	padding-top: 50px;
}
.thank_you_message .para {
	margin-top: 70px;
}
.thank_you_message strong {
	color: #FFBC64;
	font-weight: normal;
}
@media screen and (max-width: 768px) {
	.sign_mandatory {
		float: none;
		display: inline-block;
		margin-left: 	10px;
	}
	.pick_day, .pick_time {
		width: 100%;
		float: none;
	}
	.thank_you_message h3 {
		background-size: 94%;
	}
	.thank_you_message .para {
		width: 94%;
		margin: 70px auto 0;
	}
}


@media screen and (max-width: 768px) {
	.wpcf7-form-control-wrap {
		width: 100%;
		box-sizing: border-box;
	}
	.wrap-contact select {
		box-sizing: border-box;
	}
	span.wpcf7-list-item {
		margin: 0;
	}
	.wpcf7-list-item-label,
	.checkbox {
		margin: 0 0 8px 0;
	}
}

.wpcf7-text:-webkit-autofill {
  box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0) inset;
}
input:-webkit-autofill {
  box-shadow: 0 0 0px 1000px rgba(255, 255, 255, 0) inset;
	 -webkit-box-shadow: 0 0 0px 1000px rgba(255, 255, 255, 0) inset;
}

.appro { text-align: center;}


/* News
==================================================================================== */
.wrap-news .img {
	width: 200px;
	margin: 0 auto 1em;
}