@charset "utf-8";

@font-face {
   font-family: KosugiMaru-Regular;
   src: url('../font/KosugiMaru-Regular.ttf') format("truetype");
}
@font-face {
   font-family: PTSerif-Bold;
   src: url('../font/PTSerif-Bold.ttf') format("truetype");
}
@font-face {
   font-family: PTSerif-BoldItalic;
   src: url('../font/PTSerif-BoldItalic.ttf') format("truetype");
}
@font-face {
   font-family: PTSerif-Italic;
   src: url('../font/PTSerif-Italic.ttf') format("truetype");
}
@font-face {
   font-family: PTSerif-Regular;
   src: url('../font/PTSerif-Regular.ttf') format("truetype");
}
@font-face {
   font-family: Sacramento-Regular;
   src: url('../font/Sacramento-Regular.ttf') format("truetype");
}
@font-face {
   font-family: Mamelon;
   src: url('../font/Mamelon.otf') format("opentype");
}
@font-face {
   font-family: IPAexGothic;
   src: url('../font/ipaexg.ttf') format("truetype");
}
@font-face {
   font-family: IPAexMincho;
   src: url('../font/ipaexm.ttf') format("truetype");
}
/*
@font-face {
   font-family: Osaka;
   src: url('../font/osaka.unicode.ttf') format("truetype");
}
*/

body {
	font-family: 'Arial', 'KosugiMaru-Regular', 'Osaka', 'Meiryo';
	font-size: 1.4rem;
	margin:0;
	padding:0;
	color: #000000;
}

body h2 {
	font-size: 1.7rem;
}
body h3 {
	font-size: 1.5rem;
}
body h4 {
	font-size: 1.4rem;
}
body p {
	font-size: 1.0rem;
}
@media screen and (max-width: 560px) {
	body {
		font-size: 1.0rem;
	}
	body h1 {
		font-size: 1.5rem;
	}
	body h2 {
		font-size: 1.2rem;
	}
	body h3 {
		font-size: 1.1rem;
	}
	body h4 {
		font-size: 1.0rem;
	}
	body p {
		font-size: 1.0rem;
	}
	img.jw-logo {
		width: 140px;
	}
}

#information {
    min-height: 500px;
}

.starter-template {
  padding: 3rem 1.5rem;
  text-align: center;
}

.top-scroll-text {
	margin:0;
	padding:0;
	width: 100%;
	background-color: #f0e7d6;
	color:#000000;
}

li.nav-item {
	line-height: 12px;
	border-bottom: dotted 1px #cccccc;
	padding-left: 16px;
}
li.child {
  padding: 0 0 0 28px;
  font-size: 1rem;
}
.nav-link {
  color: rgba(0, 0, 0, 0.7);
}

a {
	color: #333333;
}
a:hover {
	color: #666666;
}

.swiper-button-next {
  background-image: url(/images/slide-allow-right-32.svg)!important;
}
@media screen and (max-width: 480px) {
	.swiper-button-next {
		background-image: none!important;
	}
}
.swiper-button-prev {
	background-image: url(/images/slide-allow-left-32.svg)!important;
}
@media screen and (max-width: 480px) {
	.swiper-button-prev {
		background-image: none!important;
	}
}

.swiper-container {
	margin: 15px 0 0 0;
}
@media screen and (max-width: 768px) {
	.swiper-container {
		margin: 55px 0 0 0;
	}
}

.mt-81 {
	margin-top: 64px;
}

.cb-header {
  position: absolute; /* ヘッダーバーを固定 */
  top: 0; /* 上から0の位置に固定 */
  left: 0; /* 左から0の位置に固定 */
  width: 100%;/* 100%表示 */
  display: none; /* ヘッダーバーを非表示 */
  z-index: 1000;/*　他のアイテムに対して最上位のレイヤーになるように */
  background-color: #ccc182;
  background-size: cover;
  border-bottom: solid 1px #cccccc;
}

.default-header {
  width: 100%;
  position: relative;
  background-color: #ccc182;
  background-size: cover;
  border-bottom: solid 1px #cccccc;
}

.cb-header div.container, .default-header div.container {
  background-color: #ccc182; /* 文字色 #433903 */
}

nav.nabar-light {
	background-color: #ccc182!important;
}

.navbar-collapse {
	background-color: #ffffff!important;
	opacity: 0.7!important;
}
.navbar-collapse a{
	/* color: #685715!important; */
	color: #111111!important;
}
.navbar-collapse a:hover{
	color: #c29a00!important;
}
.navbar-collapse {
	margin-bottom: 15px;
}

}
.sakurament {
	font-family: Sacramento-Regular!important;
	font-weight: 600;
}
.ipa-gothic {
	font-family: IPAexGothic!important;
	font-weight: 500;
}
.ipa-mincho {
	font-family: IPAexMincho!important;
	font-weight: 500;
}
.osaka {
/*	font-family: Osaka!important;	*/
	font-family: 'Osaka', 'Meiryo'!important;
	font-weight: 400;
}

ul {
  list-style: none;
}

.opening-hours {
	color: #5b532c;
	font-weight: 600;
}

.header-tel {
	display: block;
}
.header-tel2 {
	display: none;
}
.header-tel2 a {
	color: #aa0000;
}

.header-tel-sp {
/*	font-family: IPAexMincho!important; */
	font-size: 18px;
	background-color: #c6a520;
	color: #ffffff;
	display: none;
	z-index: 300;
}
.header-tel-sp a {
	color: #ba2300;
}
.header-tel-sp a:hover {
	text-decoration: none;
}

/*
.header-snsicons a {
	color: #aa0000;
}
*/

.fa-instagram {
	color: #8941a7;
}

.fa-facebook {
	color: #3b5998;
}

#menu {
	position: absolute;
	z-index: 900;
	display: flex;
	font-size: 14px;
	opacity: 0.5;
}
@media screen and (max-width: 991px) {
	div.header-tel {
		display: none;
	}
	div.header-tel2 {
		display: block;
	}
	div.header-snsicons {
		display: none;
	}
	#menu {
		font-size: 12px;
	}
}
@media screen and (max-width: 768px) {
	div.header-tel2 {
		display: none;
	}
	.header-tel-sp {
		display: block;
	}
	#menu {
		display: none;
	}
}

/*子階層以降共通*/
#menu li li {
	x-index:900;
	position: relative;
	width: 100%;
    height: 0;
    overflow: hidden;
    transition: .5s;
}
#menu li li a {
    border-top: 1px solid #eee;
}
#menu li:hover > ul > li {
    height: 2.7rem;
    overflow: visible;
}




#menu{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0;
}
#menu li a span.min {
   font-family: PTSerif-Bold, Mamelon;
	color: #aaaaaa;
}

#menu li{
  display: block;
  float: left;
  width: 16%;
  margin: 0;
  padding: 0; }
#menu li a{
  display: block;
  padding: 12px 0 10px;
  background: #000000;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
#menu li a:hover{
  background: #444;
}
@media only screen and (max-width: 768px) {
    #menu li{
    width: 25%;
    border-bottom: 1px solid #444;
  }
}
@media only screen and (max-width: 480px) {
  #menu{
    display: none;
  }
  #menu li{
    width: 100%;
  }
}





.min {
	font-size: 9px;
}


.imgWrap img:hover {
  transform: scale(1.02);
  transition-duration: 0.3s;
}



.row {
	margin-right: 0px;
	margin-left: 0px;
}


/* Banner */
#banner {
margin:0;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  background-color: #111111;
  color: rgba(255, 255, 255, 0.5);
  -moz-align-items: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-justify-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  background-image: url("../images/banner.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-top: 0;
  display: -ms-flexbox;
  height: 35rem important;
  min-height: 35rem;
  overflow: hidden;
  position: relative;
  text-align: center;
  width: 100%; }
  #banner video {
    -moz-transform: translateX(50%) translateY(50%);
    -webkit-transform: translateX(50%) translateY(50%);
    -ms-transform: translateX(50%) translateY(50%);
    transform: translateX(50%) translateY(50%);
    bottom: 50%;
    height: auto;
    min-height: 100%;
    min-width: 100%;
    overflow: hidden;
    position: absolute;
    right: 50%;
    width: auto; }
  #banner.small {
    height: 30vh !important;
    /* min-height: 30vh; */
  }
/*
  @media screen and (max-width: 1280px) {
    #banner video {
      display: none; } }
*/
  @media screen and (max-width: 1023px) {
    #banner {
      min-height: 25rem!important;
    }
  }

  @media screen and (max-width: 736px) {
/*    #banner video {
      display: none; }
*/
    #banner {
      min-height: 15rem!important;
    }
    #banner {
      height: auto !important;
      padding: 4rem 2rem 4rem 2rem; }
      #banner .inner {
        width: 100%; }
      #banner h1 {
        font-size: 1.75rem;
        margin-bottom: 0.5rem;
        padding-bottom: 0; }
      #banner p {
        font-size: 1.25rem; }
      #banner br {
        display: none; }
      #banner .button {
        width: 100%; } }
  @media screen and (max-width: 480px) {
    #banner p {
      font-size: 1rem; } }
  body.is-preload #banner .inner {
    -moz-transform: scale(0.99);
    -webkit-transform: scale(0.99);
    -ms-transform: scale(0.99);
    transform: scale(0.99);
    opacity: 0; }
  body.is-preload #banner:before {
    opacity: 1; }


.marquee {
width:100%;
font-size:20px;
padding: 2px 0;
overflow:hidden;
position:relative;
/*left:27px;*/
}
.marquee p:after {
content:"";
white-space:nowrap;
/*padding-right:50px;*/
}

.marquee p {
margin:0;
padding-left:90%;
display:inline-block;
white-space:nowrap;
	-webkit-animation-name:marquee;
	-webkit-animation-timing-function:linear;
	-webkit-animation-duration:15s;
	-webkit-animation-iteration-count:infinite;
	-moz-animation-name:marquee;
	-moz-animation-timing-function:linear;
	-moz-animation-duration:15s;
	-moz-animation-iteration-count:infinite;
	-ms-animation-name:marquee;
	-ms-animation-timing-function:linear;
	-ms-animation-duration:15s;
	-ms-animation-iteration-count:infinite;
	-o-animation-name:marquee;
	-o-animation-timing-function:linear;
	-o-animation-duration:15s;
	-o-animation-iteration-count:infinite;
	animation-name:marquee;
	animation-timing-function:linear;
	animation-duration:15s;
	animation-iteration-count:infinite;
}
@-webkit-keyframes marquee {
  from   { -webkit-transform: translate(0%);}
  99%,to { -webkit-transform: translate(-100%);}
}
@-moz-keyframes marquee {
  from   { -moz-transform: translate(0%);}
  99%,to { -moz-transform: translate(-100%);}
}
@-ms-keyframes marquee {
  from   { -ms-transform: translate(0%);}
  99%,to { -ms-transform: translate(-100%);}
}
@-o-keyframes marquee {
  from   { -o-transform: translate(0%);}
  99%,to { -o-transform: translate(-100%);}
}
@keyframes marquee {
  from   { transform: translate(0%);}
  99%,to { transform: translate(-100%);}
}


.footer {
/*	margin: 0!important;*/
	padding: 0 0 20px 0!important;
	background-color: #343434;
	color: #bbbbbb!important;
}
.footer h6 {
	font-family: "PTSerif-Regular"!important;
}
@media screen and (min-width: 769px) {
	.footer h6 {
		padding-top: 30px!important;
	}
}

#page_top{
  width: 45px;
  height: 45px;
  position: fixed;
  right: 8px;
  bottom: 13px;
  background: #ba9500;
  opacity: 0.6;
  border-radius: 10px;
}
#page_top a{
  position: relative;
  display: block;
  width: 45px;
  height: 45px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -14px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
/*
#page_top a::after{
  content: 'TOP';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 30px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
*/




.top-outer {
	position: relative;
	height: 400px;
}
.top-journeywork {
	background: url(/img/image-1920x600.jpg);
	background-position: center center;
	background-size: cover;
}
.top-wedding-plan {
	background: url(/image/top-wedding-plan.jpg);
	background-position: center center;
	background-size: cover;
}
.top-wedding-venue {
	background: url(/image/top-wedding-venue.jpg);
	background-position: center center;
	background-size: cover;
}
.top-wedding-support {
	background: url(/image/top-wedding-support.jpg);
	background-position: center center;
	background-size: cover;
}
.top-restaulant {
	background: url(/image/top-restaulant.jpg);
	background-position: center center;
	background-size: cover;
}
.top-charm {
	background: url(/image/top-charm.jpg);
	background-position: center center;
	background-size: cover;
}
.top-restaulant-menu {
	background: url(/image/top-restaulant-menu.jpg);
	background-position: center center;
	background-size: cover;
}
.top-restaulant-partyplan {
	background: url(/image/top-restaulant-partyplan.jpg);
	background-position: center center;
	background-size: cover;
}

.top-inner h1 {
	position: absolute; color:#ffffff;
	font-size: 36px;
	font-style: italic;
	font-weight:400;
	top:20%;
	left: 10%;
	text-shadow: 2px 2px 2px #333333,
		-2px 2px 2px #333333,
		2px -2px 2px #333333,
		-2px -2px 2px #333333;
}
.top-inner h1.eng {
	font-family: "PTSerif-Regular";
}
@media screen and (min-width: 1200px) {
	.top-inner h1 {
		font-size: 48px;
	}
}
@media screen and (max-width: 767px) {
	.top-inner h1 {
		font-size: 24px;
	}
}

.content-outer {
	position: relative;
	/*text-align: center;*/
}
.content-inner {
	z-index: 50;
	position: absolute;
	width:100%;
	top: 50%; /*親要素を起点に上から50%*/
	left: 50%;  /*親要素を起点に左から50%*/
	transform: translateY(-50%) translateX(-50%); /*要素の大きさの半分ずつを戻す*/
	-webkit-transform: translateY(-50%) translateX(-50%);
}
.content-inner p {
	padding: 20px;
	font-size: 22px;
	font-weight:500;
	color: #000000;
	text-shadow: 1px 1px 1px #ffffff,
		-1px 1px 1px #ffffff,
		1px -1px 1px #ffffff,
		-1px -1px 1px #ffffff;
	opacity: 1.0;
}
.content-inner h1 {
	font-size: 32px;
	font-weight:500;
	color: #ffffff;
	text-shadow: 2px 2px 2px #555555,
		-2px 2px 2px #555555,
		1px -1px 1px #555555,
		-1px -1px 1px #555555;
	opacity: 1.0;
}
@media screen and (max-width: 767px) {
	.content-inner h1 {
		font-size: 26px;
	}
}

.content-outer h2 {
border-left: 14px double #aa0000;
border-bottom: 1px dotted #aa0000;
text-align: left;
background-color: #f8f9fa;
font-size: 24px;
font-style: italic;
color: #000;
margin: 0px 0px 10px 0px;
padding: 4px 4px 4px 15px;
width:100%;
}

.banner-link:hover {
	cursor: pointer;
}

div.koutsuu {
	font-family: 'Osaka', 'Meiryo';
}
div.koutsuu p {
	font-size: 18px;
	margin-left: 22px;
}
@media screen and (max-width: 767px) {
	div.koutsuu h5 {
		font-size: 16px;
	}
	div.koutsuu p {
		font-size: 15px;
		margin-left: 10px;
	}
}


/* テーブル（レスポンシブ） */
/* 幅640px以下で縦に並べる */

table.tbl-res {
  margin: 20px auto;
}
.tbl-res th {
  background: #ccc182;
  border: solid 1px #ccc;
  color: #000;
  padding: 10px;
}
.tbl-res td {
  border: solid 1px #ccc;
  padding: 10px;
}
 
@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .tbl-res {
    width: 80%;
  }
  .tbl-res th,
  .tbl-res td {
  border-bottom: none;
    display: block;
    width: 100%;
  }
}



/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1 {
	width: 100%;
	margin: 0 auto 20px;
	font-size: 1.3rem;
	opacity: 0.7;
}
@media screen and (max-width: 992px) {
	.ta1 {
		font-size: 1.1rem;
	}
}

.ta1, .ta1 td, .ta1 th {
	border: 1px solid #999;	/*テーブルの枠線の幅、線種、色*/
	background: #fff;	/*背景色*/
	padding: 10px 15px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #eee;	/*背景色*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 140px;	/*幅*/
	text-align: center;	/*センタリング*/
	font-weight: normal;
}
/*左側ボックスに画像を入れた場合の設定*/
.ta1 th img {
	width: 100%;
}

div.info-box {
	width: 100%;
	text-align: center;
}
table.info-table {
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
}
table.info-table tr td, table.info-table tr th {
	border: solid 1px #999999;
	padding: 2px 5px;
	line-height: 36px;
}
table.info-table.link tr:hover {
	cursor: pointer;
	background-color: #ffffe0;
	text-decoration: underline;
}

h1 {
	font-size: 32px;
	position: relative;
	padding-bottom: .1em;
	margin-bottom: 1em;
}
h1::before,
h1::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  height: 4px;
}
h1::before {
  z-index: 2;
  width: 15%;
  background-color: #444;
}
h1::after {
  width: 100%;
  background: -webkit-repeating-linear-gradient(45deg, #fff, #fff 2px, #aaa 2px, #aaa 4px);
  background: repeating-linear-gradient(45deg, #fff, #fff 2px, #aaa 2px, #aaa 4px);
}








div.img-parent:hover {
	opacity: 0.7;
}

h3.service-inner-title {
	color: #333333;
	text-shadow: 1px 1px 1px #ffffff,
	-1px  1px 1px #ffffff,
	1px -1px 1px #ffffff,
	-1px -1px 1px #ffffff;
}

p.service-inner-text {
	color: #b70000 !important;
	font-weight: 400;
	text-shadow: 2px 2px 2px #ffffff,
	-1px 1px 1px #ffffff,
	1px -1px 1px #ffffff,
	-1px -1px 1px #ffffff;
}


.w-100 {
  width: 100%;
}
.w-95 {
  width: 95%;
}
.w-85 {
  width: 85%;
}

.img-over-text {
  position: relative;
  padding: 0;
  }

.img-over-text h3 {
  position: absolute;
  top: 20%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  font-size: 26px;
  font-weight: 600;
  }
.img-over-text p {
  position: absolute;
  color: #111111;
  top: 57%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  font-size: 24px;
  }


.img-over-text-2 {
  position: relative;
  padding: 0;
  }


.img-over-text-2 p {
  position: absolute;
  color: #222222;
  top: 10px;
  left: 10px;
  margin:0;
  padding:0;
  font-size: 24px;
  }
@media screen and (max-width: 480px) {
  .img-over-text-2 p {
    font-size: 18px;
  }
}

@media screen and (max-width: 1200px) {
  .img-over-text h3 {
    font-size: 26px;
  }
  .img-over-text p {
    font-size: 24px;
  }
}
@media screen and (max-width: 992px) {
  .img-over-text h3 {
    font-size: 24px;
  }
  .img-over-text p {
    font-size: 22px;
  }
}
@media screen and (max-width: 768px) {
  .img-over-text h3 {
    font-size: 22px;
  }
  .img-over-text p {
    font-size: 18px;
  }
}
@media screen and (max-width: 560px) {
  .img-over-text h3 {
    font-size: 20px;
  }
  .img-over-text p {
    font-size: 16px;
  }
}
@media screen and (max-width: 430px) {
  .img-over-text h3 {
    font-size: 18px;
  }
  .img-over-text p {
    font-size: 14px;
  }
}
@media screen and (max-width: 370px) {
  .img-over-text h3 {
    font-size: 16px;
  }
  .img-over-text p {
    font-size: 12px;
  }
}

.img-over-text img {
  width: 100%;
  }



.card {
	margin: 10px;
}
.card-body {
	min-height: 180px!important;
	margin: 0px;
	padding:5px;
}
.card-text {
	padding:0;
}



.raise:hover,
.raise:focus {
  box-shadow: 0 0.5em 0.5em -0.4em var(--hover);
  -webkit-transform: translateY(-0.25em);
          transform: translateY(-0.25em);
}

.raise {
  --color: #FF570D;
  --hover: #CC0000;
}

button.raise {
  color: var(--color);
  -webkit-transition: 0.25s;
  transition: 0.25s;
}
button.raise:hover, button.raise:focus {
  border-color: var(--hover);
  background-color: #FF9872;
  color: #CC0000;
}
button.raise {
  background: none;
  border: 2px solid;
  font: inherit;
  line-height: 1;
  margin: 0.5em;
  padding: 1em 2em;
}


.photoplan h2 {
	color: #ffd700;
	font-weight: 400;
	text-shadow: 1px 1px 1px #000000,
	-1px 1px 1px #000000,
	1px -1px 1px #000000,
	-1px -1px 1px #000000;
	margin-bottom: 30px;
}


.box20 {
    position: relative;
    padding: 0.25em 1em;
    margin: 2em 0;
    top: 0;
}
.box20:before, .box20:after{ 
    position: absolute;
    top: 0;
    content:'';
    width: 10px;
    height: 100%;
    display: inline-block;
    box-sizing: border-box;
}
.box20:before{
    border-left: dotted 2px #777777;
    border-top: dotted 2px #777777;
    border-bottom: dotted 2px #777777;
    left: 0;
}
.box20:after{
    border-top: dotted 2px #777777;
    border-right: dotted 2px #777777;
    border-bottom: dotted 2px #777777;
    right: 0;
}
.box20 p {
    margin: 0; 
    padding: 0;
}



/* hr */
hr.dotted {
	border-top: 1px dotted #8c8b8b;
}
hr.double {
	border-top: 3px double #8c8b8b;
}



h2 span.badge {
	position: absolute;
	font-size: 1rem;
	margin-left: 5px;
	margin-top: 3px;
}
p span.badge {
	position: relative;
	font-size: 1rem;
	margin-left: 5px;
	margin-right: 5px;
	margin-top: 3px;
}
p span.small {
	font-size: 1rem;
}



.p-first {
	margin-top:70px;
}
@media screen and (max-width: 768px) {
	.p-first {
		margin-top:30px;
	}
}











.main-image01,
.main-image02{
  margin: 50px auto;
  padding: 10px;
  max-width: 500px;
  border: 2px solid #eee;
  box-sizing: border-box;
}
.main-image01__item,
.main-image02__item{
  overflow: hidden;
  position: relative;
  background-color: #fff;
}
/* メイン画像縦横中央に配置 */
.main-image01__item img,
.main-image02__item img{
  position: absolute;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
/* 画像の比率4対3に指定 2対1の場合は50%にします */
.main-image01__item:after,
.main-image01-thumbs__item:after,
.main-image02__item:after,
.main-image02-thumbs__item:after{
  display: block;
  padding-top: 75%;
  content: '';
}
.main-image01-thumbs,
.main-image02-thumbs{
  width: 100%;
  padding: 10px 0 0;
  box-sizing: border-box;
}
.main-image01-thumbs__item,
.main-image02-thumbs__item{
  overflow: hidden;
  position: relative;
  background-color: #fff;
}
.main-image01-thumbs__item.swiper-slide,
.main-image02-thumbs__item.swiper-slide{
  opacity: 0.5;
}
.main-image01-thumbs__item.swiper-slide-thumb-active,
.main-image02-thumbs__item.swiper-slide-thumb-active{
  opacity: 1;
}
/* サムネイル画像画像縦横中央に配置 */
.main-image01-thumbs__item img,
.main-image02-thumbs__item img{
  position: absolute;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
/* 矢印の色を白に指定 */
.main-image02 .swiper-button-next{
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23f5f5f5'%2F%3E%3C%2Fsvg%3E");
}
.main-image02 .swiper-button-prev{
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23f5f5f5'%2F%3E%3C%2Fsvg%3E");
}
