@charset "UTF-8";



/*---------------------------------------

[reset]

[base]
	font
	anchor
	add class

[common set-up]
	h
	pagetop link

[lower common]

[each page]

[common contents]
	container
	header
	main contents
	footer
	print

[clearfix]

[cms setting]

---------------------------------------*/

/* CSS Document */
/*===============================================
●style.css
===============================================*/
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	word-wrap: break-word;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote {
	margin: 0;
	padding: 0;
}

header,nav,section,aside,footer {
	display: block;
}

table {
	border-spacing: 0;
}

fieldset,img,a img,abbr,acronym {
	border: 0;
}

li img,dt img {
	vertical-align: top;
}

address,caption,cite,code,dfn,th,var {
	font-style: normal;
	font-weight: normal;
}

caption,th {
	text-align: left;
}

h1,h2,h3,h4,h5,h6 {
	font-weight: normal;
}

q:before,q:after {
	content: '';
}
a {
	outline: none;
}



button, fieldset, form, input, label, legend, select, textarea {
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}

@media (min-width: 751px) {
a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}
}

/*---------------------------------------  */
.pc
.forPc {
	display: inline;
}

.sp,
.forSp {
	display: none;
}

.forTab {
	display:none;
}


@media screen and (max-width:498px){
.pc,
.forPc {
	display:none;
}
.sp,
.forSp {
	display:inherit;
}
}
@media screen and (max-width:978px){
.forTab {
	display:block;
}
.forPcNoneTab {
	display:none;
}

}

@media screen and (min-width:768px) and ( max-width:1024px) {
			.tabNone {
				display:none;
			}
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: base */

:root {
  /* サイト幅 */
  --contents-size: 978px;
  
  /* 共通カラー設定 */
  --main-color: #780d33;
  --main-color02: #a65c77;
  --main-color03: #780d33; /* 濃いめ */
  --sub-color01: #efe7ec;
  --sub-color04: #000;
  
  /* font */
  --font01: 游ゴシック, YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, "PT Sans", "Lucida Grande", sans-serif;
  --font02: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/*
var(--main-color);
*/

/*--------------------------------------- font */
html {
	font-size: 62.5%;
/* 1em=10px化 */
}

body {
  font-family: var(--font01);
	line-height: 1.5;
	color: #171717;
	-webkit-text-size-adjust: 100%;
	font-size: 1.6em;
/* 基準フォントサイズ1.4em=14px */
}

@media screen and (max-width:779px) {
	html,body {
		-webkit-text-size-adjust: 100%;
		-webkit-overflow-scrolling: touch;
	}
	body {
		font-size: 1.4em;
	}
}
@media screen and (max-width:498px) {
	body {
		font-size: 1.3em;
	}
}

/*----------------------- color */
/* red */
.red {
	color: #FF0000;
}

/* white */
.topicsList span.category,
.topicsList span.new {
	color: #FFFFFF;
}

/* gray */
.topicsList .date {
	color:#5a5a5a;
}

/* black */
.black {
	color: #0b0b0b;
}

/*----------------------- size */
/* size10px */
.swiper-container .supplement,
.topicsList .date {
	font-size: 0.71em;
}

/* size12px */
.copy {
	font-size: 0.85em;
}
 									@media screen and (max-width:498px){
										.copy {
											font-size: 0.75em;
										}
									}

/* size13px */
footer li li,
.small {
	font-size: 0.94em;
}

/* size14px */
.size14 {
	font-size: 1.0em;
}

/* size16px */
#wrapper nav ul li,
article,
.topics .title{
	font-size: 1.14em;
}
 									@media screen and (max-width:498px){
										#wrapper nav ul li,
										article,
										.topics .title{
											font-size: 0.9em;
										}
									}

/* size18px */

footer,
.navigation2 li a {
	font-size: 1.28em;
}

/* size20px */
.swiper-container {
	font-size: 1.42em;
}


/* size22px */
 h3{
	font-size: 1.57em;
}

/* size24px */
 {
	font-size: 1.77em;
}
 									@media screen and (max-width:498px){
										footer  dt {
											font-size: 1.57em;
										}
									}


/* size46px */
.lower h1,
.common h2 {
	font-size: 3.31em;
}


/*--------------------------------------- font-family */
/* Quicksand */
h2{
font-family: 'Roboto Slab';
}


/*--------------------------------------- anchor */

a:link,
a:visited {
	color: var(--main-color);
	text-decoration:none;
}

a:active,
a:hover {
	color: var(--main-color02);
	text-decoration:none;
}

/* white */
.body_common .con01 li span,
footer li a,
footer li a:link,
footer li a:visited,
footer li a:active,
.btn a:link,
.btn a:visited,
.btn_about a:link,
.btn_about a:visited {
	color:#FFF;
}

/* gray */
footer li li a,
footer li li a:link,
footer li li a:visited,
footer li li a:active {
	color:#867f83;
}


/*--------------------------------------- add class */

.floatL {
	float: left;
}

.floatR {
	float: right;
}

.clearB {
	clear: both;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.bold {
	font-weight: bold;
}


.pt80 {
	padding-top: 80px;
}
					@media screen and (max-width:498px){
							.pt80 {
									padding-top: 40px;
							}
						}

.mb1em {
	margin-bottom: 1em;
}
.mb5 {
	margin-bottom: 5px;
}
.mb80 {
	margin-bottom: 80px;
}

.hidden {
	display:none;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: common set-up */
.logo {
  font-size: 1em;
  margin-bottom: 10px;
}
.lower h1 {
	clear: both;
	padding: 60px 0;
	color: #FFF;
	text-align:center;
	font-weight:normal;
	letter-spacing:0.05em;
	width:100%;
	font-size: 2.7em;
  background-image:url(../img/lower_bg.jpg);
	background-size:100% auto;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: top left;
}

                  @media screen and (max-width:498px) {
                      .lower h1 {
                        padding: 30px 0;
                        background-position: 0 0;
                        background-image:url(../img/lower_bg_sp.jpg);
                      }
                      }

.lower h1 span {
	display:block;
	font-size:0.5em;
	color:#000;
}

.default h2 {
	width:100%;
	font-size: 1.8em;
	color:#323239;
	position:relative;
	font-family: "游ゴシック", YuGothic,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
									@media screen and (max-width:498px){
										.default h2 {
											font-size: 1.3em;
										}
									}

.default h2 span {
	width: 71%;
    position: relative;
    line-height: 1.4;
    padding: 2.6em 2em 2em 0;
    display: inline-block;
    text-align: left;
}
 									@media screen and (max-width:798px){
										.default h2 span {
											width:100%;
										}
									}

						@media screen and (max-width:498px){
							.default h2 span {
									padding: 1em 1em 1em 0;
							}
						}
    
	
	
.default h2 span:before,
.default h2 span:after { 
  content:'';
  width: 120px;
  height: 50px;
  position: absolute;
  display: inline-block;
}
						@media screen and (max-width:498px){
							.default h2 span:before,default h2 span:after { 
									width: 90px;
							}
						}


.normal h2 {
	color: var(--main-color02);
	margin-bottom:20px;
	line-height:1.5;
	font-size: 1.8em;
}
									@media screen and (max-width:498px){
										.normal h2 {
											font-size: 1.4em;
										}
									}

h3 {
	clear: both;
	margin: 0 auto 50px;
  width: 100%;
  max-width: 978px;
  text-align: center;
}
						@media screen and (max-width:498px){
							h3 {
                margin: 0 auto 30px;
							}
						}
.default h3 {
  text-align: left;
}
						@media screen and (max-width:498px){
              .default h3 {
                text-align: center;
							}
						}

h3 span.line01,
h3 span.line02 {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  display:inline-block;
  position: relative;
  
}
h3 span.line01:before,
h3 span.line01:after,
h3 span.line02:before,
h3 span.line02:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background-image: -webkit-gradient(linear, right top, left top, from(#e2b6c5), to(#780d33));
  background-image: -webkit-linear-gradient(right, #e2b6c5 0%, #780d33 100%);
  background-image: linear-gradient(-90deg, #e2b6c5, #780d33);
}
h3 span.line02:before,
h3 span.line02:after {
  background-image: -webkit-gradient(linear, right top, left top, from(#780d33), to(#e2b6c5));
  background-image: -webkit-linear-gradient(right, #780d33 0%, #e2b6c5 100%);
  background-image: linear-gradient(-90deg, #780d33, #e2b6c5);
}
h3 span.line02 {
  padding: 15px 80px;
}
h3 span.line01:before {
  bottom: 4px;

}

h3 span.line01:after {
  bottom: 0;
}
h3 span.line02:before {
  top: 4px;

}

h3 span.line02:after {
  top: 0;
}

h3 span.date {
  display:block;
  font-size:0.6em;
  color:#000;
  margin-top:5px;
}

h4 {
	clear: both;
	margin: 0 0 35px;
	padding:30px 0;
	font-size: 1.4em;
	font-weight: bold;
	background-image: -webkit-linear-gradient(left, #2F2E2E 2px, transparent 2px, transparent 100%);
    background-image: -o-linear-gradient(left, #2F2E2E 2px, transparent 2px, transparent 100%);
    background-image: linear-gradient(to right, #2F2E2E 2px, transparent 2px, transparent 100%);
    background-repeat: repeat-x;
    background-position: left bottom;
    background-size: 10px 1px;
}

h5 {
	clear: both;
	margin: 0 0 20px;
	font-size: 1.2em;
	font-weight: bold;
	color: #666;;
	border-left: 4px solid #7fac1f;
	padding-left:15px;
}

h6 {
	clear: both;
	margin: 0 0 10px;
	padding: 4px 10px 4px 11px;
	font-size: 1.1em;
	font-weight: bold;
	color: #7fac1f;
}

@media screen and (max-width: 779px) {
	.lower h1,
	h2 {
		font-size: 2em;
	}
	h3 {
		font-size: 1.3em;
	}
	h4 {
		font-size: 1.1em;
	}
	h5,h6 {
		font-size: 1em;
	}
}

/* img */
.imgResponse {
    width:100%;
}

/* btn */
.btn ,
.btn_about {
	clear: both;
}
.btn a {
	width:50%;
  padding:1.4em 0;
	border-radius: 4px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
  display: inline-block;
  text-decoration: none;
  font-weight: bold;
  border-radius: 4px;
  background-image: linear-gradient(-90deg, #000, var(--main-color));
  transition: .5s;
  background-size: 200%;
}
.link_box{
	margin-top:50px;
	text-align:center;
}
.btn a:hover {
  background-position: right center;
}
.btn_about{
	display:inline;
	margin-right:2%;
	margin-left:2%;
}
.btn_about a {
	width:40%;
  padding:0.5em 0;
	border-radius: 4px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
  display: inline-block;
  text-decoration: none;
  font-weight: bold;
  border-radius: 4px;
  background-image: linear-gradient(-90deg, #000, var(--main-color));
  transition: .5s;
  background-size: 200%;
}
.btn_about a:hover {
  background-position: right center;
}



/* btn02 */
.btn02 {
	clear:both;
	margin:30px 0;
}
.btn02 a{
	position: relative;
	display: inline-block;
	padding: .5em 4em;
	text-align: center;
	text-decoration: none;
	color:#FFF;
	border:solid 1px #FFF;
}
.btn02 a::after {
	position: absolute;
	top: 50%;
	right: .2em;
	content: '';
	margin-top: -5px;
	border: 7px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: #FFF;
	transition: all .2s;
}
.btn02 a:hover::after {
	right: -.05em;
  border-left-color: #ccc;
}
.btn02 a:hover {
	background-color: #FFF;
  color:#ccc;
}

/* arrow */
header nav li li span,
.swiper-container .btn span,
.catchCopy .btn span,
.topics .supplement li a span,
.btn_about span,
.arrow a{
    position: relative;
    display: inline-block;
    padding: 0 22px 0 0;
    vertical-align: middle;
    text-decoration: none;
}
.topics .supplement li a span::before,
.topics .supplement li a span::after,
.swiper-container .btn span::before,
.swiper-container .btn span::after,
.catchCopyr .btn span::before,
.catchCopy .btn span::after,
header nav li li span::before,
header nav li li span::after,
.btn_about span::before,
.btn_about span::after,
.arrow a::before,
.arrow a::after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.topics .supplement li a span::before,
.swiper-container .btn span::before,
.catchCopy .btn span::before,
header nav li li span::before,
.btn_about span::before,
.arrow a::before{
    width: 12px;
    height: 12px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: var(--main-color);
}

.topics .supplement li a span::after,
.swiper-container .btn span::after,
.catchCopy .btn span::after,
header nav li li span::after,
.btn_about span::after,
.arrow a::after{
    right: 5px;
    width: 3px;
    height: 3px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

       /* 16size */
      .topics .supplement li a span::before,
      .swiper-container .btn span::before{
            width: 16px;
            height: 16px;
      }
      .topics .supplement li a span::after,
      .swiper-container .btn span::after {
            right: 6.5px;
            width: 4px;
            height: 4px;
      }

/* table */
table{
  /*width: 100%;*/
  border-collapse: collapse;
}

table tr{
  border-bottom: solid 2px white;
}

table tr:last-child{
  border-bottom: none;
}

table th{
  position: relative;
  text-align: left;
  width: 30%;
  background-color: var(--main-color);
  color: #FFF;
  text-align: center;
  padding: 10px 0;
}

table th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid var(--main-color);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

/*table td{
  text-align: left;
  width: 70%;
  background-color: #f5f6f5;
  padding: 20px 10px 20px 30px;
}*/

table[border="0"],
table[border="0"] th,
table[border="0"] td {
	border: none;
}
table[border="1"],
table[border="1"] th,
table[border="1"] td {
	border: 1px solid #CCCCCC;
}
@media screen and (max-width:479px) {
	table th {
		width: auto !important;
	}
	table.responsive tr{
		display: block;
	}
	table.responsive th,
	table.responsive td{
		text-align:left;
		width:100% ;
		display: list-item;
		list-style:none;
		padding: 10px;
	}
	table.responsive tr table{
		display: table;
	}
	table.responsive th table th,
	table.responsive td table td{
		width:auto !important;
		display: table-cell;
	}
	table.noresponsive tr{
		display: table-row;
	}
	table.noresponsive th,
	table.noresponsive td{
		text-align:left;
		width:100% !important;
		display: table-cell;
		list-style:none;
	}
	table.noresponsive tr table{
		display: table;
	}
	table.noresponsive th table th,
	table.noresponsive td table td{
		width:auto !important;
		display: table-cell;
	}
	table th:after {
		display:none;
	}
}

/* breadCrumb */
.breadCrumb {
	font-size: 0.9em;
  background-color:var(--sub-color01);
}
.breadCrumb ul {
	margin: 0 auto;
	padding: 0.5em 20px;
	margin: 0 auto;
  max-width: var(--contents-size);
}
.breadCrumb li {
	display: inline-block;
  list-style:none;
}
.breadCrumb li a {
	color: #424242;
	background: transparent url(../img/breadcrumb.png) no-repeat scroll right center;
	margin-right: 2px;
	padding-right: 16px;
	text-decoration: none;
}

/* mkr */
.txt_mkr_lime {
    background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(229,245,120,0)),color-stop(.5,rgba(229,245,120,0)),color-stop(.6,#e5f578),color-stop(.98,#e5f578),to(rgba(229,245,120,0)));
    background-image: -webkit-linear-gradient(top,rgba(229,245,120,0),rgba(229,245,120,0) 63%,rgba(255,255,255,.6) 64%,rgba(255,255,255,.6) 67%,rgba(229,245,120,0) 68%),-webkit-linear-gradient(top,rgba(229,245,120,0),rgba(229,245,120,0) 55%,rgba(255,255,255,.5) 56%,rgba(255,255,255,.5) 60%,rgba(229,245,120,0) 61%),-webkit-linear-gradient(271deg,rgba(229,245,120,0),rgba(229,245,120,0) 50%,#e5f578 60%,#e5f578 99%,rgba(229,245,120,0)),-webkit-linear-gradient(top,rgba(229,245,120,0),rgba(229,245,120,0) 50%,#e5f578 60%,#e5f578 99%,rgba(229,245,120,0));
    background-image: linear-gradient(to bottom,rgba(229,245,120,0),rgba(229,245,120,0) 63%,rgba(255,255,255,.6) 64%,rgba(255,255,255,.6) 67%,rgba(229,245,120,0) 68%),linear-gradient(to bottom,rgba(229,245,120,0),rgba(229,245,120,0) 55%,rgba(255,255,255,.5) 56%,rgba(255,255,255,.5) 60%,rgba(229,245,120,0) 61%),linear-gradient(179deg,rgba(229,245,120,0),rgba(229,245,120,0) 50%,#e5f578 60%,#e5f578 99%,rgba(229,245,120,0)),linear-gradient(to bottom,rgba(229,245,120,0),rgba(229,245,120,0) 50%,#e5f578 60%,#e5f578 99%,rgba(229,245,120,0));
}


/* colorframe */
.colorframe {
	
    -webkit-box-shadow: 2px 3px 5px -3px rgba(0, 0, 0, 0.3);
    box-shadow: 2px 3px 5px -3px rgba(0, 0, 0, 0.3);
	padding:30px;
	border-radius: 10px;
}
.colorframe.white { background-color: #FFF;}
.colorframe.beige { background-color: #F8F5EE;}


/* youtube */
.youtube {
  position:relative;
  margin:0 0 60px;
}
						@media screen and (max-width:498px){
							.youtube {
                margin:90px 0 0;
							}
              }
.Documentary__showMovieButton {
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
.Documentary__play {
  display: flex;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%
}
.Documentary__playItem {
  display: block;
  position: relative;
  width: 60px;
  height: 60px;
  border: 1px solid #fff;
  border-radius: 50%
}
.Documentary__playItem::after,
.Documentary__playItem::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%
}
.Documentary__playItem::before {
  width: 0;
  height: 0;
  -webkit-transform: translate(-35%,-50%);
  transform: translate(-35%,-50%);
  border-width: 11.5px 0 11.5px 23px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
}
.Documentary__playItem::after {
  width: 60px;
  height: 60px;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  border-radius: 50%;
  opacity: 0;
  background: rgba(255,255,255,.2);
}
.Documentary__subBlock .Documentary__playItem {
  width: 40px;
  height: 40px
}
.Documentary__subBlock .Documentary__playItem::before {
  border-width: 7.5px 0 7.5px 15px
}
.Documentary__subBlock .Documentary__playItem::after {
  width: 40px;
  height: 40px
}
.Documentary__thumbnailWrap:hover .Documentary__playItem::after {
  -webkit-animation: .6s linear 0s 1 alternate circleOutAnimation;
  animation: .6s linear 0s 1 alternate circleOutAnimation;
}
.Documentary__thumbnailWrap {
  position: relative;
  flex: none;
  box-shadow: 0 15px 45px 0 rgba(0,0,0,.15),0 10px 15px 0 rgba(0,0,0,.2);
  line-height: 0;
}
@media (max-width:700px) {
  .Documentary__thumbnailWrap {
    box-shadow: none
  }
}
@media (--small-screen) {
  .Documentary__thumbnailWrap {
    box-shadow: none
  }
}
.Documentary__thumbnail {
  width: 100%;
  height: 100%
}
@media (min-width:701px) {
  .Documentary__thumbnail {
    transition: .3s;
  }
  .Documentary__thumbnailWrap {
    overflow: hidden
  }
  .Documentary__thumbnailWrap:hover {
    cursor: pointer
  }
}
@media (--not-small-screen) {
  .Documentary__thumbnail {
    transition: .3s;
  }
  .Documentary__thumbnailWrap {
    overflow: hidden
  }
  .Documentary__thumbnailWrap:hover {
    cursor: pointer
  }
}

@media (min-width:701px) {
  .youtube a {
    width: 448px;
    height: 252px;
    display:block;
    margin: 0 auto;
  }
  .Documentary__thumbnailWrap {
    position: absolute;
    width: 448px;
    height: 252px;
    top: 0;
    order: 4
  }
}
@media (--not-small-screen) {
  .Documentary__thumbnailWrap {
    position: absolute;
    width: 448px;
    height: 252px;
    top: 0;
    order: 4
  }
}
@media (max-width:700px) {
  .youtube a{
    width: 100%;
    height: auto;
  }
  .Documentary__thumbnailWrap {
    text-align: center;
    right: auto;
    width: 100%;
    height: auto;
    padding: 0;
    margin: 8px 0;
    order: 5
  }
}
@media (--small-screen) {
  .Documentary__thumbnailWrap {
    text-align: center;
    right: auto;
    width: 100%;
    height: auto;
    padding: 0;
    margin: 8px 0;
    order: 5
  }
}
.Documentary__thumbnailWrap:hover .Documentary__thumbnail {
  -webkit-transform: scale(1.05);
  transform: scale(1.05)
}
@media (max-width:700px) {
  .Documentary__thumbnailWrap:hover .Documentary__thumbnail {
    -webkit-transform: none;
    transform: none
  }
}
@media (--small-screen) {
  .Documentary__thumbnailWrap:hover .Documentary__thumbnail {
    -webkit-transform: none;
    transform: none
  }
}

button {
    padding: 0;
    border: none;
    outline: 0;
    background-color: transparent;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@-webkit-keyframes circleOutAnimation {
  0% {
    -webkit-transform: translate(-50%,-50%) scale(0);
    transform: translate(-50%,-50%) scale(0);
    opacity: 0
  }
  70% {
    opacity: 1
  }
  100% {
    -webkit-transform: translate(-50%,-50%) scale(1.5);
    transform: translate(-50%,-50%) scale(1.5);
    opacity: 0
  }
}
@keyframes circleOutAnimation {
  0% {
    -webkit-transform: translate(-50%,-50%) scale(0);
    transform: translate(-50%,-50%) scale(0);
    opacity: 0
  }
  70% {
    opacity: 1
  }
  100% {
    -webkit-transform: translate(-50%,-50%) scale(1.5);
    transform: translate(-50%,-50%) scale(1.5);
    opacity: 0
  }
}
@-webkit-keyframes zoomInAnimation {
  0% {
    -webkit-transform: scale(.5);
    transform: scale(.5);
    opacity: 0
  }
  60% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
  80% {
    -webkit-transform: scale(.9);
    transform: scale(.9)
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
  }
}
@keyframes zoomInAnimation {
  0% {
    -webkit-transform: scale(.5);
    transform: scale(.5);
    opacity: 0
  }
  60% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
  80% {
    -webkit-transform: scale(.9);
    transform: scale(.9)
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
  }
}
@-webkit-keyframes fadeInAnimation {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@keyframes fadeInAnimation {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}



/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: main common */
.con {
	padding-bottom: 30px;
	border-bottom: dotted 1px #CCCCCC;
}


/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: lower common */

.msg h3{
	width:auto;
	display:table;
	clear: both;
	margin: 50px auto 50px;
	padding:10px 30px 10px;
	max-width: 978px;
	text-align: center;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	border-bottom:double 3px #7A1136;

}



/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: common contents */

/*--------------------------------------- container */

html {
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	height: 100%;
	margin: 0;
	padding: 0;
}
body:before {
    content: "";
    width: 14px;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    background: #000;
    transition: all ease 0.3s;
    transition-delay: 2.7s;
    z-index: 99;
}

body:after {
    content: "";
    width: 100%;
    height: 8px;
    top: 0;
    position: fixed;
    background: 
    transition: all ease 0.3s;
    transition-delay: 2.7s;
    z-index: 99;
}
  								@media screen and (max-width: 798px) {
									body:before,
                  body:after {
    									display:none;
									}
								  }

.swiper-container .inner,
header .inner,
.copy span ,
footer .inner,
article {
	display:block;
	width:100%;
	max-width: var(--contents-size);
	margin: 0 auto;
	text-align: left;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding:0 30px;
	position:relative;
}
.container {
  min-height: 430px;
}

/*--------------------------------------- header */
header {
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px 0 0;
}

header .logo img {
  width:100%;
  max-width:290px;
}
header nav {
  position:relative;
  font-weight:bold;
}
header .menu-container {
  width:100%;
  background-color:#FFF;
}
header .menu > ul > li {
  background: #FFF;
  list-style:none;
}
.menu > ul > li > ul.normal-sub {
  width:270px;
}
.menu > ul > li > ul.normal-sub > li {
  list-style:none;
  text-align: left;
}
.menu > ul > li > ul.normal-sub > li a {
  border-bottom: solid 1px #dadada;
  padding: 1em 0 1em 10px;
}
.menu > ul > li > ul.normal-sub > li:last-of-type a {
  border-bottom: none;
}
header nav ul{
  display:block;
  text-align:center;
}
header nav ul.flex{
	display:-webkit-box;
	display:flex;
 -webkit-box-pack:center;
	justify-content:center;
}
header nav li {
 display:inline-block;
 list-style:none;
}
header nav li a {
  position:relative;
}
header nav ul.flex li a:after{
  content: "";
    background: #d1d1d2;
    width: 1px;
    height: 15px;
    position: absolute;
    left: 0;
    top: 40%;
    display: block;
}
header nav ul.flex li:first-of-type a:after,
.menu > ul > li > ul.normal-sub > li a:after{
  content:none;
}
header nav li {
  list-style:none;
	flex-grow:1;
}
header nav li a:link,
header nav li a:visited{
  color:#000;
  text-decoration: none;
  padding:25px 15px;
  display:block;
}
header nav ul li a:hover{
	background-color:var(--main-color);
	color:#FFF;
}
header nav li.current a:link,
header nav li.current a:visited{
  background:var(--main-color);
  color:#FFF;
}
header nav li.current li a:link,
header nav li.current li a:visited{
	background-color:transparent;
	color:#000;
}
header nav ul.flex li.current a::after{
	display:none;
}
header .menu img {
  width:100%;
  margin-bottom:8px;
}

  
  								@media screen and (max-width: 798px) {
									header nav {
    									display:none;
									}

									header {
    									position:relative;
									}
                  header .inner {
    									margin-left: 0;
                    padding:0 30px;
                    text-align: center;
									}
                  header .logo {
                      width:100%;
                      text-align: center;
                  }
                  header .logo img {
                      width:60%;
                    max-width:300px;
                  }

                  }

/* spNav */
.spNav {
	display:none;
	width: 44px;
    height: 44px;
    background-color: #000;
    position: fixed;
    top: 0;
    left: 0;
}
								@media screen and (max-width: 798px) {
									.spNav {
    									display:block;
									}
								}
.spNav a {
display: block;
    width: 44px;
    height: 44px;
    padding: 11px;
    position: absolute;
    top: 0;
    left: 0;

}
.spNav a:after {
	content: '';
    display: block;
    background: #fff;
    height: 2px;
}
.spNav a span {
    background: #fff;
    display: block;
    height: 2px;
    margin: 6px 0;
}


/*--------------------------------------- mainContaints */
section {
  padding:40px 0 40px;
  margin:0 auto;
  line-height:1.7;
  position: relative;
  z-index: 9;
}
section.colorWhite {
  background-color:#FFF;
}
section.color {
	background-color:var(--sub-color01);
}
					@media screen and (max-width:798px){
							section {
									padding:80px 0 50px;
							}
						}
					@media screen and (max-width:498px){
							section {
									padding:50px 0 80px;
							}
            .lower section {
									padding:20px 0 30px;
							}
						}

article {
	padding:10px 30px 0;
}
.frame {
  background: rgba(255,255,255,0.8);
  padding: 50px;
  margin-bottom: 50px;
}
                  @media screen and (max-width:498px){
                    .frame {
                      padding: 20px;
                    }
                  }
/* -----------  layoutBox */
.layoutBox {
	width:100%;
	clear:both;
	float:left;
}

.layout2:nth-of-type(odd),
.layout3:nth-of-type(odd),
.layout4:nth-of-type(odd),
.layout5:nth-of-type(odd),
.layout6:nth-of-type(odd),
.layout7:nth-of-type(odd),
.layout8:nth-of-type(odd),
.layout9:nth-of-type(odd) {
	float:left;
	clear:inherit;
}
								@media screen and (max-width: 678px) {
									.layout2:nth-of-type(odd),
									.layout3:nth-of-type(odd),
									.layout4:nth-of-type(odd),
									.layout5:nth-of-type(odd),
									.layout6:nth-of-type(odd),
									.layout7:nth-of-type(odd),
									.layout8:nth-of-type(odd),
									.layout9:nth-of-type(odd) {
   										 margin-bottom:50px;
									}
								}

.layout2:nth-of-type(even),
.layout3:nth-of-type(even),
.layout4:nth-of-type(even),
.layout5:nth-of-type(even),
.layout6:nth-of-type(even),
.layout7:nth-of-type(even),
.layout8:nth-of-type(even),
.layout9:nth-of-type(even) {
	float:right;
}

									@media screen and (max-width:678px){
										.layoutBox {
											padding-bottom:20px;
										}
									}

.layout5.floatL {
	float:left;
	clear:both;
}
.layout5.floatR {
	float:right;
}

.layout2 {
	width:16.6%;
}
.layout3 {
	width:24%;
}
.layout4 {
	width:31%;
}
.layout5 {
	width:41.6%;
}
.layout6 {
	width:49%;
}
.layout7 {
	width:58.3%;
}
.layout8 {
	width:65%;
}
.layout9 {
	width:75%;
}
.layout12 {
	width:100%;
}
									@media screen and (max-width:678px){
										.layout2,.layout3,.layout4,.layout5,.layout6,.layout7,.layout8,.layout9 {
											width:100%;
										}
									}

/*--------------------------------------- footer */
/* fnavi */
footer {
  padding-bottom: 10px;
  background-color: #000;
  z-index: 9;
  position: relative;
}
footer .floatL {
  width:32%;
  text-align: center;
  padding:90px 30px 50px;
  background:url(../../_template/img/ft_bg.jpg) bottom left no-repeat;
	background-size:36% auto;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: bottom left;
}
						@media screen and (max-width:978px){
							footer .floatL {
                width:100%;
                text-align: center;
							}
							footer .floatL img {
                max-width:290px;
							}
              }
            @media screen and (max-width:498px) {
							footer .floatL {
                       padding:50px 30px 0;
                      }
              }

footer adress {
  font-size:0.9em;
}
footer .layoutBox {
  float:right;
  width:55%;
  clear:none;
  padding:90px 0 50PX;
}
footer .fNavi {
	position:relative;
  color:#FFF;
}
								@media screen and (max-width: 779px) {
									footer .floatL {
                      background-size: 100% auto;
                  }
								}



						@media screen and (max-width:978px){
							footer .fNavi .layoutBox {
                display:none;
							}
						}

footer .fNavi .layoutBox ul:nth-of-type(odd) {
  clear: initial;
}
footer .fNavi .layoutBox ul:nth-of-type(even) {
  float:left;
}

footer .fNavi ul li a:link,
footer .fNavi ul li a:visited {
  text-decoration: none;
}
footer .fNavi ul li {
  margin-bottom:3em;
  list-style:none;
}
footer .fNavi ul {
  padding:0 0 0 20px;
  font-size: 0.9em;
}
								@media screen and (max-width:498px){
										footer .fNavi ul {
											padding:20px;
										}
									}

footer .fNavi ul ul {
  padding:5px 0 0 35px;
}
footer .fNavi ul li li {
  padding:0;
  margin:0;
}


footer .fNavi ul li li a{
  padding: 0 0 0 22px;
}
footer .fNavi ul li li a::before,
footer .fNavi ul li li a::after{
  left: 0;
  right:auto;
}


footer .fNavi ul li li a::before{
    background: none;
}
footer .fNavi ul li li a::after{
    left: 5px;
  border-color:var(--main-color);
}


/* snsLink */
footer .snsLink {
  padding:20px;
  margin:20px 0 0;
}
footer .snsLink li {
  display:inline-block;
  padding:0 5px;
  list-style:none;
}
footer .snsLink li a {
  background-color:var(--main-color);
  border-radius:50%;
  display:block;
  padding:8px 10px;
  width:42px;
  height:42px;
  text-align:center;
  color:#FFF;
}

						@media screen and (max-width:498px){
              footer .snsLink {
   										 border-top:solid 1px #ccc;
									}
                  footer .snsLink li a i {
                        font-size: 1.2em;
                        padding-top: 2px;
                  }
                  footer .snsLink li.mail a i {
                        padding: 0px 0 2px;
                  }
								}

/* pgtp */
.pgtp {
	background-color:#dca02b;
}


/* copy */
.copy {
    background-color:var(--main-color);
}
.copy article {
  padding:0 30px;
}
.copy .logo {
  float:left;
  width:25%;
  padding-top:6px;
}
.copy .logo img {
  width:100%;
}
.copy span {
  float:right;
  width:60%;
	text-align:right;
	letter-spacing:0.1em;
	padding:25px 0;
  color:#FFF;
  display:block;
}

 									@media screen and (max-width:498px){
                    .copy .logo,
                    .copy span {
                      width:100%;
                      float:none;
                      text-align: center;
                    }
										.copy span {
                      padding:5px 0 15px;
                      
										}
                    .copy .logo img {
                      width:60%;
                    }
									}


/* FIXED SNS */
.sns-fixed {
  position: fixed;
  right: 0;
  top: 27%;
  z-index: 9999;
  background:rgba(255,255,255,0.8);
  padding:15px;
}
					@media screen and (max-width:498px){
							.sns-fixed {
									display:none;
							}
						}

.sns-fixed ul.sns-nav {
  width: 32px;
  padding-top: 9rem;
  text-align: center;
}
.sns-fixed ul.sns-nav::before {
  content: '';
  display: block;
  margin: 0 auto 8px;
  width: 1px;
  height: 50px;
  background-color: currentColor;
  transform: translateX(-50%);
}
.sns-fixed .ttl {
  display: block;
  font-size: 1.3rem;
  line-height: 60px;
  text-transform: none;
  white-space: nowrap;
  transform: rotate(90deg);
  transform-origin: left top;
  position: absolute;
  top: 26px;
  left: 100%;
  margin: 0 auto;
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-style: italic;
  letter-spacing:0.1em;
}
.sns-fixed ul.sns-nav li {
  margin:0 0 0 -13px;
  list-style:none;
}
.sns-fixed ul.sns-nav li a {
  display: block;
  text-align: center;
  padding: 4px 8px;
}
.sns-fixed ul.sns-nav li a i {
  font-size: 1.2em;
  color: #FFF;
  border-radius: 50%;
  padding: 12px 13px;
  background-color:var(--main-color);
}
.sns-fixed ul.sns-nav li a span {
  display: none;
}
.sns-fixed ul.sns-nav li.instagram a i {
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  padding: 21px 13px;
}
.sns-fixed ul.sns-nav li.facebook a i {
  background-color:#1877f2;
  padding: 21px 16px;
}

.sns-fixed ul.sns-nav li.twitter a i {
  background-color:black;
  padding: 22px 13px;
}

/* page top */
.pageTop {
	width:60px;
	height:60px;
    position: fixed;
    right: 20px;
    bottom: -60px;
    z-index: 20;
    background-color: var(--main-color02);
    transition: bottom 0.6s ease-out 0s;
}
								@media screen and (max-width:498px){
										.pageTop {
											display: block;
											text-align: center;
											width: 100%;
											height: 60px;
											position: relative;
											right: 0;
											margin-bottom:58px;
										}
									}

.pageTop span {
    position: relative;
    display: inline-block;
    color: #000;
    vertical-align: middle;
	height:60px;
}
.pageTop span::before,
.pageTop span::after{
    position: absolute;
    top: 16px;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.pageTop span::before{
    left: 22px;
    width: 16px;
    height: 16px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
								@media screen and (max-width:498px){
										.pageTop span::before{
											left: 0;
										}
									}

.pageTop:hover {
    opacity: .87;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=87)";
}

.pageTop.is-show {
    bottom: 0;
}





/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: main */

/*--------------------------------------- default 標準ページ */
.default {
	background-image : url(../../../common/img/lower_ttl_img.jpg);
	background-repeat: no-repeat;
	background-size:100% auto;
	background-position:top center;
}
.default article {
	width:100%;
	max-width: 100%;
}
  								@media screen and (max-width: 798px) {
									.default article {
    									padding:0 30px;
									}
								  }
.default article .ttl {
    display: flex;
    justify-content: space-between;
}
						@media screen and (max-width:798px){
							.default article .ttl {
								display:block;
							}
							
						}

.default article:nth-of-type(odd) .ttl h2:nth-of-type(2) {
	display:none;
}
.default article:nth-of-type(even) .ttl h2:nth-of-type(1) {
	display:none;
}
						@media screen and (max-width:798px){
							.default article:nth-of-type(even) .ttl h2:nth-of-type(1) {
								display:block;
							}
							.default article:nth-of-type(even) .ttl h2:nth-of-type(2) {
								display:none;
							}
						}

.default h2 {
	width: 53.66667vw;
	text-align:right;
	min-height: 320px;
}
							.default article:nth-of-type(even) h2 {
								text-align:left;
							}
						@media screen and (max-width:798px){
							.default h2 {
								min-height: auto;
							}
						}
					@media screen and (max-width:798px){
							.default h2 {
								width: 100%;
								flex-wrap: inherit;
							}
						}

						@media screen and (max-width:978px){
							.default h2 {
								padding:0;
								text-align:left;
							}
							.default h2 span {
								margin-left:30px;
							}

						}
						
.default article:nth-of-type(even) .noImage h2 {
	width: 70vw;
    margin-left: auto;
}
.default article:nth-of-type(odd) .noImage h2 {
	width: 100%;
	max-width:978px;
	margin: 0 auto;
	text-align:left;
}

.default .pic {
	width: 41.33333vw;
  position: absolute;
	top: -40px;
  left: 0;
}
						@media screen and (max-width:978px){
							.default .pic {
								width: 80.33333vw;
                position:relative;
							}
						}
						@media screen and (max-width:798px){
							.default .pic {
								width: 100%;
                top: 0;
							}
						}


.default .pic img {
	width:100%;
}

.default .txt {
  position: relative;
	opacity: 1 !important;
  transform: translateY(0);
	width: 70vw;
  background:rgba(255,255,255,0.8);
  z-index: 2;
	min-height: 160px;
	padding:30px;
	text-align:right;
}
						@media screen and (max-width:978px){
							.default .txt {
                position:relative;
                top:auto;
								width: 100%;
								margin-top: 20px;
								margin-bottom:0;
							}
						}
           @media screen and (max-width:498px) {
							.default .txt {
                 padding:0;
                      }
           }

.default .freeArea {
  width: 70vw;
  padding:0 30px 30px;
  transform: translateY(20px) scale(0.9);
}
           @media screen and (max-width:498px) {
							.default .freeArea {
                 padding:0;
                transform: translateY(0) scale(1);
                      }
           }

.default .txt.noTtl {
	margin-top:0;
}

.default .txtInner {
	width:100%;
	max-width :780px;
	text-align:left;
	margin: 0 auto 0 0;
}
.default .freeArea .txtInner {
  max-width :782px;
}
.default article:nth-of-type(odd) .pic {
    left: auto;
    right: 0;
	margin: 0 0 0 auto;
}

.default article:nth-of-type(odd) .txt {
    margin-right: auto;
    margin-left: 0;
	text-align:left;
}


.default article:nth-of-type(odd) .txtInner {
	margin: 0 0 0 auto;
}

.default article:last-of-type .txt {
	margin-bottom:30px;
}

/*--------------------------------------- normal 標準ページ02 */
.normal {
	background-image : url(../../../common/img/lower_ttl_img.jpg);
	background-repeat: no-repeat;
	background-size:100% auto;
	background-position:top center;
}
.normal article {
	width:100%;
	padding:0 20px 60px;
	
}


/*--------------------------------------- index.html */

                   /* TOPページ */

/*------------------------------------------------- */
/* topics */
.topics {
  position:relative
}
.topics .bg {
   width: 100%;
  height: 0;
    padding-top: 52.666667%;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
  position:relative
}
.topics img {
  width:100%;
  vertical-align: middle;
}
.topics .pc .supplement {
  bottom:38%;
  right:30px;
	position: absolute;
  z-index:9;
  width:100%;
}
.topics .pc .supplement ul {
  max-width:978px;
  width:100%;
  margin:0 auto;
	padding: 5px 30px;
  text-align: right;
  line-height: normal;
  font-weight: bold;

}
                    @media screen and (max-width:498px) {
                      .topics .pc {
                        display:none;
                      }
                      }

.topics .pc .supplement li {
  display: inline-block;
  margin-right:10px;
  list-style:none;
}
.topics .pc .supplement li:last-child {
  margin-right:0;
}
.topics .supplement.sp ul {
  display:-webkit-box;
	display:flex;
  -webkit-box-pack:space-around;
	justify-content:space-around;
  padding:0;
  margin:0;
}
.topics .supplement.sp li {
  padding:0;
  margin:0;
    text-align: center;
  -webkit-box-flex:1;
  flex:1;
	flex-grow:1;
  list-style:none;
}
.topics .supplement li a {
  background-color:#FFF;
  border-radius:4px;
  display: inline-block;
  padding: 9px 12px;
    font-size: 1.5em;
}

/* top_info_block */
.top_info_block{
	/*background: linear-gradient(90deg, #740E31, #3A071A);*/
	background: #EFE7EC;
	text-align:center;
}
.top_info_block a{
	display:inline-block;
	text-align:center;
	/*color:#FFFFFF;*/
	color:rgb(23, 23, 23);
	font-family:var(--font02);
	font-size: 1.5em;
	padding-top:0.5em;
	padding-bottom:0.5em;
	margin:0 auto;
}
.top_info_block a span{
	display:inline-block;
	position: relative;
	padding-right:20px;
}
.top_info_block a span::before{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
    width: 16px;
    height: 16px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: var(--main-color);
}
.top_info_block a span::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	right: 6.5px;
	width: 4px;
	height: 4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/* section_main_img */
.main_img_Box_bg {
  position: fixed;
    left: 0;
    top: 0;
    z-index: 2;
}
.section_main_img {
	background-color: #FFF;
    margin-top: 0;
    position: relative;
    padding: 0;
}
.swiper-slide {
	text-align: center;
}
.swiper-slide a {
	color: #ffffff;
	display: block;
	text-decoration: none;
}
.swiper-slide .slideBox {
	display: block;
	position: relative;
  line-height: 0;
}
.swiper-slide .slideBox img {
	width: 100%;
}
.swiper-container .text {
	display: block;
	padding: 0 10%;
	position: absolute;
	width: 100%;
	left: 0;
	top: 48%;
  z-index:9;
	-webkit-transform: translateY(-48%); /* Safari用 */
	transform: translateY(-48%);
  line-height:1.5;
  color:#FFF;
  text-align:center;
  font-size:1.5em;
  font-family:var(--font02);
	/*
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
	*/
}
                  @media screen and (max-width:798px){
                    .swiper-container .text.sp {
                      display:none;
                    }
					.swiper-container .text{
						font-size:1.0em;
					}
                  }
                  @media screen and (max-width:498px){
                    .swiper-container .text {
                      top: 41%;
                      font-size:1.3em;
                    }
                    .swiper-container .text.sp {
                      display:inherit;
                    }
                   .swiper-container .text.pc {
                      display:none;
                    }
                  }

.swiper-container .btn {
  display: inline-block;
  width:26em;
  font-size:0.6em;
  letter-spacing: 0.1em;
  margin-top:40px;
  
}
.swiper-container .btn a {
  padding:12px 12px 17px;
}

                  @media screen and (max-width:498px){
                    .swiper-container .btn a {
                      width:90%;
                      margin-left:5%;
                      padding:10px 30px 15px;
                    }
                    .swiper-container .btn {
                      width:100%;
                      right:0;
                      margin:5px auto 0;
                    }
                  }


.list_thumbnail.list_top {
	padding: 0;
}
.list_thumbnail.list_top li {
	list-style:none;
}

.list_thumbnail.list_top li .listBox {
	padding: 0;
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
	background-image: url(../../../common/css/img/icon_arrow_prev.png);
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
	background-image: url(../../../common/css/img/icon_arrow_next.png);
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next,
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
	transition: 0.2s;
}
.swiper-button-prev:hover, .swiper-container-rtl .swiper-button-next:hover,
.swiper-button-next:hover, .swiper-container-rtl .swiper-button-prev:hover {
	opacity: 0.6;
}


.swiper-pagination {
  bottom: 30px;
  text-align: center;
  width: 100%;
}
.swiper-pagination-bullet {
    margin: 0 4px;
}
.swiper-container .swiper-pagination-bullet-active {
    background: var(--main-color);
}



@media screen and (min-width: 780px), print {
	.swiper-slide .text {
		font-size: 1.6em;
	}
	.swiper-container .sp{
		display: none;
	}
}
@media screen and (max-width:498px) {
	.swiper-container .pc{
		display: none;
	}
	.swiper-container .sp{
		display: block;
        line-height: 1.8;
	}
}


/* catchCopy */
.catchCopy {
	width:100%;
	background-image: linear-gradient(-90deg, #000, var(--main-color));
	padding:40px 0 50px;
  font-family:var(--font02);
}
						@media screen and (max-width:978px){
							.catchCopy {
                padding:20px 0;
							}
              }
.catchCopy article {
	text-align:center;
  color:#FFF;
  font-size:1.9em;
}
.catchCopy:after {
  content:"";
  width:100%;
  height:100%;
	background-color: rgba(36,24,11,0.8);
}
.catchCopy .btn {
  margin-top:20px;
}
.catchCopy .btn a {
  padding:10px;
  font-size:0.6em;
  letter-spacing: 0.1em;
}


/* con01 */
.body_common .con01 {
  padding:50px 0;
}
.body_common .con01 li {
	margin-bottom:30px;
  position:relative;
  list-style:none;
}
						@media screen and (max-width:498px){
							.body_common .con01 li {
                margin-bottom:60px;
							}
              }
.body_common .con01 li span {
  display:inline-block;
  position:absolute;
  bottom:0;
  left:0;
  padding:12px 30px 12px 60px;
  z-index:99;
  font-weight:bold;
  background:url(../img/line.png) center left no-repeat var(--main-color);
}
						@media screen and (max-width:498px){
							.body_common .con01 li span {
    bottom: -41px;
    padding: 12px 0 12px 0;
    background: none;
    color: var(--main-color);
    text-align: center;
    width: 100%;
							}
              }

.body_common .con01 li img {
  width:100%;
}

						@media screen and (max-width:498px){

              .body_common .con01 li span {
                  display: inline-block;
                  position: absolute;
                  bottom: -41px;
                  left: 0;
                  padding: 12px 0 12px 0;
                  z-index: 99;
                  font-weight: bold;
                  background: none;
                  color: var(--main-color);
                  text-align: center;
                  width: 100%;
              }
              }



/*------------------------------------------- news */

                 /* お知らせ */

/*------------------------------------------------- */

/*--------------------------------------- list_text */
.list_text,
.list_text li {
	display: block;
	padding: 0;
	margin: 0;
  list-style:none;
}
.list_text {
	padding: 1em 0 5em;
}
.list_text li {
	border-bottom: 1px solid #ccc;
}
.list_text li:first-child {
	border-top: 1px solid #ccc;
}

.list_text li a {
	text-decoration:none;
	display: block;
	background-image: url(../../../common/css/img/icon_right_circle.png);
	background-position: center right;
	padding-right: 40px;
	background-repeat: no-repeat;
}
.list_text li a:before {
	content: "";
	width: 40px;
	height: 40px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background-color: #c6c6c6;
}
.list_text li .listBox {
	width: 100%;
	display: block;
	padding: 15px 0;
}
.list_text li .date {
	font-size: 0.9em;
}
.list_text li .new {
	font-size: 0.9em;
	margin-right: 10px;
	padding: 2px 10px;
	background-color: #ca0303;
	color: #ffffff;
}
.list_text li .listBox .date,
.list_text li .listBox .new {
	display: inline-block;
	vertical-align: middle;
}
.list_text li .listBox .text {
	padding-top: 10px;
	display: block;
}


/*------------------------------------------- actor */

              /* 所属俳優 */

/*------------------------------------------------- */

.body_actor .actorList li {
  float:left;
  width:48%;
  position:relative;
  margin-bottom:30px;
  list-style:none;
}

.body_actor .actorList li:nth-of-type(even) {
  float:right;
}
                    @media screen and (max-width:498px) {
                      .body_actor .actorList li,
                      .body_actor .actorList li:nth-of-type(even){
                        float:none;
                        width:100%;
                      }
                      }
.body_actor .actorList li img {
  width:100%;
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
  margin-bottom:8px;
}
.body_actor .actorList li .caption {
    padding-top: 54px;
    letter-spacing: .3em;
    line-height: 1;
    color: #fff;
    font-family: din-2014, sans-serif;
    font-size: 16px;
    font-weight: 400;
    writing-mode: vertical-rl;
    position: absolute;
    top: 2vw;
    left: 2vw;
}
.body_actor .actorList li .caption::before {
    content: "";
    width: 1px;
    height: 40px;
    background: rgba(255, 255, 255, .5);
    position: absolute;
    left: 50%;
    top: 0;
}
.body_actor .actorList li .name {
  text-align: center;
  color:#000;
  display:block;
  font-size: 1.8em;
  font-family:var(--font02);
}
.body_actor h3 span.line01,
.body_actor h3 span.line02 {
  font-family:var(--font02);
}
.body_actor h3 span.romaji,
.body_actor .actorList li .romaji {
  text-align: center;
  font-size: 0.9em;
  color:#a3a2a2;
  display:block;
  font-family:var(--font02);
  line-height:0.4;
}
.body_actor h3 span.romaji {
  font-size: 0.5em;
  margin-bottom:6px;
}

.body_actor .picList {
  margin-top:30px;
}
.body_actor .picList li {
  list-style:none;
  float:left;
  width: 30%;
  margin-right: 4%;
}
.body_actor .picList li:nth-child(3n) {
  margin-right:0;
}
.body_actor .picList img {
  width:100%;
}
/*------------------------------------------- archive */

              /* これまでの公演 */

/*------------------------------------------------- */
.archive_container{
	background-image: url('../img/coler_seet.jpg');
	background-size:100%;
}
.archive_container article h3,
.archive_container article ul.archiveList{
	background-color:rgba(255,255,255,0.65);
}
.archive_container h3 span.line01:before,
.archive_container h3 span.line01:after,
.archive_container h3 span.line02:before,
.archive_container h3 span.line02:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background-image: -webkit-gradient(linear, right top, left top, from(#9B6F7E), to(#780d33));
  background-image: -webkit-linear-gradient(right, #9B6F7E 0%, #780d33 100%);
  background-image: linear-gradient(-90deg, #9B6F7E, #780d33);
}
.archive_container h3 span.line02:before,
.archive_container h3 span.line02:after {
  background-image: -webkit-gradient(linear, right top, left top, from(#780d33), to(#9B6F7E));
  background-image: -webkit-linear-gradient(right, #780d33 0%, #9B6F7E 100%);
  background-image: linear-gradient(-90deg, #780d33, #9B6F7E);
}

.archive_container article h3{
	margin:0;
	padding-top:40px;
	padding-bottom:40px;
}
.archive_container article ul.archiveList{
	padding-bottom:30px;
	margin-bottom:50px;
}
.archiveList {
  text-align: center;
  margin-bottom:30px;
}
.archiveList li {
	position: relative;
}
@media screen and (min-width: 780px), print {
	.archiveList li:before {
		top: 20%;
		height: 35%;
	}
}
@media screen and (max-width:779px) and (min-width: 499px),{
	.archiveList li:before {
		top: 15%;
		height: 20%;
	}
}
@media screen and (max-width:498px) {
	.archiveList {
		text-align: left;
	}
	.archiveList li:before {
		top: 20%;
		height: 35%;
	}
}
.archiveList li {
  display:inline-block;
  width:25%;
  text-align: left;
  padding:0 25px 25px;
  vertical-align: middle;
  list-style:none;
}
                    @media screen and (max-width:498px) {
                      .archiveList li {
                        float:none;
                        width:50%;
                        padding:0 15px 25px;
                      }
                      }
.archiveList li img {
  width:100%;
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
  margin-bottom:8px;
}
.archiveList li span {
  display:block;
}
.archiveList li span.date {
  font-size:0.8em;
  background-color:var(--main-color);
  color:#FFF;
  display:inline-block;
  padding:2px 10px;
}
.archiveList li span.title {
  font-weight:bold;
}




/*------------------------------------------- contact */

              /* お問い合わせフォーム */

/*------------------------------------------------- */
.body_contact .infoText,
.body_contact2 .infoText,
.body_registration .infoText {
	margin:20px 0 30px;
}
.body_contact table,
.body_contact2 table,
.body_registration table {
	width: 100%;
	margin-bottom:30px;
}
.body_contact table td,
.body_contact2 table td,
.body_registration table td{
  text-align: left;
  width: 70%;
  background-color: #f5f6f5;
  padding: 20px 10px 20px 30px;
}

/* ---------  contact form */
.form_flow {
	width: 100%;
	margin: 20px auto 0;
	padding: 0;
	display: table;
	table-layout: fixed;
}

.form_flow li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	border-left: 10px solid #ffffff;
	padding: 0 5px;
	width: 34%;
	background-color: #adadad;
  list-style:none;
}

.form_flow li:first-child {
	border-left: none;
}

.form_flow li.current {
	background-color: var(--main-color02);
}

.form_flow li span {
	color: #ffffff;
	font-size: 0.9em;
	padding: 10px;
	width: 100%;
	display: block;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

form th {
	padding: 10px 20px;
	text-align:left;
}
form th .redFrame {
    margin-left: 10px;
}
.input_required,
.input_not_required:before {
	font-size: 0.9em;
	padding: 2px 6px;
	display: inline-block;
	background-color: #958468;
	color: #ffffff;
	position: absolute;
	right: 10px;
	/*top: 20px;*/
}

input[type="text"],
input[type="password"],textarea {
	border: 0;
	padding: 4px;
	border: solid 1px #ccc;
	max-width: 100% !important;
	resize: none;
	border-radius: 5px;
}

.body_textbook_form input[type="text"] {
	margin-bottom: 10px;
}

input:focus,
input:textarea {
	border: solid 1px #3ba5eb;
}

.submit_button {
	text-align: center;
	padding-top: 20px;
}

.input_button {
	font-size: 1.2em;
	font-weight: bold;
	-webkit-appearance: none;
	padding: 4px 10px;
	background-color: var(--main-color02);
	color: #ffffff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

.input_button {
	padding: 10px 50px;
}

@media screen and (max-width:779px) {
	input[type="file"]{
		width: 100%!important;
	}
	input[type="text"], input[type="password"],textarea {
		width: 100%!important;
		padding: 10px;
    border: solid 1px #ccc;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
	}
	#input-table table textarea {
		width: 96%;
		max-height: 24vw;
		font-size: 110%;
	}
	.input_required,
	.input_not_required:before {
		position: relative;
		right: 0;
		font-size: 0.8em;
		top: 0;
		margin-left:5px;
	}
}
@media screen and (max-width:479px) {
	.form_flow li {
		display: block;
		width: 100%;
		border-left: 10px solid #cccccc;
		border-top: 1px dotted #ccc;
		text-align: left;
	}
	.form_flow li:first-child {
		border-top: none;
	}
}



/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: clear */
.body_actor .picList:after,
.body_actor .actorList:after,
.archiveList:after,
footer *:after,
.copy *:after,
.clearFix:after {
	content: "";
	display: block;
	clear: both;
}
