@charset "UTF-8";
/* CSS Document */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
body {
    line-height: 2;
    -webkit-text-size-adjust: 100%;
    font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
    font-size: 16px;
    color: rgb(0, 29, 51);
    background-color: rgb(230, 229, 229);
}
article{
	overflow: hidden;
}
strong {
	font-weight:bolder
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
	position: relative;
}
ul, ol {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
	max-width: 100%;
	background-color: hsla(0,0%,97%,1.00);
	padding: 5px;
	margin: 0 0 10px;
	border: solid 1px #ccc;
}
img {
	vertical-align: top;
	font-size: 0;
	line-height: 0;
	width: auto;
	height: auto;
	max-width: 100%;
}
h1,h2,h3,h4,h5{
	line-height: 1.4;
}
p {
	line-height: 2;
}
a {
	color:#000;
	text-decoration:none;
}
a:hover {
	-moz-opacity: 0.75;
	opacity: 0.75;
}
/*ヘッダー*/
#head-wrap {
    height: auto;
    position: relative;
    top: 0;
    left: 0;
    z-index: 5;
    transition: .3s;
    letter-spacing: 0;
    background-image: url(../img/back.jpg);
}
/*インナー*/
#wrap{
    background-image: url(../img/back.jpg);
}
.in{
	padding:0 10%;
	text-align:left;
	max-width:1600px;
	margin:0 auto 2%;
}
.in2{
	padding:0;
	text-align:left;
	margin:0 0 2% -1px;
}
.in3{
	padding:16%;
	text-align:left;
	margin:0 auto 10%;
	background-color:#8d7d7d;
	background-image: url(../img/back2.jpg);
	color: #fff;
}
.imw{
	width: 100%!important;
}
/*マージン*/
.ma1{
	margin-bottom: 6%;
}
.ma2{
	margin-bottom: 10%;
}
/*縦横100％*/
.hw{
	height: 100%;
	width: 100%;
}
/*ボーダー*/
.bot{
	border-top: 1px solid #EFEFEF;
}
.bob{
    border-bottom: 1px solid #EFEFEF;
    border-top: 1px solid #b9b3ae;
}
/*テーブル*/
.tb1 {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 1px;
    margin-bottom: 50px;
}
.tb1 th {
    width: 20%;
    padding: 10px;
    font-weight: bold;
    vertical-align: middle;
    text-align: center;
    background-color: rgba(252,237,176,1.00);
}
.tb1 td {
    padding: 10px;
    vertical-align: top;
    text-align: left;
    background-color: rgba(255,255,255,1.00);
}
.cont td {
    background-color: transparent;
}
.tb2 {
	width: 100%;
border-collapse: separate;
border-spacing: 0 1px;
	margin-bottom:50px;
	border-bottom:1px solid #b9b3ae;
}
.tb2 th {
	width: 20%;
	padding: 15px 10px;
	font-weight: bold;
	vertical-align: middle;
	text-align: left;
    border-top: 1px solid #b9b3ae;
}
.tb2 td {
	padding: 15px 10px;
	vertical-align: top;
	border-top:1px solid #b9b3ae;
	text-align:left;
}
/*フッター*/
footer {
	width: 100%;
	background:#2e090e;
	padding:4% 10px;
	text-align:center;
	color:#fff;
	overflow: hidden;
}
footer a {
	color:#fff;
}
#copy {
	text-align: center;
	font-size: 8px;
	margin: 0 0 10px;
	letter-spacing: 2px;
}
#page-top a {
	position: fixed;
	right: 2%;
	bottom: 4%;
	font-size: 12px;
color: #fff; /* 元の「#000」から「#fff」に変更します */
    mix-blend-mode: difference; /* 背景色に合わせて色を自動反転させる */
	margin: auto;
	-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
transition: 1s;
-webkit-transition: 1s;
	z-index: 9;
}
#page-top a::before{
	content: "";
	position: absolute;
	width: 1px;
	height: 80px;
	bottom: 110%;
	left: 50%;
border-left: 1px solid #fff;
	animation: tohe 2s ease-out 0s infinite normal;
}
@keyframes tohe {
0% {
height: 0;
}
100% {
height: 80px;
}
}
#page-top2 {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 8px;
	z-index: 10;
}
#page-top2 a {
	text-decoration: none;
	color: #000;
	font-size: 18px;
	width: 50px;
	height:50px;
	padding: 8px 0;
	text-align: center;
	display: block;
	position: relative;
	background-color: #fff;
	border: 1px #000 solid;
}
/*番号*/
ol.ban{
  counter-reset:list;
  list-style-type:none;
  font: 14px/1.6 'arial narrow', sans-serif;
  padding: 1.5em 0;
}
ol.ban li{
  position:relative;
  padding: 7px 5px 7px 40px;
  margin: 7px 0 10px 0;
  font-weight: bold;
  font-size:14px;
  border-bottom:dashed 1px #ffd955;
}
ol.ban li:before{
    counter-increment: list;
    content: counter(list);
    position: absolute;
    left: 0px;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    color: #fff;
    background-color: #90C04F;
    border-radius: 50%;
    top: 50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
/*スクロール案内*/
.unsc {
	position: absolute;
	z-index: 2;
	bottom: 100px;
	left: 0;
	right: 0;
	text-align: center;
}
.unsc a {
	color: #fff;
	font-family: "Times New Roman", Times, "serif";
	font-size: 14px;
}
.unsc::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 25px;
  top: 50px;
  left: 50%;
  right: 50%;
  bottom: 0;
  border:1px solid #fff;
  border-bottom:0;
  margin-left: -8px;
}
.unsc::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 34px;
  border-left:1px solid #fff;
  left: 50%;
  right: 50%;
  top: 65px;
  animation: unsc 2s ease-out 0s infinite normal;
}
@keyframes unsc {
0% {
height: 0;
}
100% {
height: 50px;
}
}
/*スライドイン*/
.inviewfadeIn {
	opacity: 0;
	transition: .8s;
}
.fadeIn {
	opacity: 1.0;
}
.inviewUp {
	transform: translate(0, 40px);
	transition: .8s;
}
.Up {
	transform: translate(0, 0);
}
.inviewfadeInUp {
	opacity: 0;
	transform: translate(0, 60px);
	transition: .8s;
}
.fadeInUp {
	opacity: 1.0;
	transform: translate(0, 0);
	transition-duration: 1s;
}
.inviewzoomIn {
	transform: scale(0, 0);
	transition: .8s;
}
.zoomIn {
	transform: scale(1, 1);
}
.target-02 {
	opacity: 0;
	transform: translate(-60px, 0);
	transition: 1s;
}
.mv-02 {
	opacity: 1.0;
	transform: translate(0, 0);
}
.target-03 {
	opacity: 0;
	transform: translate(60px, 0);
	transition: 1s;
}
.mv-03 {
	opacity: 1.0;
	transform: translate(0, 0);
}
.col::after {
  top: 0;
  left: 0;
  background-color:rgba(0,0,0,1);
}
/*（オーバーレイ白）*/
.wo,.wo2 {
  overflow: hidden;
  position: relative;
  display: block;
  z-index: 1;
}
.wo::after,.wo2::after {
  position: absolute;
  display: block;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/back.jpg);
  -webkit-transition: all .7s;
  transition: all .7s;
  transition-delay:0.3s;
}
.woa::after {
  left: 100%;
}
/*（オーバーレイ黒）*/
.wo2::after {
  background-color:#2e090e;
}
/*ナビゲーション*/
.menu-tr,
.menu-tr span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-tr {
  position: fixed;
  width: 70px;
  height: 16px;
  top: 32px;
  right: 40px;
  z-index: 20;
}
.menu-tr span {
  position: absolute;
  right: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
}
.menu-tr span:nth-of-type(1) {
  top: 5px;
  animation: nobi1 3s ease 0s infinite normal;
}
@keyframes nobi1 {
0% {
width:40px;
}
50% {
width:70px;
}
100% {
width:40px;
}
}
.menu-tr span:nth-of-type(2) {
  bottom: 0;
  animation: nobi2 3s ease 0s infinite normal;
}
@keyframes nobi2 {
0% {
width:70px;
}
50% {
width:40px;
}
100% {
width:70px;
}
}
.menu-tr.active span {
  background-color: #fff;
}
.menu-tr.active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
  animation: none;
}
.menu-tr.active span:nth-of-type(2) {
  -webkit-transform: translateY(0px) rotate(45deg);
  transform: translateY(0px) rotate(45deg);
  animation: none;
}
.globalnav {
background-color: #000;
color: #fff;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
text-align: center;
display: flex;
visibility: hidden;
flex-direction: column;
justify-content: center;
align-items: center;
font-size: 18px;
opacity: 0;
transition: opacity .6s ease, visibility .6s ease;
z-index: 5;
}
.open .globalnav {
visibility: visible;
opacity: 0.9;
}
.globalnav ul{
color: #fff;
position: relative;
	z-index: 7;
}
.globalnav a{
color: #fff;
	font-family: "Times New Roman", Times, "serif";
	font-size: 24px;
	padding: 10px;
	margin: 10px 0;
	display: block;
	font-weight: normal;
	position: relative;
}
.globalnav a::before{
	content: "";
	position: absolute;
	width: 0;
	height: auto;
	bottom: 0;
	left: 0;
	border-bottom: 3px #fff double;
	transition: all 300ms 0s ease;
}
.globalnav a:hover::before{
	width: 100%;
}
/*ホバー*/
.hv {
  display: inline-block;
  position: relative;
  text-decoration: none;
}
.hv::after {
  position: absolute;
  content: '';
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #000;
  transition: all 0.3s ease 0s;
}
.hv:hover {
  cursor: pointer;
}
.hv:hover::after {
  width: 100%;
}
/*ボタン*/
.button {
  display: inline-block;
  font-family: 'Caveat', cursive;
  width: 100%;
  max-width:200px;
  height: 50px;
  text-align: center;
  text-decoration: none;
  outline: none;
  font-size:14px;
  margin:20px auto 0;
  position: relative;
  z-index: 1;
  background-color: #2e090e;
  border-bottom: 1px solid #2e090e;
  line-height: 50px;
  overflow: hidden;
}
.button a {
  color: #fff;
	display: block;
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button:hover {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
}
.button:hover a {
  color: #2e090e;
}
.button:hover a::before {
  content: "";
  position: absolute;
  right: -8px;
  bottom: 0;
  width: 20px;
  border-bottom: 1px solid #2e090e;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  animation: none;
}
.button::after {
  left: -100%;
  width: 100%;
  height: 100%;
}
.button:hover::after {
  top: 0;
  left: 0;
  background-color: #fff;
}
/*ボタン2*/
.botan a {
	border: 1px solid #000;
	display: block;
	width: 80%;
	max-width: 400px;
	position: relative;
	color: #000;
	text-align: center;
	margin: 30px auto;
	z-index: 1;
}
.botan a::before{
	content: "";
	position: absolute;
	width: 20%;
	top: 50%;
	left: 90%;
	border-bottom: 1px solid #000;
	transition: all 300ms 0s ease;
}
.botan a::after{
	content: "";
	position: absolute;
	height: 10px;
	bottom: 48%;
	left: 109%;
	border-right: 1px solid #000;
	transform: rotate(-45deg);
	transition: all 300ms 0s ease;
}
.botan a:hover::before{
	width: 30%;
	left: 90%;
}
.botan a:hover::after{
	bottom: 48%;
	left: 119%;
}
.botan a span {
	display: block;
	padding: 20px;
	width: 100%;
	transition: all 500ms .3s ease;
}
.botan a span:hover{
	background-color: #fff;
	color: #0f1f5e;
}
/*ボタン3*/
button {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  z-index: 1;
}
button.learn-more {
  width: 15rem;
  height: auto;
}
button.learn-more .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 3rem;
  height: 3rem;
  background: #000;
}
button.learn-more .circle .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
button.learn-more .circle .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 0.625rem;
  width: 1.125rem;
  height: 0;
  background: none;
}
button.learn-more .circle .icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.25rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.05rem solid #fff;
  border-right: 0.05rem solid #fff;
  transform: rotate(45deg);
}
button.learn-more .button-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.95rem 0;
  margin: 0 0 0 1.85rem;
  color: #000;
  font-weight: bolder;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}
button:hover .circle {
  width: 100%;
}
button:hover .circle .icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}
button:hover .button-text {
  color: #fff;
}
/*ボタン4*/
.buttonw {
  display: inline-block;
  font-family:'Times New Roman', Times, serif;
  letter-spacing:3px;
  width: 100%;
  width:200px;
  height: 50px;
  text-align: center;
  text-decoration: none;
  outline: none;
  font-size:14px;
  margin-top:20px;
  position: relative;
  z-index: 2;
  border: 1px solid #fff;
  line-height: 50px;
  overflow: hidden;
}
.buttonw a {
  color: #fff;
	display: block
}
.buttonw,
.buttonw::before,
.buttonw::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.buttonw::before,
.buttonw::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.buttonw:hover {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
}
.buttonw:hover a {
  color: #fff;
}

.buttonw::after {
  left: -100%;
  width: 100%;
  height: 100%;
}
.buttonw:hover::after {
  top: 0;
  left: 0;
  background-color:#2e090e6e;
}
.buttonw::before{
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 84%;
  margin-top: -4px;
}
/*余白*/
.pd5 {
	padding: 5%;
}
/*見出し*/
/*（パターン1）*/
.mdt {
  padding: 30% 3% 3%;
  display: block;
  color: #FFF;
  font-family:'Times New Roman', Times, serif;
  font-size:80px;
  font-weight: normal;
  background-repeat: no-repeat;
  background-position: bottom center;
  text-align: left;
  background-size:cover;
  overflow: hidden;
  position: relative;
	z-index: 1;
}
.mdt h1 {
  font-size:14px;
	line-height: 1.4;
}
.mdt p,.md1,.md2,.md3,.md4,.md5 {
	line-height: 1.6;
	margin-bottom: 0;
}
.mdt1{
	background-image:url("../img/pho53.jpg");
}
.mdt2{
	background-image:url(../img/pho100.jpg);
}
.mdt3{
	background-image:url(../img/pho86.jpg);
}
.mdt4{
	background-image:url(../img/pho70.jpg);
}
.mdt5{
	background-image:url(../img/pho97.jpg);
}
.mdt6{
	background-image:url(../img/pho102.jpg);
}
.mdt7{
	background-image:url(../img/pho103.jpg);
}
.md1 {
	font-family: 'Mrs Saint Delafield', cursive;
	font-size:90px;
	text-align:center;
	padding: 5%;
}
/*（パターン2）*/
.md2 {
	font-size:32px;
	text-align:center;
	padding: 1% 0 20px 0;
	margin-bottom:6%;
	position: relative;
}
.md2 span {
	font-family:'Times New Roman', Times, serif;
	font-size: 40px;
	font-weight: normal;
	display: block;
	margin-bottom: 10px;
	color: #2e090e;
}
.md2::after {
	content: "";
	position: absolute;
	left: 50%;
	margin-left:-15px;
	bottom: 0;
	width:30px;
	border-bottom: 1px solid #2e090e;
}
/*（パターン3）*/
.md3 {
	font-size:26px;
	text-align:left;
	padding: 8% 0 30px 0;
	margin-bottom:2%;
	position: relative;
}
.md3 span {
	font-family: 'Caveat', cursive;
	font-size: 70px;
	font-weight: normal;
	display: block;
	margin-bottom: 8px;
}
.md3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 46px;
	margin-left:-44px;
	width:20px;
	border-bottom: 1px solid #2e090e;
}
.md4{
font-family:'Times New Roman', Times, serif;
font-size: 60px;
font-weight: normal;
margin-bottom: 8px;
}
.md5 {
    font-size: 22px;
    margin: 0 0 40px;
    padding: 10px 0;
    line-height: 1.7;
}
.md5 span {
	font-size: 60px;
	font-family:'Times New Roman', Times, serif;
	font-weight: normal;
	color: #2e090e;
	display: block;
}
.md6 {
	font-size:18px;
	padding: 10px 0;
}
.md7 {
    font-weight: bolder;
    font-size: 18px;
    color: #2e090e;
    padding: 30px 0 10px 0;
    display: inline-block;
}
.md8 {
    font-size: 17px;
    padding: 20px 0 10px 0;
	line-height: 1.4;
}
.maky {
	padding: 8% 0 4px 0!important;
	margin-bottom:8px;
	border-bottom:1px solid #8d6f6b;
}
/*キャッチ*/
.ca{
	font-size:20px;
	margin-bottom:30px;
	font-weight:bolder;
}
.ca2 {
    font-size: 18px;
    margin-top: 40px;
    margin-bottom: 20px;
    font-weight: bolder;
}

/*文字*/
.mo1{
	font-size:20px;
}
.mo2{
	font-family: 'Caveat', cursive;
	color:#2e090e;
	font-weight: 100;
}
.ye{
	background: linear-gradient(transparent 50%, rgba(255,255,0,0.8) 50%);
}
/*添付*/
.pdf{
font-weight: bolder;
text-align: center;
display: block;
max-width: 400px;
margin: 60px auto 40px;
border: #000 3px solid;
padding: 20px;
background-image: url(../img/pdf.png);
background-repeat: no-repeat;
background-position: 90% center;
background-size: 30px auto;
}
/*（日付）*/
.day{
    display: block;
    background-color: #e4d9d4;
    width: 140px;
    text-align: center;
    color: #2e090e;
    padding: 0;
    line-height: 1.2;
    font-weight: normal;
    font-size: 12px;
    margin-bottom: 10px;
}
/*背景*/
.bg1{
	background-color:#333333;
}
.bg2{
	background-image: url("../img/back2.jpg")
}
.bg3{
	background-image: url("../img/back3.jpg");
	background-size: cover;
	background-position: bottom;
}
.bg4{
	background-image: url("../img/back4.jpg");
	background-size: 40%;
}
.bg5{
	background-image: url("../img/back1.jpg");
	background-size: 50%;
}
.bg6{
	background-image: url("../img/back2.jpg");
	background-size: 50%;
}
.bg7{
	background-image: url("../img/back3.jpg");
	background-size: 100%;
}
.bg8{
	background-image: url("../img/back4.jpg");
	background-size: 50%;
}
/*枠*/
.wak1{
	border: #381914 6px solid;
	padding: 6%;
}
.wak2{
	padding: 6%;
	background-color: #2e090e;
	color: #fff;
}
.wak3{
	padding: 6%;
	background-color: #e4d9d4;
}
/*地図*/
iframe{
	filter:sepia(20%);-webkit-filter:sepia(20%);
	width:100%;
}
/*トップ*/
#top {
width: 100%;
height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	color:#FFFFFF;
	line-height:2;
	margin-bottom: 8%;
}
#top h1 {
	display:block;
	font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size:18px;
	font-weight:normal;
	padding:20px;
}
#top span {
	display:block;
	font-family: 'Caveat', cursive;
	font-weight:normal;
	font-size:80px;
	line-height:1.2;
	margin-bottom: 20px
}
/*ギャラリー*/
/*（共通）*/
.gal2,.gal3,.gal4,.gal2-2,.gal3-2,.gal4-2{
	display: flex;
	flex-wrap: wrap;
}
.gal2 .md4,.gal3 .md4,.gal4 .md4{
	margin-top: 16px;
}
.gal2 p,.gal3 p,.gal4 p{

}
.cabo{
	padding: 10px 20px 30px 10px;
	display: block;
	position: relative;
}
.cabo p{
	padding: 10px 0 10px 0;
	line-height: 1.4;
}
.cabo::before{
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 1px #2e090e;
  border-right: solid 1px #2e090e;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 30px;
  left: 90%;
  margin-top: -4px;
}
/*（2列）*/
.gal2 li{
	width:48%;
	margin-right:4%;
	margin-bottom:6%;
}
.gal2 li:nth-child(2n){
	margin-right:0;
}
/*（2列パターン2）*/
.gal2-2 section{
	width:50%;
}
.gal2-2>div{
	width:50%;
}
.gal2-2 img{
	width:100%;
}
/*（3列）*/
.gal3 li{
	width:30%;
	margin-right:5%;
	margin-bottom:6%;
}
.gal3 li:nth-child(3n){
	margin-right:0;
}
/*（3列パターン2）*/
.gal3-2 li{
	width : 33.33333% ;
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
	padding:0 0 1px 1px;
}
.gal3-2 li:nth-child(3n){
	padding:0 0 0 1px;
}
/*（4列）*/
.gal4 li{
	width:22%;
	margin-right:4%;
	margin-bottom:4%;
}
.gal4 li:nth-child(4n){
	margin-right:0;
}
/*（4列パターン2）*/
.gal4-2 li{
	width:25%;
	padding:0 0 1px 1px;
}
.gal4-2 li:nth-child(4n){
	padding:0 0 0 1px;
}
/*ギャラリー（横タイトル）*/
.yobo{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background-color: #F7F7F7;
}
.yoti {
    width: 40%;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("../img/pho10.jpg");
    background-position: center center;
    background-size: cover;
    align-self: stretch;
    
    /* ▼ Flexboxを正しく効かせるための修正例 */
    display: flex;
    flex-direction: column;   /* 中の要素を縦に並べる */
    justify-content: center;  /* 上下の中央配置 */
    align-items: flex-start;  /* 左右の左詰め（leftではなくflex-start） */
    
    color: #fff;
    text-align: left;
}
.yoti2{
	background-image: url("../img/pho5.jpg");
}
.yoti3{
	background-image: url("../img/pho102.jpg");
	background-size: cover;
}
.yoti4{
	background-image: url("../img/sl10.jpg");
}
.yoti5{
	background-image: url("../img/pho101.jpg");
}
.yoti h2,.yoti h3{
	position: relative;
	z-index: 2;
}
.wfl{
	width: 100%;
}
.man{
	padding: 80% 10% 8%;
}
.yotiman{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.man2{
	padding: 8% 10% 8%;
	color: #fff;
	z-index: 10;
}
.rev .yoti{
	border-left: 1px #fff solid;
}

.yoti p{
	position: relative;
	z-index: 2;
}
.yoma{
	width: 60%;
	align-self: stretch;
	margin-bottom: -1px;
}
.yobo{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background-color: #F7F7F7
}
/*ブログ*/
/*ブログ（パターン1）*/
.blo{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.blo section{
	width: 30%;
	margin-right: 5%;
	margin-bottom: 30px;
}
.blo section:nth-child(3n){
	margin-right: 0;
}
/*ブログ（パターン2）*/
.blo2{
	display: block;
}
.blo2 section{
	width: 100%;
	margin-bottom: 30px;
}
/*ブログ（共通）*/
.blo time,.blo2 time{
font-family: 'Caveat', cursive;
	font-size: 14px;
	letter-spacing: 0.1rem;
}
.blo a,.blo2 a{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.blo a img,.blo2 a img{
	width: 30%;
}
.blo a div,.blo2 a div{
	width: 70%;
	padding: 10px 60px 10px 20px;
	text-align: left;
}
.blo a p,.blo2 a p{
    line-height: 1.4;
}
.blo a::before,.blo2 a::before{
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 1px #2e090e;
  border-right: solid 1px #2e090e;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 90%;
  margin-top: -4px;
}
/*アコーディオン*/
.accordion-container .accordion-title {
    position: relative;
    padding: 20px 30px 20px 0;
    cursor: pointer;
    font-weight: bolder;
}
.accordion-container .accordion-title::before,
.accordion-container .accordion-title::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 15px;
  height: 1px;
  background: #2e090e;
  transition: all .3s ease-in-out;
}
.accordion-container .accordion-title::before {
  transform: rotate(90deg);
}
.accordion-container .accordion-title.open::before {
  transform: rotate(180deg);
}
.accordion-container .accordion-title.open::after {
  opacity: 0;
}
.accordion-content {
    padding-top: 20px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 20px;
    background-color: rgba(255,255,255,1.00);
    margin-bottom: 4%;
}
/*ブレッドクラム*/
.breadcrumb {
    margin-bottom: 6%;
    padding: 0.5em 1em;
    font-size: 12px;
}
.breadcrumb .breadcrumbs {
	padding-left: 0;
	margin: 0 auto;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
.breadcrumb li {
	display: inline-block;
	position: relative;
	padding-right: calc(16px + 8px);
	margin-right: 8px;
}
.breadcrumb li::before {
	content: '›';
	width: 1em;
	height: 1em;
	line-height: 1;
	text-align: center;
	font-size: 1em;
	color: inherit;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
}
.breadcrumb li:last-child {
	margin-right: 0;
	padding-right: 0;
}
.breadcrumb li:last-child::before {
	content: normal;
}
/*フォーム*/
textarea,input {
	width:100%;
	border: none;
	background-color: #fff;
}
/*コンテンツ*/
/*（30%）*/
.mcl,.mcr,.mcl2,.mcr2,.mcl3,.mcr3{
	overflow: hidden;
}
.mcl img{
	width: 30%;
	float: left;
	margin: 0 40px 20px 0;
}
.mcr img{
	width: 30%;
	float: right;
	margin: 0 0 20px 40px;
}
/*（50%）*/
.mcl2 img{
	width: 50%;
	float: left;
}
.mcr2 img{
	width: 50%;
	float: right;
}
.mcl2>div{
	width: 50%;
	float: right;
	padding: 0 6%;
}
.mcr2>div{
	width: 50%;
	float: left;
	padding: 0 6%;
}
/*（70%）*/
.mcl3 img{
	width: 70%;
	float: left;
}
.mcr3 img{
	width: 70%;
	float: right;
}
.mcl3>div{
	width: 50%;
	float: right;
	margin: 10% 0 0 -20%;
	padding: 6%;
	background-color: rgba(250,250,250,0.9)
}
.mcr3>div{
	width: 50%;
	float: left;
	margin: 10% -20% 0 0;
	padding: 6%;
	background-color: rgba(250,250,250,0.9)
}
/*（フレックス1）*/
.mc1{
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	justify-content: space-between;
	position: relative;
	margin-bottom: 10%;
}
.mc1 img{
	width: 60%;
	position: relative;
	z-index: 1;
}
.mc1>div{
	position: relative;
	width: 50%;
	padding: 2% 6% 8% 6%;
	margin: 10% 0 0 -10%;
	background-color: rgba(250,250,250,1);
	z-index: 2;
	text-align: left;
}
.mc1:nth-child(2n){
	flex-direction:row-reverse;
}
.mc1:nth-child(2n)>div{
	margin: 10% -10% 0 0;
}
/*（フレックス4）*/
.mc4{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.mc4 img{
	width: 40%;
}
.mc4>div{
	width: 56%;
	padding: 0;
}
.mc4:nth-child(2n){
	flex-direction:row-reverse;
}
/*（フレックス5）*/
.mc5{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.mc5 img,.mc5>div{
	width: 50%;
}
.mc5>div{
	padding: 6%;
}
.mc5:nth-child(2n){
	flex-direction:row-reverse;
}
/*横スライダー*/
.slider {
  display: flex;
}
.slider__inner {
  display: flex;
}
.slider__item{
	width: 25%;
}
.reverse {
  display: flex;
  overflow: hidden;
  width: 100%;
}
.reverse__inner {
  display: flex;
}

.slider__inner:first-child {
  animation: loop 90s linear infinite;
}
 
.slider__inner:nth-child(2) {
  animation: loop2 90s -60s linear infinite;
}
 
.slider__inner:last-child {
  animation: loop3 90s -30s linear infinite;
}
@keyframes loop {
  0% {
transform: translateX(200%);
  }
  to {
transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
transform: translateX(100%);
  }
  to {
transform: translateX(-200%);
  }
}
@keyframes loop3 {
  0% {
transform: translateX(0%);
  }
  to {
transform: translateX(-300%);
  }
}
.reverse__inner:first-child {
  animation: loop4 90s linear infinite;
}
.reverse__inner:nth-child(2) {
  animation: loop5 90s -60s linear infinite;
}
.reverse__inner:last-child {
  animation: loop6 90s -30s linear infinite;
}
@keyframes loop4 {
  0% {
transform: translateX(-100%);
  }
  to {
transform: translateX(200%);
  }
}
@keyframes loop5 {
  0% {
transform: translateX(-200%);
  }
  to {
transform: translateX(100%);
  }
}
@keyframes loop6 {
  0% {
transform: translateX(-300%);
  }
  to {
transform: translateX(0%);
  }
}
/*ランダム*/
.ram1{
	display: flex;
	flex-wrap: wrap;
	align-items: top;
	justify-content: space-between;
	padding-top:4%; 
	margin-top: 6%
}
.ram1 section:nth-child(1){
	width: 40%;
	margin: 0 0 12% 0;
}
.ram1 section:nth-child(2){
	width: 45%;
	margin: 0 10% 2% 5%;
}
.ram1 section:nth-child(3){
	width: 60%;
	margin: -2% 0 6% 40%;
}
.ram1 section:nth-child(4){
	width: 50%;
	margin: -16% 0 12% 0;
}
.ram1 section:nth-child(5){
	width: 32%;
	margin: -26% 0 2% 62%;
}
/*お知らせ*/
#info{
    padding: 6%;
    max-width: 1200px;
    margin: auto;
}
#info h2{
	font-family:'Times New Roman', Times, serif;
	font-weight: normal;
	color: #2e090e;
    font-size: 22px;
}
.infow{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-right: 40px;
}
.infow p{
    border-right: 1px #001f48 dotted;
    padding-right: 20px;
    position: relative;
}
.infow p:before{
 content:'';
 display:inline-block;
 position:absolute;
 right:-40px;
top:46%;
width:5px;
height:5px;
border-right:1px solid #001f48;
transform:rotateZ(-45deg);
}
.infow p:after{
 content:'';
 position:absolute;
 display:inline-block;
 right:-40px;
top:50%;
 width:30px;
 height:1px;
 background:#001f48;
}
.infoma span {
    display: block;
    background-color:#e4d9d4;
    width: 140px;
    text-align: center;
    color: #2e090e;
    padding: 0;
	line-height: 1.2;
    font-weight: normal;
	font-size: 12px;
	margin-bottom: 10px
}
.infoma a {
    line-height: 1.4;
    display: block;
    margin-bottom: 20px;
    font-weight: bolder;
}
/*角パーツ*/
.bgb1{
    position: relative;
	padding-bottom: 12%;
}
.bgb1:before{
    content: "";
    width: 22%;
    height: 30%;
    display: block;
    position: absolute;
    background-image: url(../img/il2.png);
    background-repeat: no-repeat;
    background-size: contain;
    right: 3%;
    bottom: 4%;
    z-index: 3;
    animation-name: huwa;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 1.5s;
}
.bgb1:after{
    content: "";
    width: 24%;
    height: 30%;
    display: block;
    position: absolute;
    background-image: url(../img/il1.png);
    background-repeat: no-repeat;
    background-size: contain;
    left: 6%;
    top: 10%;
    z-index: 3;
    animation-name: huwa;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 1.5s;
}
@keyframes huwa {
    0% {
        transform: translate(0,0px);
    }
    100% {
        transform: translate(0,-15px)
    }
}
/*オーバーレイ*/
.ov{
	position: relative;
}
.ov::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.2);
	z-index: 1;
}
.ov2{
	position: relative;
}
.ov2::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(255,206,0,0.6);
	z-index: 1;
}
.ov3{
	position: relative;
}
.ov3::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	/*background-color:rgba(0,7,50,0.5);*/
	background-color:rgba(0,187,255,0.5);
	z-index: 1;
}
/*問い合わせ*/
.contact{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.contact span{
    display: block;
    margin-bottom: 10px;
}
.contact img{
    width: auto;
    height: auto;
    max-width: 20px;
    max-height: 20px;
}
.con1 img{
    margin-bottom: -4px;
}
.con1,.con2{
    width: 50%;
    position: relative;
    padding: 20px 0;
}
.con1{
    border-right: 1px dashed rgba(255,255,255,0.30);
}
.con3{
    width: 100%;
    border-top: 1px dashed rgba(255,255,255,0.30);
    padding: 20px 0;
}
.mwform-tel-field input[type="text"], .mwform-zip-field input[type="text"] {
    display: inline-block;
    width: auto;
}
.info p{
	margin-bottom: 20px;
}
input[type="submit"] {
    appearance: none;
    -webkit-appearance: none;
    border-radius: 100px;
    padding: 12px;
	background:transparent;
	border: #000 solid 1px;
	width: 80%;
	display: block;
	margin: 8% auto 0;
	color: #000;
}

.tote{
	padding: 10%;
	text-align: center;
}

.topcati {
  /* ① 縦書きの設定 */
  writing-mode: vertical-rl;
  
  /* ② 横幅と高さの指定（画面いっぱいに広げて中央に寄せる準備） */
  width: 100%;
  height: 80vh; /* 画面の高さの80%（状況に合わせて 100vh や 400px などに調整してください） */

  /* ③ 縦書きの中での中央配置（Flexboxを使用） */
  display: flex;
  justify-content: center; /* 縦方向の中央配置 */
  align-items: center;     /* 横方向の中央配置 */
}

.topcati h1 {
  /* 文字のフォントサイズや余白はお好みで */
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.1em; /* 縦書きは少し文字間を空けると上品になります */
  margin: 0;
}
.imw {
  width: 100%;
  height: 80vh;      /* PCでもスマホでも、常に画面全体の高さの80%にする */
  object-fit: cover; /* 画像の比率を崩さずにトリミング */
  display: block;
}
.impa{
	padding-left: 8%;
}
.impa2{
	padding-right: 8%;
}
.toppoi{
	background-color: #8d7d7d;
	color: #fff;
	padding-bottom: 8%;
	background-image: url(../img/back2.jpg);
}
.fo7{
	font-size: 20px;
	font-weight: bolder;
	margin-bottom: 10px;
}
.flogo{
	width: 14%;
	margin: 0 auto 30px;
}
.tocalo{
	width: 18%;
	margin: 0 auto 30px;
}
.cen{
	text-align: center;
}
.item-cat-list{
	text-align: center;
}
.item-cat-list li a{
	display: block;
	padding: 8px;
	border: 1px solid #2e090e;
	text-align: center;
	text-decoration: none;
}
.current-cat a{
	background-color: #2e090e;
	color: #fff!important;
}

.sns{
	padding: 0 8% 4%;
}
.sns li a{
	display: block;
	padding: 8px;
	border: 1px solid #2e090e;
	text-align: center;
	text-decoration: none;
}
.illust {
  mix-blend-mode: multiply;
}
.aicon img{
	width: 10%;
	margin: 4% auto 1%;
}
.infowrap{
	padding: 8%;
	margin-bottom: 6%;
	background-color: #ffffff73;
}
.wp-pagenavi{
	margin-top: 4%!important;
	text-align: center;
}
.wp-pagenavi span.current{
	background-color: #2e090e;
	color: #fff;
}
.wp-pagenavi a, .wp-pagenavi span {
    border: 1px solid #2e090e!important;
    padding: 6px 8px!important;
    margin: 2px;
}

@media all and (min-width:639px){
.brr{
	display:none;
}
header {
	height: 80px;
	transition: .3s;
}
.is-animation {
	width: 100%;
	padding-top: 0;
	height: 50px;
}
#head-wrap{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: fixed;
    width: 100%;
    margin-bottom: 10px;
    z-index: 9;
	background-image: url(../img/back.jpg);
}
#logo {
	width: 30%;
	max-width:240px;
	padding: 20px 20px;
	margin-right: auto;
	transition: .3s;
}
.is-animation #logo {
	width: 20%;
	padding: 10px 20px;
	padding: 5px 20px 5px 3rem;
}
#global-navigation {
	overflow: hidden;
	margin-left: auto;
	margin-right: auto;
}
#global-navigation ul{
	display: flex;
}
#global-navigation ul li{
	margin-right: 1.8rem;
}
#global-navigation ul li a {
	display: block;
	padding: 12px 0px;
	width: 100%;
	color: #000000;
	text-decoration: none;
	font-size: 14px;
	font-weight:bold;
	-webkit-transition: all .5s;
	transition: all .5s;
}
#global-navigation ul li a::after {
  position: absolute;
  content: '';
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #000;
  transition: all 0.3s ease 0s;
}
#sp-btn p{
  display: none;
}
}

@media all and (max-width:640px){

	body{
		font-size: 14px;
	}
/*共通*/
img,table,tbody,tr,th,td.mcl,.mcr.mcl2,.mcr2,.mcl3,.mcr3,.mcl img,.mcr img,.mc1>div,.mcl2>div,.mcl3>div,.mc4>div,.mc5>div,.mc1 img,.mcl2 img,.mcl3 img,.mc4 img,.mc5 img,.mc1:nth-child(2n)>div {
	width: 100%;
	float: none;
	margin-left: auto;
	margin-right: auto;
	max-width:100%;
	display:block;
	justify-content:center;
}
#logo {
    width: 50%;
    padding: 16px 20px;
}
#top h1 {
	font-size:12px;
	padding:10px;
	font-weight: normal;
	margin-top: -20%;
}
#top span {
	font-size:60px;
	margin-bottom: 20px;
}
footer {
	font-size: 12px;
}
.mdt {
  font-size:60px;
  padding: 26% 3% 8%;
}
.md2 {
    font-size: 22px;
	margin-bottom: 50px;
}
.md3 span {
	font-size: 50px;
	margin-bottom: -6px;
}
.md3 {
	font-size:18px;
}
.md4{
	font-size: 50px;
}
.md5 {
	font-size: 18px;
    margin: 20px 0 10px;
}
.in{
	padding:0 10px;
	margin:0 auto 60px;
	overflow: hidden;
}
#footaddress span {
	padding-right: 0;
	display:block;
}
#page-top {
	bottom: 10px;
	right: 10px;
}
/*ナビゲーション*/
#global-navigation {
	position: relative;
	z-index: 10;
	width: 100%;
	height: 0;
	background:#2e090e;
	transition: all .5s;
	visibility: hidden;
	opacity: 0;
}
.side-open #global-navigation {
	padding: 20px 0 20px;
	visibility: visible;
	height: auto;
	opacity: 1;
}
#global-navigation ul.sp {
	vertical-align: middle;
	padding:5%;
}
#global-navigation ul.sp li {
	width: 100%;
	opacity: 0;
}
.side-open #global-navigation ul.sp li {
	opacity: 1;
}
.side-open #global-navigation ul.sp li:nth-child(1) {
	transition: opacity 1s ease .2s;
}
.side-open #global-navigation ul.sp li:nth-child(2) {
	transition: opacity 1s ease .3s;
}
.side-open #global-navigation ul.sp li:nth-child(3) {
	transition: opacity 1s ease .4s;
}
.side-open #global-navigation ul.sp li:nth-child(4) {
	transition: opacity 1s ease .5s;
}
.side-open #global-navigation ul.sp li:nth-child(5) {
	transition: opacity 1s ease .6s;
}
.side-open #global-navigation ul.sp li:nth-child(6) {
	transition: opacity 1s ease .7s;
}
.side-open #global-navigation ul.sp li:nth-child(7) {
	transition: opacity 1s ease .8s;
}
.side-open #global-navigation ul.sp li:nth-child(8) {
	transition: opacity 1s ease .9s;
}
#global-navigation ul.sp li a {
	display: block;
	padding: 14px 10px;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	transition: all .5s;
	text-align: center;
	margin:0 10px 0 10px;
	border-bottom:rgba(255,255,255,0.4) 1px solid;
}
#sp-menu-btn {
	z-index: 1000;
	position: fixed;
	top: 10px;
	right: 10px;
	text-align: center;
	cursor: pointer;
	background-color:#2e090e;
}
#sp-menu-btn a {
	padding: 20px 17px;
	cursor: pointer;
	width:60px;
	height:60px;
	background-color:#2e090e;
}
#sp-menu-btn p {
	position: fixed;
	width:60px;
	height:22px;
	top: 10px;
	right: 10px;
	padding:38px 10px 0;
	display:block;
	font-family: lubalin,sans-serif;
	font-size:10px;
	color: #fff;
	letter-spacing: 0.1rem;
	font-weight:bolder;
}
.menu-trigger, .menu-trigger span {
	display: block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger span {
	position: relative;
	width: 26px;
	height: 1px;
	background-color: #fff;
	border-radius: 4px;
}
.nato a{
	border-top: rgba(255, 255, 255, 0.4) 1px solid;
}
.side-open #sp-menu-btn{
	background-color:#2e090e;
}
.side-open .menu-trigger span {
	background: #fff;
}
.side-open #sp-menu-btn p {
	color:#fff;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 8px;
}
.menu-trigger span:nth-of-type(3) {
	top: 16px;
}
.menu-trigger.active span:nth-of-type(1) {
	transform: translateY(9px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	transform: translateY(-9px) rotate(45deg);
}
/*テーブル*/
.tb1 th {
	width: 100%;
	padding: 0 10px;
	border-bottom:0;
	border-right:0;
}
.tb1 td {
	border-bottom:0;
}
.tb2 {
	width: 100%;
	margin-bottom:50px;
}
.tb2 th {
    width: 100%;
    padding: 10px 10px 0;
    border-top: 1px solid #b9b3ae;
    border-bottom: 0;
}
.tb2 td {
	display: block;
	padding: 0 10px 10px;
	border-top:1px #eee solid;
	border-bottom:0;
}
/*ギャラリー*/
/*（2列パターン2）*/
.gal2-2 section,.gal2-2>div{
	width:100%;
}
/*（3列4列）*/
.gal3 li,.gal4 li{
	width:48%;
	margin-right:4%;
	margin-bottom:6%;
}
.gal3 li:nth-child(3n){
	margin-right:4%;
}
.gal3 li:nth-child(2n),.gal4 li:nth-child(2n){
	margin-right:0;
}
/*（3列4列パターン2）*/
.gal3-2 li,.gal4-2 li{
	width:50%;
}
.gal3-2 li:nth-child(2n),.gal4-2 li:nth-child(2n){
	padding:0 0 0 1px;
}
.gal3-2 li:nth-child(3n){
	display: none
}
/*ギャラリー（横タイトル）*/
.yoti{
width: 100%;
	margin-bottom: 1px;
}
.rev{
	flex-direction: column-reverse;
}
.yoma{
	width: 100%;
	margin-bottom: 0;
}
/*ブログ*/
.blo section{
	width: 100%;
	margin-right: 0;
	margin-bottom: 10px;
}
.blo a p{
	font-size: 16px;
}
/*ボタン*/
.botan a {
	width: 70%;
}
.botan a span {
	padding: 10px;
}
.botan a::after{
	left: 108%;
}
/*ランダム*/
.ram1{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding-top: 4%;
}
.ram1 section:nth-child(1){
	width: 80%;
	margin: 0 0 8% 0;
}
.ram1 section:nth-child(2){
	width: 90%;
	margin: 0 5% 10% 5%;
}
.ram1 section:nth-child(3){
	width: 53%;
	margin: 0 0 6% 5%;
}
.ram1 section:nth-child(4){
	width: 35%;
	margin: -30% 0 6% 0;
}
.ram1 section:nth-child(5){
	width: 48%;
	margin: 0% 0 14% 45%;
}
/*角パーツ*/
.bgb1{
	padding-top: 20%;
}
.bgb1:before{
    width: 36%;
    height: 30%;
    right: 4%;
    bottom: -14%;
}
.bgb1:after{
    width: 36%;
    height: 30%;
    left: 6%;
    top: 8%;
}
/*横スライダー*/
.slider {
	width: 200%;
}
/*ボックス*/
.mc5{
	padding-bottom: 6%;
}
/*余白*/
.pd5 {
	padding: 10% 5%;
}
.mc1>div{
	margin: 10% 5%;
	width: 90%;
}
/*アコーディオン*/
.accordion-container .accordion-title {
    padding: 10px 30px 10px 0;
}

.imw {
  height: 50vh;
}
.impa{
	padding-left: 8%;
	margin-top: 15%;
	margin-bottom: 15%;
	overflow: hidden;
}
.impa2{
	padding-right: 8%;
	margin-top: 15%;
	margin-bottom: 15%;
	overflow: hidden;
}
.tote{
	text-align: left;
	padding: 0 5% 10%;
	margin-top: -4%;
}
.topcati {
    height: 54vh;
	margin-top: 12%;
}
.topcati h1 {
    font-size: 20px;
}
.wak2 .md2::after{
    border-bottom: 1px solid #ffffff;
}
.wak2,.wak3{
	padding: 12% 6% 6%;
}
.in3{
	padding: 8% 6% 10%;
}
.toppoi{
	padding-top: 4%;
	padding-bottom: 4%;
}
.wak1{
	border: #381914 3px solid;
	padding-top: 12%;
}
.flogo{
	width: 28%;
	margin: 30px auto 30px;
}
.man{
	padding: 80% 5% 10%;
}
.man2{
	padding: 8% 5% 8%;
}
.tocalo {
    width: 44%;
}
.md8 {
    font-size: 15px;
    padding: 10px 0 10px 0;
}
.md5 span {
	margin-top: -16%;
	margin-bottom: -4%;
}
.aicon img{
	width: 24%;
}
}
.impa{
	overflow: hidden;
}
