@charset "utf-8";

/* <RESET> */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, textarea, p, blockquote, th, td, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, i, a, span {
  margin: 0;
  padding: 0;
  word-break: normal;
  font-style: normal;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  word-wrap:break-word;
  overflow-wrap : break-word;
}
html {
  font-size: 62.5%;
}
body, input, select, option, textarea, button, pre {
  font-size: 1.6rem;
  line-height: 2;
	letter-spacing: 0.1em;
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  box-sizing: border-box;
}
@keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
pre {
  border: none;
  overflow: visible;
  white-space: normal;
}
html, body {
  height: 100%;
}
body {
  overflow-x: hidden;
  text-align: center;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
  line-height: 1.3;
}
img {
  border: 0;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}
iframe{
  max-width: 100%;
  max-height:120vw;
  border:none;
}
ul, ol {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}
input {
  max-width: 100%;
}
textarea {
  font-size: 100%;
}
th {
  text-align: left;
  font-weight: normal;
  vertical-align: top;
}
td{
  vertical-align: top;
}
address, em {
  font-style: normal;
  font-weight: normal;
}
sup {
  font-weight: normal;
}
a,button {
  filter: alpha(opacity=1);
  opacity: 1;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  transition: .5s;
  text-decoration: none;
  color: #000;
	outline:none;
}
a:hover {
  text-decoration: none;
}
a:hover img,button:hover {
  filter: alpha(opacity=0.6);
  opacity: 0.6;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  transition: .5s;
}
/* </ RESET> */

/* <MODULE> */
.sp, span.sp {
  display: none;
}
.pc {
  display: inherit;
}
span.pc {
  display: inline;
}
.cf:after {
  clear: both;
  content: "";
  display: table;
}
.right {
  text-align: right !important;
}
.center {
  text-align: center !important;
}
.ul{
	text-decoration:underline;
}
.kome{
  text-indent: -1em;
  padding-left: 1em;
}
.box {
  max-width: 1100px;
  margin: 0 auto;
  text-align: left;
  position: relative;
}
.box p{
  margin-bottom: 1em;
}
.box+.box{
  margin-top: 140px;
}
.box.mainV+.box,
.box-l+.box-l {
  margin-top: 0;
}
.box-s {
  max-width: 800px;
}
.box-l {
  max-width: 1400px;
}
.box-border,.box-border2{
  background:url("../img/common/bg4.png") repeat;
	border-radius: 10px;
	padding: 8px;
}
.box-border .inner,.box-border2 .inner{
  padding: 10px;
	background:url("../img/common/bg1.png") repeat;
}
.box-border .inner .content,.box-border2 .inner .content{
  background: rgba(255,255,255,0.5);
  padding: 50px 40px;
	position: relative;
	text-align: center;
}
.box-border2 .inner .content{
  background: inherit;
  padding: 10px 20px;
	letter-spacing: .15em;
}
.box-border2 .inner .content:after{
  content:"";
	display: inline-block;
	background:url("../img/matsushima/icon1.png") no-repeat left top / contain;
	width: 114px;
	height: 210px;
	position: absolute;
	right: calc(50% - 380px);
	bottom: -10px;
}
.box-border h2{
  font-size: 3.5rem;
	text-align: center;
	margin-bottom: 40px;
	display: inline-block;
	position: relative;
	letter-spacing: 0.15em;
}
.box-border h2:before{
  background: url("../img/common/seagull1.png") no-repeat 0 0 / contain;
	content:"";
	display: inline-block;
	width: 94px;
	height: 61px;	
	position: absolute;
	top: -20px;
	left: -130px;
}
.box-border2 h2{
  font-size: 3.5rem;
}
.box-border2 p{
  font-size: 2.1rem;
	margin-bottom: 0;
}

.box-wh{
  background: #fff;
	text-align: center;
	border-radius: 10px;
	padding: 70px 20px 50px;
}
.box-wh h3{
  display: inline-block;
	margin-bottom: 40px;
}
.box-wh h3 span{
	background: linear-gradient(transparent 80%, #cbdbeb 60%);
	font-size: 2.5rem;
	letter-spacing: 0.15em;
}
.box-wh p{
  font-size: 2rem;
	letter-spacing: 0.15em;
}
.box-blfr{
  background: #fff;
	border-width: 3px 8px 8px 3px;
	border-style: solid;
	border-color: #0d0058;
	margin-bottom: 30px;
	border-radius: 10px;
	width: 100%;
	padding: 0 0 45px;
	text-align: center;
	position: relative;
	background-position: center bottom;
	background-repeat: no-repeat;
}
.box-blfr h3{
  background:url("../img/common/bg6.png") repeat;
	padding: 20px 0;
	border-radius: 8px 4px 0 0;
	font-size: 2.2rem;
	font-weight: bold;
	color: #fff;
}
.box-blfr img{
  position: absolute;
}
.box-blfr p.btn1 a{
  background: #fff;
	margin-bottom: 15px;
	position: relative;
	z-index: 3;
}
.flexbox{
  display: flex;
	justify-content: space-between;
}
.flexbox-pai1 .photo{/*left*/
  width: 50%;/*550px*/
}
.flexbox-pai1 .info{/*right*/
  flex:1;
	padding-left: 50px;
	/*margin-top: -10px;*/
}
.flexbox-pai1 .info .ttl1{
  text-align:left;
  font-size: 3.2rem;
  margin-bottom: 30px;
}
.col2 li{
  width: 46.9%;/* max:516px */
}
.bdud{
  position: relative;
	border-radius: 10px;
}
.bdud:before,.bdud:after{
	content:"";
	width: 100%;
	height: 10px;
	background: url("../img/common/bg4.png") repeat;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 10px 10px 0 0;
}
.bdud:after{
  bottom: 0;
	top: auto;
	border-radius: 0 0 10px 10px;
}
i[class^="num"]{
  background:url("../img/common/num-bg.png") no-repeat left top;
	line-height: 75px;
	width: 75px;
	font-size: 4rem;
	display: inline-block;
	color: #fff;
  font-family: 'Secular One', sans-serif;
	text-align: center;
}
.bgwh{
  background: #fff;
}
.shadow1{
	filter: drop-shadow(10px 10px 10px rgba(113,65,13,0.3));
}
ol.list-p {
  margin-left: 30px;
  list-style: decimal-leading-zero outside;
	line-height: 1.5;
}
ul.list-p {
  margin-left: 20px;
  list-style: disc outside;
	line-height: 1.5;
}
.list-p li{
  margin: 3px 0;
}
.box .table1{
  width: 100%;
}
.box .table1 th{
  border-top: solid 2px #0d0058;
	border-right: solid 2px #0d0058;
	width: 25%;
	padding: 20px 0;
	text-align: center;
}
.box .table1 td{
  border-top: solid 2px #0d0058;
	padding: 20px;
	text-align: left;
}
.box .table1 tr:last-child th,
.box .table1 tr:last-child td{
  border-bottom: solid 2px #0d0058;
}
.box .table2 th{
  padding-right: 42px;
	padding-bottom: 12px;
	white-space: nowrap;
	text-align: right;
}
.box .table2 td{
  padding-bottom: 12px;
	text-align: left;
}
.box table+.btn1{
  text-align: center;
	margin-top: 70px;
}
.ttl1{
  font-size: 3.5rem;
	color: #0d0058;
	letter-spacing: 0.15em;
	text-align: center;
	margin-bottom: 45px;
}
.ttl1 small{
  display: block;
	margin: 20px auto 0;
	font-size: 2rem;
}
.ttl1 .en{
  font-size: 3.6rem;
	letter-spacing: 0.2em;
}
.ttl1 p{
  font-size: 1.4rem;
}
.ttl-fd:before,
.ttl-fd:after{
  content:"";
	display: inline-block;
	width: 2px;
	height: 46px;
	transform:rotate(45deg);
	background: #0d0058;
	vertical-align:top;
	margin: 2px 18px 0;
}
.ttl-fd:before{
	transform:rotate(-45deg);
}
.txt1{
  /*font-size: 3rem;*/
	font-size: 2rem;
	line-height: 2;
	letter-spacing: 0.15em;
	color: #0d0058;
	/*padding: 30px 0;*/
	padding: 48px 0;
	text-align: center;
}
.txt2{
  font-size: 3rem;
	letter-spacing: 0.15em;
	color: #0d0058;
	padding: 30px 0;
	text-align: center;
}
.red{
  color: red;
}
.en{
  font-family: 'Secular One', sans-serif;
	letter-spacing: 0.15em;
}
.btn1 a,.btn2 a,.btn3 a,.btn3 button{
  line-height: 54px;
	border-radius: 29px;
	padding: 0 25px;
	font-size: 1.8rem;
	color: #0d0058;
	border:solid 2px #0d0058;
	display: inline-block;
	font-weight: bold;
	cursor:pointer;
}
.btn2 a{
	color: #fff;
	background: #0d0058;
}
.btn2 a+a,
.btn3 a+a{
  margin-left: 20px;
}
.btn3 a,.btn3 button{
	color: #fff;
	background: #944a25;
	border-color: #944a25;
}
.btn1 a:after,.btn2 a:after,.btn3 a:after{
  content:url("../img/common/arrow.png");
	margin-left: 15px;
}
.btn2 a:after,.btn3 a:after{
  content:url("../img/common/arrow2.png");
}
.btn4 a{
  background:url("../img/common/arrow3.png") no-repeat left top;
	line-height: 70px;
	padding: 0 0 0 86px;
	font-size: 1.8rem;
	color: #0d0058;
	display: inline-block;
	font-weight: bold;
}
.link1 a{
  display: inline-block;
	border-bottom: solid 2px #0d0058;
	text-align: center;
	padding-bottom: 8px;
	font-weight: bold;
	color: #0d0058;
}
.link1 a:after{
  content: url("../img/common/arrow.png");
  margin-left: 15px;
}
.bdrs{
  border-radius: 6px;
}
/* </ MODULE> */

/* <TEMPLATE> */
#offcanvas-layer, #offcanvas-menu, #offcanvas-button {
  display: none;
}
#wrapper {
  text-align: center;
  position: relative;
	background:url("../img/common/bg1.png") repeat;
	min-width:1140px;
}
#header{
  padding: 20px 40px 0;
	color: #0d0058;
	background: #fff;
	min-height:134px;
}
#header .logo{
  padding: 20px 0;
}
#header .content{
  flex:1;
}
#header .info{
  text-align: right;
	justify-content: flex-end;
}
#header .tel{
  font-size: 1.2rem;
	line-height: 36px;
	margin-bottom: 20px;
}
#header .tel b{
  font-size: 2.7rem;
	font-weight: bold;
	vertical-align: top;
	margin-left: 16px;
}
#header .gnav{
  width: 750px;
	line-height: 1.2;
	margin: 0 0 0 auto;
}
#header .gnav li{
  position:relative;
}
#header .gnav .subnav {
    display: none;
    width: 11em;
    position: absolute;
    left: calc(50% - 5.5em);
    top: 58px;
    z-index: 990;
}
#header .gnav .subnav ul li {
    width: 100%;
    line-height: 36px;
}
#header .gnav .subnav ul li a {
    display: block;
    width: 100%;
    height: 100%;
    font-size:1.1rem;
    color:#0d0058;
    text-align: center;
    background-color: rgba(255,255,255,0.9);
    border-bottom: 1px dotted #000;
}
#header .gnav .subnav ul li:last-child a {
    border-bottom: none;
}
#header #gnav>li>a{
  font-size: 1.5rem;
  font-weight: bold;
  color: #0d0058;
  display: block;
  height: 57px;
}
#header #gnav>li>a small{
  font-size: 1rem;
	font-weight: normal;
	color: #aeb6cd;
}
#footer{
  position: relative;
	background: #0d0058;
	color: #fff;
	padding: 0 20px 70px;
	font-size: 1.3rem;
	letter-spacing: 0;
	z-index:2;
}
#footer a{
  color: #fff;
  font-weight:bold;
  white-space:nowrap;
}
#footer .box+.box{
  margin-top: 0;
}
#footer:before{
  background:url("../img/common/footer-bg.png") no-repeat center top / 100% 82px;
	width: 100%;
	height: 82px;
	position: absolute;
	top: -82px;
	left: 0;
	content:"";
}
#footer #pagetop{
  text-align: right;
}
#footer .logo{
  margin-bottom: 45px;
}
#footer .info{
  width: 320px;
}
#footer .copy{
  font-size:1.2rem;
}
#footer .info h3{
  font-size: 1.5rem;
	margin-bottom: 0.5em;
}
#footer .info ul{
  justify-content: flex-start;
	margin: 12px 0;
}
#footer .info ul li{
  margin-right: 10px;
}
#footer nav{
	margin-left: 40px;
}
#footer nav h4{
	border-bottom: solid 1px #fff;
	padding: 0 0 10px;
	margin: 0 0 10px;
}
#footer nav h4+ul{
  margin-top:-4px;
}
#footer nav:last-child{
  flex:none;
	width: 6em;
}
.lang select{
  border:solid 2px #0d0058;
  line-height: 36px;
  border-radius: 18px;
  margin-left: 36px;
  background:#fff;
  color: #0d0058;
  font-weight: bold;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width:190px;
  padding:0 15px;
}
[id^="floating"]{
  position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 9999999;
}
[id^="floating"] img{
  width:256px;
}
#main{
	background-repeat: repeat,no-repeat;
	background-position: center top,center top;
	background-size:2px,cover;
	text-align: center;
	height: 300px;
}
#main.main-company{ background-image:url("../img/common/bg5.png"),url("../img/company/main-bg.jpg"); }
#main.main-vision{ background-image:url("../img/common/bg5.png"),url("../img/vision/main-bg.jpg"); }
#main.main-outline{ background-image:url("../img/common/bg5.png"),url("../img/outline/main-bg.jpg"); }
#main.main-safety{ background-image:url("../img/common/bg5.png"),url("../img/safety/main-bg.jpg"); }
#main.main-member{ background-image:url("../img/common/bg5.png"),url("../img/member/main-bg.jpg"); }
#main.main-shop{ background-image:url("../img/common/bg5.png"),url("../img/shop/main-bg.jpg"); }
#main.main-shobian-cafe{ background-image:url("../img/common/bg5.png"),url("../img/shobian-cafe/main-bg.jpg"); }
#main.main-activity{ background-image:url("../img/common/bg5.png"),url("../img/activity/main-bg.jpg"); }
#main.main-matsushima{ background-image:url("../img/common/bg5.png"),url("../img/matsushima/main-bg.jpg"); }
#main.main-products{ background-image:url("../img/common/bg5.png"),url("../img/products/main-bg.jpg"); }
#main.main-recruit{ background-image:url("../img/common/bg5.png"),url("../img/recruit/main-bg.jpg"); }
#main.main-information{ background-image:url("../img/common/bg5.png"),url("../img/information/main-bg.jpg"); }
#main.main-inquiry{ background-image:url("../img/common/bg5.png"),url("../img/inquiry/main-bg.jpg"); }
#main h1{
	font-family: 'Noto Serif JP', sans-serif;
	color: #fff;
	text-shadow:0 0 3px rgba(0,0,0,1);
	font-size: 4rem;
	line-height: 40px;
	padding-top: 130px;
	letter-spacing: 0.15em;
}
#main.main-matsushima h1{
  padding-top: 100px;
}
#main.main-matsushima h1 small{
  display: block;
	margin: 0 auto 16px;
}
#container{
	padding: 100px 20px 180px;
	color: #0d0058;
}
#member #container {
    background: url("../img/member/bg1.png") no-repeat center bottom / 100% 50%;
}
.mainV{
  font-size: 2rem;
	line-height: 2;
	text-align: center;
	margin-top: -40px;
	margin-bottom: 60px;
	max-width: 800px;
}
ul.banbox{
  margin: 0 25px;
}
ul.banbox li{
  width: 478px;
}
ul.banbox li a{
	font-size: 3rem;
	color: #fff;
	text-align: center;
	background-repeat: no-repeat;
	background-position: 0 0;
	line-height: 1.3;
  width: 478px;
	height: 142px;
	display: table-cell;
	vertical-align: middle;
	text-shadow:0 0 10px rgba(148,135,116,1),0 0 10px rgba(148,135,116,1),0 0 10px rgba(148,135,116,1);
}
.tailnav{
  margin-top: 100px;
}
.tailnav ul{
  justify-content: center;
	align-items: center;
}
.tailnav ul li{
	margin: 0 15px;
}
.tailnav ul li a{
	display: table-cell;
	vertical-align: middle;
  height: 80px;
  line-height: 1.2;
	border-radius: 10px;
	position: relative;
	padding-right: 55px;
}
.tailnav ul.btn1 li a:after{
  position: absolute;
	right: 20px;
	top: calc(50% - 10px);
}
/* </ TEMPLATE> */

/* <PAGES> */

/* toppage */
#top-main{
  display: table;
  width: 100%;
	height: 710px;
	color: #fff;
	position: relative;
}
#top-main .cover{
  display: table-cell;
  vertical-align: middle;
}
#top-main .cover:before,#top-main .cover:after{
    display: block;
    content:"";
	background:url("../img/top/main-cover.png") repeat;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index: 2;
}
#top-main .cover:before{
	background:url("../img/top/main-cover2.png") no-repeat center top / cover;
	z-index: 3;
}
#top-main h1,#top-main .en,#top-main p{
  position:relative;
  z-index:4;
}
#top-main h1{
  font-size: 4rem;
	font-family: 'Noto Serif JP', serif;
	margin: 0.5em 0;
}
#top-main .en{
  font-size: 2.6rem;
}
#top-main p{
  font-size: 2.2rem;
}
#top-main #top-slider{
  position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}
#top-main #top-slider li.slick-slide img{
  width: 100vw;
	height: 710px;
	background-position: center top;
	background-repeat:no-repeat;
	background-size: cover;
	outline:none;
}
#top-main #top-slider li.slick-slide img.bg1{ background-image: url("../img/top/main-bg1.jpg"); }
#top-main #top-slider li.slick-slide img.bg2{ background-image: url("../img/top/main-bg2.jpg"); }
#top-main #top-slider li.slick-slide img.bg3{ background-image: url("../img/top/main-bg3.jpg"); }
#top1{
	padding: 60px 20px 0;
	position: relative;
}
#top1:after{
  background: url("../img/common/seagull2.png") no-repeat 0 0 / contain;
	content:"";
	display: inline-block;
	width: 156px;
	height: 70px;
	position: absolute;
	bottom: -55px;
	left: calc(50% + 340px);
	z-index: 2;
}
#top1 .box .list{
  width: 900px;
	line-height: 54px;
}
#top1 .box .list dt{
  float: left;
  width: 150px;
  margin-bottom: 25px;
	border-radius: 27px 0 0 27px;
	background: #cbdbeb;
	color: #0d0058;
	text-align: center;
}
#top1 .box .list dd{
  float: left;
  width: 750px;
  margin-bottom: 25px;
	border-radius: 0 27px 27px 0;
	background: #fff;
	padding: 0 0 0 20px;
}
#top1 .box .list dd a{
  color: #0d0058;
}
#top1 .box .nav{
  width: 170px;
}
#top1 .box .nav a{
  display: block;
	color: #fff;
	height: 212px;
	text-align: center;
	font-size: 1.7rem;
	padding-top: 58px;
	border-radius: 10px;
	background:url("../img/top/top1-nav-bg.png") no-repeat center top / 100% 100%;
}
#top1 .box .nav a:after{
  content:url("../img/common/arrow2.png");
	display: block;
}
#top1 .btn{
  margin-top:10px;
}
#top1 .ban{
  margin-top:40px;
}
#top2{
  background:url("../img/top/top2-bg.png") no-repeat center top / 100% 100%;
	padding: 200px 20px 150px;
	position: relative;
}
#top2:before{
  background: url("../img/common/seagull1.png") no-repeat 0 0 / contain;
	content:"";
	display: inline-block;
	width: 94px;
	height: 61px;
	position: absolute;
	top:110px;
	left:calc(50% - 530px);
	z-index: 2;
}
#top2 .box{
  flex-direction: row-reverse;
}
#top2 .box .photo{
  width: 450px;
	padding-left: 40px;
}
#top2 .box .info{
  flex:1;
}
#top2 h2{
  font-size: 2.8rem;
	font-weight: bold;
	color: #613816;
	margin: -0.2em 0 1em;
}
#top2 .btn4{
  margin-top: 28px;
}
#top3{
  padding: 36px 20px 140px;
}
#top3 h2{
  background:url("../img/top/top3-ttl.png") no-repeat center top;
	height:281px;
	text-indent: -9999px;
	margin: 0 0 72px;
}
#top3 ul{
  flex-wrap: wrap;
}
#top3 ul li:nth-child(1){
  width: 650px;
	height: 450px;
	margin-right: 30px;
	margin-bottom: 30px;
	background-image:url("../img/top/top3-bg1.jpg");
}
#top3 ul li:nth-child(2){
  width: 420px;
	height: 450px;
	margin-bottom: 30px;
	background-image:url("../img/top/top3-bg2.jpg");
}
#top3 ul li:nth-child(3){
  width: 535px;
	height: 420px;
	background-image:url("../img/top/top3-bg3.jpg");
}
#top3 ul li:nth-child(4){
  width: 535px;
	height: 420px;
	background-image:url("../img/top/top3-bg4.jpg");
}
#top3 ul li:nth-child(1) img{
  bottom:0;
	left: 50px;
}
#top3 ul li:nth-child(2) img{
  bottom:45px;
	right: 30px;
}
#top3 ul li:nth-child(3) img{
  bottom:85px;
	right: 40px;
}
#top3 ul li:nth-child(4) img{
  bottom:70px;
	right: 0;
}
#top3 ul li:nth-child(1) p.btn1{
  padding: 200px 0 0 360px;
	position: relative;
}
#top3 ul li:nth-child(1) p.btn1:before{
  content:"";
	background:url("../img/top/top3-fkds1.png");
	width: 155px;
	height: 51px;
	position: absolute;
	z-index: 2;
	top: 150px;
	left: 305px;
}
#top3 ul li:nth-child(2) p.btn1{
  padding: 270px 0 0;
	text-align: center;
}
#top3 ul li:nth-child(3) p.btn1,
#top3 ul li:nth-child(4) p.btn1{
  padding: 210px 0 0;
	text-align: center;
}
#top4{
  background:url("../img/top/top4-bg.png") no-repeat center top / 100% 100%;
	padding: 180px 20px 150px;
}
#top4 .box{
  flex-direction: row-reverse;
}
#top4>.box .ttl{
  width: 246px;
}
#top4>.box .info{
  width: 950px;
	margin-left: -150px;
	text-align: right;
}
#top4>.box .info ul{
  margin-bottom: 40px;
}
#top5{
	padding: 120px 20px 200px;
}
#top5 .otoriyose{
	margin-bottom: 110px;
}
#top5 .otoriyose .content{
  align-items: center;
	padding: 30px 40px;
}
#top5 .otoriyose .content:before{
  background:url("../img/top/top5-otoriyose-stump.png") no-repeat;
	width: 270px;
	height: 133px;
	content:"";
	display: inline-block;
	position: absolute;
	top: -55px;
	left: -40px;
	z-index: 2;
}
#top5 .otoriyose .photo{
	padding: 26px 40px 32px 30px;
}
#top5 .otoriyose .info{
  flex:1;
	padding-left: 50px;
	margin-left: 10px;
	border-left: solid 2px #000;
	text-align: left;
}
#top5 .otoriyose .info .ttl{
  color: #944a25;
	font-size: 2.8rem;
	font-weight: bold;
	margin-bottom: 15px;
}
#top5 .otoriyose .info .btn3{
  margin-top: 28px;
	text-align: center;
}
#top5 .bottom{
  text-align: center;
}
#top5 .tw{
  text-align: center;
	width: 510px;
}
#top5 .tw h2{
  font-size: 2.5rem;
	font-weight: bold;
	color: #0d0058;
	line-height: 48px;
	margin-bottom: 22px;
}
#top5 .tw .info{
  border: solid 3px #0d0058;
	border-radius: 10px;
	height: 510px;
	overflow: hidden;
}
#top5 .recruit{
  width: 510px;
	height: 510px;
	padding-top: 40px;
	background:url("../img/top/top5-recruit-bg.png") no-repeat left top;
	color: #fff;
	margin-top: 70px;
}
#top5 .recruit h2{
  font-size: 2.5rem;
	font-weight: bold;
	color: #fff;
	margin-bottom: 10px;
}
#top5 .recruit .btn1 a{
  margin-top: 22px;
	background: #fff;
}
/* toppage */

/* shop */
.detail1 .main{
  margin: 50px 0;
}
.detail1 .photo{
  width: 50%;
}
.detail1 .info{
  width: 45%;
	font-size: 2rem;
	letter-spacing: 0.15em;
}
.detail1 .info h2{
  font-size: 2.5rem;
	line-height: 1.65;
	background:url("../img/common/line1.png") no-repeat 4px bottom;
	padding-bottom: 28px;
	margin-bottom: 50px;
}
.taiken{
  margin: 20px -20px 0;
  padding: 180px 20px 150px;
  background:url("../img/shop-detail/taiken-bg.png") no-repeat center top / 100% 100%;
	position: relative;
}
#shop .taiken,
#shop-test .taiken{
  margin-bottom: -240px;
  padding-bottom: 210px;
}
.taiken:before{
  background: url("../img/common/seagull1.png") no-repeat 0 0 / contain;
	content:"";
	display: inline-block;
	width: 94px;
	height: 61px;
	position: absolute;
	top:145px;
	left:calc(50% - 570px);
	z-index: 2;
}
.taiken:after{
  background: url("../img/common/seagull2.png") no-repeat 0 0 / contain;
	content:"";
	display: inline-block;
	width: 156px;
	height: 70px;
	position: absolute;
	top:-13px;
	left: calc(50% + 370px);
	z-index: 2;
}
.taiken .flexbox{
  flex-direction: row-reverse;
}
.taiken .btn4{
  margin-top: 20px;
	text-align: right;
}
.access .map,
.reccomend .photo{
  width: 450px;
}
.access .info,
.reccomend .info{
  flex:1;
	padding-left: 50px;
}
.floormap{
  margin-bottom:120px;
}
.floormap img{
  border:solid 2px #fff;
}
.box+.box.parking{
  border-top: solid 3px #0d0058;
  border-bottom: solid 3px #0d0058;
	position: relative;
	padding: 0 30px;
	margin-top: 60px;
	margin-bottom: 100px;
}
.parking:before,.parking:after{
  content:"";
	display: inline-block;
	width: 3px;
	height: calc(100% - 26px);
	background: #0d0058;
	position: absolute;
	left: 0;
	top:13px;
}
.parking:after{
  left:auto;
	right: 0;
}
.parking h3{
	text-align: center;
	margin-bottom: 24px;
	margin-top: -2.6rem;
}
.parking h3 span{
  font-size: 3.2rem;
	font-weight: bold;
	background:url("../img/common/bg1.png");
	padding: 0 16px;
}
.parking ul{
  flex-wrap: wrap;
	justify-content: flex-start;
	margin-bottom: 30px;
}
.parking ul li{
  width: 32%;
	margin-bottom: 5px;
	font-size: 1.3rem;
	padding-right:20px;
}
.parking .btn{
  text-align: center;
  font-size:1px;
}
.reccomend{
  background:url("../img/shop-detail/bg1.png") no-repeat center top / 100% 100%;
	padding: 105px 0 120px;
	margin: 0 -20px;
}
.reccomend .info h2{
  font-size: 3rem;
	letter-spacing: 0.15em;
	display: inline-block;
	background: linear-gradient(transparent 80%, #fff 60%);
	position: relative;
}
.reccomend .info h2:before{
  content:"";
	background:url("../img/shop-detail/recc-fkds.png") no-repeat left top / contain;
	width: 394px;
	height: 80px;
	position: absolute;
	top: -92px;
	left: 165px;
	z-index: 2;
}
.reccomend .info h2+p{
  font-size: 2rem;
	margin-top: 32px;
}
.shopinfo{
  font-size: 1.5rem;
	line-height: 1.33;
	overflow: hidden;
}
.shopinfo dt{
  background: #fff;
	border-radius: 4px;
	white-space: nowrap;
	text-align: center;
	margin-bottom: 8px;
	float: left;
	width: 120px;
}
.shopinfo dd{
	margin-bottom: 8px;
	margin-left: 140px;
}
.moredetail .box-blfr{
  background-image:url("../img/shop-detail/moredetail-bg.jpg");
	background-size: cover;
	overflow: hidden;
	padding: 0;
}
.moredetail .box-blfr img {
    top: 85px;
    left: 52%;
}
.moredetail .box-blfr p.btn1{
  padding: 80px 15px 0 0;
	margin: 0;
	text-align: right;
}
.box.txt2.bdud#sendai,
.box.txt2.bdud#others{
  margin-top: 140px;
}
.shop1 ul{
  justify-content: space-between;
	margin-bottom: 40px;
}
.shop1 ul li{
  width: 32%;
}
.shop1 ul li a{
  width: 100%;
	text-align: center;
}
.shop2{
  margin-top: 70px;
}
.shop2#shop-shobian-cafe{
  background:url("../img/shop-detail/bg1.png") no-repeat center top / 100% 100%;
  padding: 45px 0 60px;
  margin: 60px -20px 0;
}
.shop2 h3.box.ttl2{
  font-size: 3rem;
	margin-bottom: 50px;
}
.shop2 h3.box.ttl2+.box{
  margin-top: 0;
}
.shop2 .catch{
  font-size: 2rem;
}
.shop2 .flexbox{
  align-items: flex-start;
}
.shop2 .photo{
  margin-bottom:40px;
}
.shop2 .photo,
#single .main{
  position: relative;
}
#shop-tagajo .flexbox-pai1 .photo:after,
#shop-monzen .flexbox-pai1 .photo:after,
#shop-souhonten .flexbox-pai1 .photo:after,
#shop-tagajo .main:after,
#shop-monzen .main:after,
#shop-souhonten .main:after{
  position: absolute;
	background:url("../img/shop/icon1.png") no-repeat left top / contain;
	width: 203px;
	height: 191px;
	display: inline-block;
	bottom:-70px;
	right:-45px;
	z-index: 2;
	content:"";
}
#shop-tagajo .main:after,
#shop-monzen .main:after,
#shop-souhonten .main:after{
	bottom:-25px;
	right:-15px;
}
#shop-monzen .flexbox-pai1 .photo:after,#shop-monzen .main:after{
   background-image: url("../img/shop/icon2.png");
}
#shop-souhonten .flexbox-pai1 .photo:after,#shop-souhonten .main:after{
   background-image: url("../img/shop/icon3.png");
}
.shop2 .btn2{
  margin-top: 40px;
}

/* shop */

/* pages */
.company1{
	background:url("../img/company/bg1.png") no-repeat 0% 70% / 100% 70%;
  margin: 0 -20px 140px;
	padding: 0 0 60px;
	position: relative;
}
.company1:before{
		background: url("../img/common/seagull3.png") no-repeat left top / contain;
		content:"";
		display: inline-block;
		width: 101px;
		height: 72px;
    position: absolute;
    top: 15px;
    left: calc(50% - 585px);
    z-index: 2;
}
.company1 .flexbox{
  flex-direction: row-reverse;
}
.company1 .flexbox .photo{
  width: 480px;
}
.company1 .flexbox .info{
  flex:1;
	padding-right: 80px;
}
.company2 .flexbox li{
  width: 32%;
}
.company2 .flexbox li p{
  font-size: 1.8rem;
	letter-spacing: 0.1em;
}
.company3 .box-wh{
  padding: 80px 120px;
}
.company4:before{
  background: url("../img/common/seagull1.png") no-repeat 0 0 / contain;
	content:"";
	display: inline-block;
	width: 94px;
	height: 61px;
  position: absolute;
  top: 75px;
  right: calc(50% - 550px);
  z-index: 2;
}
.vision1{
  margin-top: 48px;
}
.vision1:nth-of-type(2n){
  flex-direction: row-reverse;
}
.vision1 .photo{
  width: 550px;
}
.vision1 .info{
  flex:1;
	padding: 0 35px;
}
.vision1 h3{
  font-size: 2.8rem;
	margin-bottom: 30px;
	letter-spacing: 0.15em;
}
.vision1 p{
  line-height: 2.4;
	letter-spacing: 0.1em;
}
.vision1 dl{
  text-align: center;
	width: 43%;
  font-size: 2rem;
}
.vision1 dl:last-child{
  width: 55%;
}
.vision1 dl dt{
	letter-spacing: 0.15em;
	background: #0d0058;
	color: #fff;
	border-radius: 4px 4px 0 0;
}
.vision1 dl dd{
	background: #fff;
	border-radius: 0 0 4px 4px;
	padding: 10px 0;
}
.vision1 ul.list-p{
  background: #fff;
	border-radius: 4px;
	padding: 8px 8px 8px 30px;
	margin: 0;
}
.vision1 .result{
  margin: 25px 0 10px;
	font-size: 2.1rem;
	letter-spacing: 0.15em;
	line-height: 1.5;
}
.vision1 .result b{
  background: linear-gradient(transparent 80%, #d09930 60%);
}
.vision2{
  margin: 70px -20px 100px;
	background:url("../img/vision/bg1.png") no-repeat center top / 100% 80%;
	position: relative;
}
.vision2:before {
  background: url("../img/common/seagull1.png") no-repeat left top / contain;
	width: 94px;
	height: 61px;
	content:"";
	display: inline-block;
    position: absolute;
    top: 5px;
    right: calc(50% - 530px);
    z-index: 2;
}
.vision2 h3{
  font-size: 2rem;
	text-align: center;
	margin: -5px 0 32px;
}
.vision2 p.sign{
  display: table;
	margin: 0 0 0 auto;
}
.vision2 .photo{
  margin: 40px 0 0;
}
.vision3 h3{
  font-size: 3rem;
	color: #d09930;
	text-align: center;
	margin: 0 0 50px;
}
.vision3 ul.banbox li:nth-child(1) a{ background-image: url("../img/vision/bg2-1.png"); }
.vision3 ul.banbox li:nth-child(2) a{ background-image: url("../img/vision/bg2-2.png"); }
.products1 ul{
  flex-wrap: wrap;
}
.products1 ul li{
  width: 530px;
	margin-top: 80px;
}
.products1 ul li h3{
  background:url("../img/common/bg6.png") repeat;
	display: inline-block;
	width: 320px;
	line-height: 72px;
	color: #fff;
	text-align: center;
	font-size: 3.4rem;
	letter-spacing: 0.15em;
	margin-bottom: 50px;
}
.products1 ul li .photo{
  padding-top: 122px;
}
.products1 ul li h3+.photo{
  padding-top: 0;
}
.products1 ul li h4{
  font-size: 3rem;
	letter-spacing: 0.15em;
	margin: 30px 0 24px;
	text-align: center;
}
.products1 ul li .link1{
  text-align: center;
}
.products1 ul li p{
  min-height:160px;
}
.products1-other{
  margin-top:110px;
  text-align:center;
}
.products1-other h3{
  font-size:3.5rem;
  margin-bottom:16px;
  letter-spacing: 0.15em;
}
.products1-other p,
.products1-other .photo{
  margin-bottom:30px;
}

.products2{
  padding: 162px 20px 220px;
	margin: 90px -20px -180px;
  background:url("../img/products/bg1.png") no-repeat center top / 100% 100%;
}
.products2 ul.banbox li:nth-child(1) a{ background-image: url("../img/products/bg1-1.png"); }
.products2 ul.banbox li:nth-child(2) a{ background-image: url("../img/products/bg1-2.png"); }
.outline1{
  background:url("../img/outline/bg1.png") no-repeat center top / 100% 100%;
  padding: 0 0 80px;
  margin: 100px -20px -100px;
  position: relative;
  z-index:2;
}
.outline1:before{
  background:url("../img/common/seagull1.png") no-repeat left top / contain;
	content:"";
	display: inline-block;
	width: 94px;
	height: 61px;
  position: absolute;
  top: 55px;
  left: calc(50% - 500px);
  z-index: 2;
}
.outline1:after{
  background:url("../img/common/seagull2.png") no-repeat left top / contain;
	content:"";
	display: inline-block;
	width: 156px;
	height: 70px;
  position: absolute;
  top: 25px;
  left: calc(50% + 420px);
  z-index: 2;
}
.outline1 .flexbox{
  align-items: center;
}
.outline1 .photo{
  width: 50%;
	text-align: center;
}
.outline1 .info{
  flex:1;
	font-size: 1.5rem;
}
.outline1 .info h3{
  color: #fff;
	background: #0d0058;
	padding: 6px 14px;
	margin-bottom: 6px;
	display: inline-block;
	border-radius: 4px;
}
.outline1 .info ul{
  padding-left: 14px;
	margin-bottom: 16px;
}
.outline1 .info ul blockquote{
  padding-left: 1.1em;
}
.outline2{
  padding: 90px 0 0;
}
.outline2 .box{
	text-align: center;
}
.outline2 ul.flexbox li,
.outline3 ul.flexbox li{
	margin-top: 32px;
}
.outline2 ul.flexbox li .photo{
  margin-bottom: 48px;
}
.outline3{
  background:url("../img/outline/bg3.png") no-repeat center top / 100% 70%;
	padding: 65px 0 0;
	margin: 115px -20px 0;
}
.outline3 .btn1.center{
  margin-top: 100px;
}
.outline4{
  padding: 0 0 100px;
}
.bg-beige .outline4{
  padding:180px 0 0;
}
.outline4 .photo{
  width: 50%;
}
.outline4 .info{
  flex:1;
	padding-left: 30px;
}
.bg-beige{
  background:url("../img/common/bg2.png") repeat;
  margin-left:-20px;
  margin-right:-20px;
  margin-bottom:178px;
  padding-bottom:20px;
  color: #944a25;
  position:relative;
}
.bg-beige .ttl1{
  color: #944a25;
}
.bg-beige:after{
  background:url("../img/common/beige-bg-btm.png") no-repeat left bottom / 100% 100%;
  content:"";
  display:inline-block;
  width:100%;
  height:88px;
  position:absolute;
  bottom:-88px;
  left:0;
}


.box.safety1{
  margin-top: 0;
}
.safety1 ul{
  flex-wrap: wrap;
	margin-top: -20px;
}
.safety1 ul li{
  width: calc(48% - 48px);
	background: #e8d9c3;
	line-height: 72px;
	border-radius: 10px;
	margin: 54px 0 0 48px;
	text-align: center;
	position: relative;
}
.safety1 ul li a{
	font-size: 2rem;
	font-weight: bold;
	color: #613816;
}

.safety1 ul li i{
  position: absolute;
	top: -36px;
	left: -36px;
}
.safety2 h3{
  font-size: 3.5rem;
	margin-bottom: 36px;
}
.safety2 h3 i{
  margin-right: 20px;
}
div[class*="member"] .photo{
  width: 47%;
}
div[class*="member"] .info{
  font-size: 1.4rem;
}
div[class*="member"] .info h3{
  font-size: 2rem;
  display: inline-block;
	color: #fff;
	background: #0d0058;
	padding: 6px 10px;
	border-radius: 20px;
}
div[class*="member"] .info h4{
margin-top: 16px;
margin-bottom: 12px;
}
div[class*="member"] .info h4 span{
font-size: 1.8rem;
padding: 0 10px 12px;
position: relative;
display: inline-block;
}
div[class*="member"] .info h4 span:before{
  content:"";
	display:inline-block;
	background: #0d0058;
	width: 100%;
	height: 4px;
	border-radius: 2px;
	position: absolute;
	bottom: 0;
	left: 0;
}
div[class*="member"] .box-border{
  margin-top: 30px;
}
div[class*="member"] .box-border .inner .content{
  padding: 40px 30px 10px;
}
div[class*="member"] .box-border h2{
  font-size: 2.8rem;
	text-align: center;
	margin-bottom: 28px;
	display: inline-block;
	position: relative;
	letter-spacing: 0.15em;
}
.member2{
  margin-top:80px;
}
.member2 .box-border .inner {
    background: url("../img/common/bg7.png") repeat;
}
.member2 .flexbox{
  margin-bottom: 70px;
}
.member2 .photo p{
  font-size: 2rem;
}
.member2 .box-border .inner .content ul,
.member2 .box-border .inner .content p{
  text-align: left;
}
.member2 .box-border .inner .content p{
  margin-top: 20px;
}
div[class*="recruit1-"] .flexbox{
	margin: 0;
	padding-bottom: 0;
	border: none;
	background:inherit;
}
div[class*="recruit1-"] .flexbox .photo{
  width: 530px;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	margin-right: 10px;
	border-radius: 12px;
}
div[class*="recruit1-"] .flexbox .photo h3{
  border-radius: 12px 12px 0 0;
}
div[class*="recruit1-"] .flexbox .info{
  flex:1;
}
div[class*="recruit1-"] .flexbox .info dl{
  display:flex;
	justify-content: space-between;
	margin-bottom: 3px;
	line-height: 1.5;
	font-size: 1.4rem;
}
div[class*="recruit1-"] .flexbox .info dl:last-child{
  margin-bottom: 0;
}
div[class*="recruit1-"] .flexbox .info dl dt{
  width: 6em;
	background: #afc6da;
	border-radius: 12px 0 0 12px;
	padding: 8px;
	font-weight: bold;
}
div[class*="recruit1-"] .flexbox .info dl dd{
  flex:1;
	background: #fff;
	border-radius: 0 12px 12px 0;
	padding: 8px;
	text-align: left;
}
div[class*="recruit1-"] .btn1{
  margin-top: 60px;
}
div[class*="process"]{
  align-items: center;
}
.process1{
  margin-bottom: 70px;
}
div[class*="process"] h3{
  width: 150px;
	line-height: 40px;
	border-radius: 4px;
  color: #fff;
	background: #0d0058;
}
div[class*="process"] .flexbox{
  width: 770px;
}
div[class*="process"] .step{
  width: 150px;
  line-height: 54px;
  border-radius: 29px;
  padding: 0 25px;
	border: solid 2px #0d0058;
	position: relative;
}
div[class*="process"] .step.result{
  background: #944a25;
	color: #fff;
	border:none;
}
div[class*="process"] .step:before{
  background: url("../img/common/arrow4.png") no-repeat left top / contain;
	content:"";
	display: inline-block;
	width: 16px;
	height: 27px;
	position: absolute;
	left: -35px;
	top:calc(50% - 20px);
}
div.process2 .step:before{
  background-image: url("../img/common/arrow5.png");
	width: 33px;
	height: 27px;
  left: -90px;
}
div[class*="process"] .flexbox .step:first-child:before{
  content:none;
}
/* pages */

/* inquiry */
.box-border.inquiry1 .inner .content {
		text-align: center;
}
.inquiry1 .btn3{
  width: 90%;
	margin: 0 auto;
}
.inquiry1 .btn3 a{
  display: block;
	width: 48%;
	text-align: center;
}
.wpcf7 form table{
  /*margin-top: 60px;*/
  width:100%;
}
.wpcf7 form>table>tbody>tr>th{
  width: 335px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding-top: 6px;
}
.wpcf7 form>table>tbody>tr>th .nec{
  width: 80px;
	line-height: 32px;
	border-radius: 16px;
	background: #0d0058;
	color: #fff;
	text-align: center;
	margin-right: 32px;
}
.wpcf7 form>table>tbody>tr>th .nec.nec2{
	background: #944a25;
}
.wpcf7 form>table>tbody>tr>td{
  padding-bottom: 24px;
  width:100%;
}
.wpcf7 form>table>tbody>tr>td input[type="text"],
.wpcf7 form>table>tbody>tr>td input[type="date"],
.wpcf7 form>table>tbody>tr>td input[type="email"],
.wpcf7 form>table>tbody>tr>td input[type="tel"],
.wpcf7 form>table>tbody>tr>td input[type="number"],
.wpcf7 form>table>tbody>tr>td select,
.wpcf7 form>table>tbody>tr>td textarea{
  width: 100% !important;
  padding: 6px 14px;
  border: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #f3f3f2;
	border-radius: 4px
}
.wpcf7 form>table>tbody>tr>td p input[type="text"],
.wpcf7 form>table>tbody>tr>td p input[type="date"],
.wpcf7 form>table>tbody>tr>td p select{
  width: 50% !important;
}
.wpcf7 form>table>tbody>tr>td p input[type="number"]{
  width: 20% !important;
}
.wpcf7 form>table>tbody>tr>td.submit{
		border-bottom: none;
		text-align: center;
		padding: 50px 0;
}
.wpcf7 form>table>tbody>tr>td.submit button{
  width: 60%;
}
.wpcf7 form.sent .send_success{
  display:none;
}
.wpcf7-response-output{
  background: #fff;
	text-align: center;
	padding: 1.5em;
  font-size: 2.1rem;
}
.wpcf7 form>table>tbody>tr>td p.optional{
  text-indent:6em;
  margin:-1em 0 0;
}
.wpcf7 form>table>tbody>tr>td .optional2{
  margin-top:-1em;
}
/* inquiry */

/* blog */
#blog-container{
  flex-direction: row-reverse;
}
#blog-main{
  width: 820px;
}
#blog-main .btn1{
  margin-top:80px;
}
.blog-cat li{
  width: 22%;
}
.blog-cat li a,
.blog-list article .cat a{
  display: block;
	line-height: 44px;
	text-align: center;
	color: #0d0058;
	border-radius: 4px;
}
a.products{ background: #d5c2b9;}
a.event{ background: #dad8ba;}
a.shop{ background: #c3d5b9;}
a.recipe{ background: #b9c4d5;}
a.agent{ background: #c9b9d5;}

.blog-list article{
  border-bottom:solid 3px #0d0058;
	margin-bottom: 40px;
}
.blog-list article .cat{
  width: 130px;
  margin-top:-4px;
}
.blog-list article .cat a{
  line-height: 1.33;
  font-size: 1.1rem;
  padding:6px 0;
}
.blog-list article dl{
  font-size: 2rem;
	flex:1;
	padding-left: 32px;
	margin: -2px 0 12px;
	line-height: 1.5;
	position: relative;
}
.blog-list article dl:after{
  font-family: "Font Awesome 5 Free";
  content: '\f105';
  font-weight: 900;
  position: absolute;
  right: 0;
  top: 0;
  font-size: 5rem;
}
.blog-list article dl dt{
  font-size:1.4rem;
}
.blog-list article dl dd{
  padding-right:40px;
}
#blog-sidebar{
  width: 235px;
	background: rgba(255,255,255,0.3);
	color: #0d0058;
	text-align: center;
	padding: 20px 25px;
	border-radius: 4px;
	position: relative;
}
#blog-sidebar:before{
  background: url("../img/common/seagull1.png") no-repeat left top / contain;
	width: 94px;
	height: 61px;
	content:"";
	display: inline-block;
	position: absolute;
	top: -34px;
	left: -44px;
	z-index: 2;
}
#blog-sidebar h3{
  font-size: 2rem;
	margin-bottom: 30px;
}
#blog-sidebar ul+h3{
  margin-top: 30px;
}
#blog-sidebar ul li{
  display: inline;
}
#blog-sidebar ul li a{
  color: #0d0058;
	line-height: 40px;
	border: solid 3px #0d0058;
	border-radius: 26px;
	margin-bottom: 10px;
	display: block;
}
.blog-detail .ttl1{
  text-align: left;
	margin-bottom: 48px;
}
.blog-detail .date{
  margin: -8px 0 8px;
}
.blog-detail h2{
  font-size: 2.5rem;
	color: #fff;
	background: #0d0058;
	text-align: center;
	padding: 12px;
	border-radius: 4px;
	margin-top: 36px;
	margin-bottom: 18px;
}
.blog-detail h3,
.ttl2{
  font-size: 2rem;
	padding: 0 10px 18px;
	border-radius: 4px;
	margin-top: 24px;
	margin-bottom: 12px;
	position: relative;
}
.blog-detail h3:after,
.ttl2:after{
  content:"";
	display:inline-block;
	background: #0d0058;
	width: 100%;
	height: 6px;
	border-radius: 3px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.blog-detail h4{
  font-size: 1.8rem;
	margin-top: 24px;
	margin-bottom: 12px;
	position: relative;
	padding: 0 0 0 36px;
}
.blog-detail h4:before{
	content:"";
  display:inline-block;
	background: #0d0058;
	width: 14px;
	height: 14px;
	position: absolute;
	top: calc(50% - 0.5rem);
	left: 10px;
}
/* blog */

/* shobian cafe */
#shobian-cafe #wrapper{
  background:url("../img/shobian-cafe/bg1.png") repeat;
	color: #837669;
	letter-spacing: 0.15em;
}
#shobian-cafe .box,
#shobian-cafe .box-l{
  text-align: center;
}
#sc-header{
  height: 150px;
  padding: 50px 0 0;
	background: #fff;
}
#sc-header .logo{
  width: 327px;
	margin: 0 77px 0 50px;
}
#sc-header ul{
  justify-content: flex-start;
	padding-top: 10px;
}
#sc-header ul li{
  margin-right: 70px;
}
#sc-header ul li img{
  height: 31px;
}
#sc-header .btn a{
  line-height: 40px;
	color: #fff;
	background: #837669;
	font-weight: bold;
	border-radius: 10px 0 0 10px;
	padding: 0 10px 0 20px;
	margin-top: 5px;
	text-align: center;
	display: inline-block;
}
#sc-main{
  background:url("../img/shobian-cafe/main-bg.jpg") no-repeat center top;
	height: 650px;
	position: relative;
}
#sc-main h1{
  position: absolute;
	top: 120px;
	left:calc(50% - 482px);
}
#sc-about .topic{
  align-items:center;
	margin-top: 120px;
}
#sc-about .topic:nth-child(2n+1){
  flex-direction: row-reverse;
}
#sc-about .topic .photo{
  width: 50%;
	max-width: 700px;
}
#sc-about .topic:nth-child(1) .photo{
  width: 57%;
	max-width: 800px;
}
#sc-about .topic .info{
  flex:1;
}
#sc-about .topic .info>p{
  display: table;
	margin: 0 auto;
	text-align: left;
	font-size: 1.6rem;
	line-height: 2.4;
	margin-top: 24px;
}
#sc-about .topic .info .floor{
  background:url("../img/shobian-cafe/floor-bg.png") no-repeat left top;
	width: 132px;
	line-height: 128px;
	color: #fff;
	margin: 0 auto;
	font-size: 4rem;
	padding: 4px 0 0 20px;
	letter-spacing: 0.2em;
}
#sc-about .topic .info .ttl p{
  margin: 5px 0 20px 10px;
}
#sc-about .topic .info .ttl h2{
  margin-bottom: 40px;
}
#sc-menu{
  margin: 140px 0 0;
	padding: 100px 20px 140px;
	background:url("../img/shobian-cafe/bg2.png") repeat left top;
	box-shadow:0 -16px 10px -10px rgba(128,128,128,0.2),0 16px 10px -10px rgba(128,128,128,0.2);
}
#sc-menu h3{
  margin: 60px 0 50px;
  border-bottom:solid 1px #5e5748;
	line-height: 58px;
	font-size: 3.2rem;
	letter-spacing: 0.3em;
	text-indent: -0.3em;
	color: #5e5748;
	position: relative;
}
#sc-menu h3:before,
#sc-menu h3:after{
  background:url("../img/shobian-cafe/ttl-bg1.png") no-repeat left top;
	width: 36px;
	height: 9px;
	content:"";
	display:inline-block;
	vertical-align: bottom;
	margin: 0 40px -2px;
}
#sc-menu ul{
  flex-wrap: wrap;
}
#sc-menu ul li{
  width: 500px;
	margin-bottom: 70px;
}
#sc-menu ul li .photo{
  margin-bottom: 30px;
	display: inline-block;
	position: relative;
}
#sc-menu ul li .photo:after{
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 
	  inset 0 0 20px #f0f0f0,
	  inset 0 0 20px #f0f0f0,
	  inset 0 0 20px #f0f0f0,
	  inset 0 0 20px #f0f0f0;
}
#sc-menu ul li h4{
  margin: 0 50px;
	padding-bottom: 12px;
	border-bottom: solid 1px #5e5748;
	margin-bottom: 12px;
}
#sc-menu ul li h4 .price{
  margin-left: 1em;
}
#sc-menu ul li p{
  font-size: 1.3rem;
}
.sc-tabelbox1{
  max-width: 960px;
  margin: 50px auto 0;
}
.sc-tabelbox1 .flexbox{
  flex-wrap:wrap;
  flex:1;
}
.sc-tabelbox1 .flexbox p{
  width: 400px;
  letter-spacing: 0.1em;
  display:table;
  text-align:left;
  margin:0;
}
.sc-tabelbox1 .flexbox p .menu{
  width: 100%;
  position: relative;
  padding-bottom: 24px;
  display:table-cell;
}
.sc-tabelbox1 .flexbox p .menu:after{
  position: absolute;
	left: 0;
	top: 1em;
	content:"";
	display:inline-block;
	width:100%;
	height:1px;
	background: #5e5748;
	z-index: 1;
}
.sc-tabelbox1 .flexbox p .menu em{
  position: relative;
  z-index: 2;
  height: 4px;
  padding: 0 1rem 0 0;
  background: #f5f5f5;
}
.sc-tabelbox1 .flexbox p .price{
	white-space: nowrap;
	padding-bottom: 24px;
	padding-left: 1rem;
}
#sc-access{
  padding: 140px 0 0;
}
#sc-access .map{
  margin: 40px 0 50px;
	border-top:solid 1px #837669;
	border-bottom:solid 1px #837669;
}
#sc-access .map iframe{
  width: 100%;
	height:500px;
	vertical-align: top;
}
#sc-access dl.flexbox{
  align-items: center;
}
#sc-access dl dt h3{
  font-size: 3.6rem;
	letter-spacing: 0.2em;
	white-space: nowrap;
	margin-bottom: 10px;
}
#sc-access dl dd{
  flex:1;
	padding-left: 60px;
	text-align: left;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
.sc-info .tel{
  font-weight: bold;
	font-size: 2rem;
}
.sc-info span.reverse{
  background: #837669;
	color: #fff;
	padding: 0 4px;
	margin-right: 4px;
}
#sc-access .parking h3 span {
    background: none;
    padding: 0;
}
#sc-access .box+.box.parking{
  border-color:#837669;
	text-align: left;
	letter-spacing: 0.1em;
}
#sc-access .box+.box.parking h4{
  text-align: center;
	font-weight: bold;
	margin: -16px 0 16px;
}
#sc-access .parking:before,
#sc-access .parking:after{
	background: #837669;
}
#sc-ig h2{
  margin-bottom:40px;
}
#sc-ig .inner{
  position:relative;
}
#sc-ig .inner a{
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
  z-index:2;
}

#sc-footer{
  background:url("../img/shobian-cafe/footer-bg.png") no-repeat center top / 100% 100%;
	padding: 270px 20px 70px;
	letter-spacing: 0;
}
#sc-footer ul{
  max-width: 360px;
	margin: 30px auto 20px;
}
#sc-footer ul li img{
  height: 30px;
}
#sc-footer .btn a{
  border:solid 2px #5e5748;
  color: #5e5748;
	font-size: 1.8rem;
	padding: 0 12px;
	line-height: 40px;
	text-align: center;
	border-radius: 4px;
	display: inline-block;
	letter-spacing: 0.2em;
	margin: 30px auto 40px;
}
#sc-footer .btn a i{
  font-size: 2.4rem;
	vertical-align: top;
	margin: 6px 8px 0 0;
}
/* shobian cafe */

/* matsushima */
.box + .box.matsushima1{
  margin-top: 60px;
}
.matsushima1 ul.flexbox{
  justify-content: center;
}
.matsushima1 li{
  width: 43%;
	margin: 0 30px;
}
.matsushima1 li a{
  background:url("../img/common/bg6.png") repeat;
	border-radius: 10px;
	display: block;
	color: #fff;
	min-height: 140px;
	border: solid 3px #0d0058;
	text-align: center;
	font-size: 23px;
	line-height: 1.33;
}
.matsushima1 li a .index{
  display: block;
	padding: 16px 0 10px;
	margin: 0 auto;
}
.ttl3{
  font-size: 3.3rem;
	padding: 0 0 20px;
	color: #0d0058;
	position: relative;
}
.ttl3:after{
	content:"";
	width: 100%;
	height: 10px;
	background: url("../img/common/bg4.png") repeat;
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 0;
	border-radius: 0 0 10px 10px;
}
.ttl3+.note{
  text-align: right;
}
.box + .box.matsushima2{
  margin-top: 60px;
}
.box + .box.matsushima2 .inner{
	position: relative;
	margin-left: 20px;
	padding: 36px 0 0;
}
.box + .box.matsushima2 .inner:before,
.box + .box.matsushima2 .inner:after{
  content:"松島海岸駅 START";
	background: #93b0ca;
	color: #fff;
	border-radius: 6px;
	padding: 2px 16px;
	position: absolute;
	top: 0;
	left: 0;
}
.box + .box.matsushima2 .inner:after{
  content:"松島海岸駅 GOAL";
	top: auto;
	bottom: 0;
}
.matsushima2 .topic{
  margin-left: 30px;
	border-left: solid 6px #93b0ca;
	padding-left: 50px;
	padding-bottom: 120px;
	position: relative;
}
.matsushima2 .topic:after{
  content:"";
	background:url("../img/common/arrow6.png") no-repeat left top / contain;
	width: 54px;
	height: 38px;
	display: inline-block;
	position: absolute;
	bottom: 41px;
	left: calc(50% - 27px);
}
.matsushima2 .topic:last-child:after{
  content:none;
}
.matsushima2 .topic:nth-child(2n) .flexbox{
  flex-direction: row-reverse;
	align-items: start;
}
.matsushima2 .topic .ttl{
  text-align: center;
	margin-bottom: 36px;
}
.matsushima2 .topic .ttl p{
  font-size: 1.9rem;
	margin-bottom: 0;
}
.matsushima2 .topic .ttl h3{
  font-size: 3rem;
}
.matsushima2 .topic .photo{
  width: 450px;
	position: relative;
}
.matsushima2 .topic .photo.icon1:before{
  content:"";
  background:url("../img/matsushima/icon2.png") no-repeat left top / contain;
	width: 186px;
	height: 110px;
	display: inline-block;
	position: absolute;
	left: -18px;
	top: -36px;
	z-index: 2;
}
.matsushima2 .topic .photo.icon2:before{
  content:"";
  background:url("../img/matsushima/icon3.png") no-repeat left top / contain;
	width: 284px;
	height: 176px;
	display: inline-block;
	position: absolute;
	right: -62px;
	bottom: -52px;
	z-index: 2;
}
.matsushima2 .topic .photo img{
	border-radius: 6px;
	margin-top: 6px;
}
.matsushima2 .topic .info{
  flex:1;
	padding: 0 0 0 50px;
	line-height: 1.7;
}
.matsushima2 .topic:nth-child(2n) .info{
  padding: 0 50px 0 0;
}
.matsushima2 .topic .info .bgwh {
    background: rgba(255,255,255,0.5);
		padding: 20px 28px;
		border-radius: 6px;
}
.matsushima2 .topic .info .bgwh h4{
  font-size: 1.8rem;
	margin-bottom: 12px;
}
.matsushima2 .topic .info .bgwh h4 a{
  color: #0d0058;
	text-decoration: underline;
}
.matsushima2 .topic .info .bgwh p,
.matsushima2 .topic .info .bgwh table{
  font-size: 1.3rem;
  margin: 0;
}
.matsushima2 .topic .info .bgwh table th{
  white-space: nowrap;
}
.matsushima2 .topic .info .bgwh .btn4{
  text-align: right;
}
.matsushima2 .ticket{
	text-align: center;
	margin: 70px 0 0 100px;
}
.matsushima2 h3.ttl1{
  font-size: 2.5rem;
	margin: 70px 0 16px;
}
.matsushima2 .ticket-inner{
  background: rgba(255,255,255,0.5);
	padding: 40px 50px 70px;
	border-radius: 6px;
}
.matsushima2 .ticket .catch{
  font-size: 1.8rem;
	margin: -10px 0 10px;
	position: relative;
}
.matsushima2 .ticket .catch:before,
.matsushima2 .ticket .catch:after{
  content:"";
	display: inline-block;
	width: 2px;
	height: 24px;
	transform:rotate(45deg);
	background: #0d0058;
	vertical-align:top;
	margin: 8px 10px 0;
}
.matsushima2 .ticket .catch:before{
	transform:rotate(-45deg);
}
.matsushima2 .ticket dl{
  align-items: center;
	position: relative;
}
.matsushima2 .ticket-inner dl.label:before{
  position: absolute;
	top: 0.2em;
	left: -3em;
	content:"通常";
}
.matsushima2 .ticket dl dt{
  background: #0d0058;
	color: #fff;
	padding: 0 16px;
	border-radius: 6px;
	margin-right: 10px;
}
.matsushima2 .ticket dl dd .price{
  font-size: 3.2rem;
	color: #944a25;
	font-weight: bold;
	line-height: 1;
}
.matsushima2 .ticket .btn3{
  margin: -30px 0 80px;
}
.matsushima2 .gmap{
  text-align: center;
	margin-bottom: 110px;
}
.matsushima2 .gmap iframe{
  width: 800px;
	height: 420px;
	display: inline-block;
	background: #93b0ca;
}
.box + .box.matsushima3{
  margin-top: 70px;
}
.matsushima3 ul{
  margin: 60px 0 0;
	justify-content: center;
}
.matsushima3 ul li{
  margin: 0 30px;
}
/* matsushima */

/* activity */
.activity1 ul{
  margin-top: 50px;
	margin-bottom: 70px;
}
.activity1 li{
  border:solid 3px #0d0058;
	border-radius: 6px;
	width: 32%;
	padding: 20px 26px 26px;
}
.activity1 .icon{
  text-align: center;
	margin-bottom: 20px;
}
[class*="activity"] .icon span{
  display: block;
	margin: 0 auto;
}
.activity1 li h2{
  border-bottom: solid 3px #0d0058;
	font-size: 2.5rem;
	text-align: center;
	padding-bottom: 10px;
	margin-bottom: 16px;
}
.activity1 li h2 a{
  color: #0d0058;
}
.activity1 li p{
  min-height:110px;
	line-height: 1.5;
}
.activity2 dl.ttl{
  align-items: center;
	padding: 10px 20px 20px;
}
.activity2 dl.ttl dt{
  align-items: center;
}
.activity2 dl.ttl .icon{
  width: 75px;
	text-align: center;
}
.activity2 dl.ttl h2{
  font-size: 3.5rem;
	padding: 30px 0 0 20px;
	position: relative;
}
.activity2#a3 dl.ttl h2:before{
  content:"";
	background:url("../img/activity/fukidashi1.png");
	width: 181px;
	height: 43px;
	position: absolute;
  top: -5px;
  left: 115px;
}
.activity2 dl.ttl dd{
  margin: 10px 0 0;
	padding-left: 30px;
	border-left: solid 3px #0d0058;
}
.activity2 dl.ttl dd li a,
a.ul{
  text-decoration:underline;
  color:#944a25;
  font-weight:bold;
}
.activity2 .outline{
  margin: 30px;
	font-size: 2rem;
	line-height: 1.33;
	align-items:start;
}
.activity2 .outline+.outline{
  margin-bottom: 70px;
}
.activity2 .outline dt{
  width: 6.4rem;
	padding: 0.5rem;
	margin-right: 25px;
	color: #fff;
	background: #0d0058;
	border-radius: 6px;
	text-align: center;
	font-size: 2rem;
}
.activity2 .outline dd{
	padding: 0.5rem;
	flex:1;
}
.activity2 .content{
  position: relative;
	z-index: 2;
}
.activity2 .content:before{
  content:"";
	width: 99vw;
	height: 517px;
	display: inline-block;
  background: url("../img/shop-detail/bg1.png") no-repeat center top / 100% 100%;
	position: absolute;
	left: calc(50% - 49.5vw);
	top: 0;
	z-index: -1;
}
.activity2 .content:after{
    background: url("../img/common/seagull2.png") no-repeat 0 0 / contain;
    content: "";
    display: inline-block;
    width: 156px;
    height: 70px;
    position: absolute;
    bottom: 35px;
    left: calc(50% + 340px);
    z-index: 2;
}
.activity2 .content .ttl1{
  background:url("../img/activity/ttl-bg.png") no-repeat center bottom;
	padding: 0 0 18px;
	position: relative;
}
.activity2 .content .ttl1:after {
    background: url("../img/common/seagull1.png") no-repeat 0 0 / contain;
    content: "";
    display: inline-block;
    width: 94px;
    height: 61px;
    position: absolute;
    bottom: 20px;
    left: calc(50% - 530px);
    z-index: 2;
}
.activity2 .content .flexbox{
  align-items: end;
	position: relative;
}
.activity2 .content dl:nth-of-type(2n){
  flex-direction: row-reverse;
}
.activity2 .content .fd1{
  margin-bottom: 100px;
}
.activity2 .content .fd1:after,
.activity2 .content .fd2:after{
  background:url("../img/activity/arrow2.png") no-repeat left top / contain;
	content:"";
	display: inline-block;
	position: absolute;
	z-index: 2;
	bottom:-75px;
	right: calc(50% - 84px);
	width: 152px;
	height: 108px;
}
.activity2 .content .fd2:after{
  background-image: url("../img/activity/arrow1.png");
	bottom: -108px;
	right: calc(50% + 155px);
}
.activity2 .content .fd2{
  margin-bottom: 130px;
}
.activity2 .content .fd3{
  padding: 60px 0 0;
	margin-bottom: 220px;
	position: relative;
}
.activity2 .content .fd4{
  margin-bottom: 80px;
}
.activity2 .content dt{
  text-align: center;
}
.activity2 .content .flexbox dt{
  width: 496px;
	margin: 0 22px 0 0;
}
.activity2 .content .flexbox:nth-of-type(2n) dt{
	margin: 0 0 0 22px;
}
.activity2 .content dt img{
  border-radius: 6px;
}
.activity2 .content dd{
  flex:1;
}
.activity2 .content dd h3{
  font-size: 2.5rem;
	margin-bottom: 20px;
}
.activity2 .content .fd1 dd h3{
  margin-left: 64px;
}
.activity2 .content .fd3 dd h3{
  position: absolute;
	top: 0;
	left: 0;
}
.activity2 .content dl dd h3 span{
  background: #0d0058;
	color: #fff;
	width: 3.5rem;
	display: inline-block;
	text-align: center;
	border-radius: 50%;
	font-size: 1.8rem;
	line-height: 3.5rem;
	margin-right: 20px;
}
.activity2 .content dd p{
	background-repeat: no-repeat;
	background-position: center center;
	display: table;
	margin-bottom: 0;
}
.activity2 .content .fd1 dd p{
  background-image:url("../img/activity/fukidashi-bg1.png");
	width: 582px;
	height: 242px;
	padding: 0 10% 0 18%;
}
.activity2 .content .fd2 dd p{
  background-image:url("../img/activity/fukidashi-bg2.png");
	width: 556px;
	height: 242px;
	padding: 0 18% 0 10%;
}
.activity2 .content .fd3 dd p{
  background-image:url("../img/activity/fukidashi-bg3.png");
	width: 578px;
	height: 337px;
	padding: 0 8% 0 8%;
  position: absolute;
	right: -95px;
	bottom: -270px;
}
.activity2 .content .fd4 dd p{
  background-image:url("../img/activity/fukidashi-bg4.png");
	width: 582px;
	height: 324px;
	padding: 0 16% 0 16%;
}
.activity2 .content dd p span{
  display: table-cell;
	vertical-align: middle;
	font-size: 2rem;
	line-height: 1.5;
	transform:rotate(3deg);
}
.activity2 .content .fd2 dd p span,
.activity2 .content .fd4 dd p span{
	transform:rotate(-3deg);
}
.activity2 .btn3{
  text-align: center;
}
.activity3{
  align-items: center;
	position: relative;
	z-index: 2;	
	background: url("../img/member/bg1.png") no-repeat center bottom / 100% 100%;
	padding: 100px 20px 180px;
    margin: 0 -20px -180px;
}
.activity3+#activity-form{
  margin-top: 280px;
}
.activity3+#activity-form .ttl1 {
  margin-bottom: 0;
}
.activity3 h3 {
    font-size: 2.8rem;
    margin-bottom: 24px;
}
/* activity */

/*21.09.24*/
.taiken-name .wpcf7-radio,
.taiken-place .wpcf7-radio,
.taiken-name .wpcf7-checkbox,
.taiken-place .wpcf7-checkbox{
  display:flex;
  justify-content: space-between;
  flex-wrap:wrap;
}
.taiken-name .wpcf7-radio:after,
.taiken-place .wpcf7-radio:after,
.taiken-name .wpcf7-checkbox:after,
.taiken-place .wpcf7-checkbox:after{
  content:"";
  display:table;
  width:32%;
}
.taiken-name .wpcf7-radio .wpcf7-list-item,
.taiken-place .wpcf7-radio .wpcf7-list-item,
.taiken-name .wpcf7-checkbox .wpcf7-list-item,
.taiken-place .wpcf7-checkbox .wpcf7-list-item{
  margin: 0;
  width: 32%;
}
.taiken-name .wpcf7-radio .wpcf7-list-item:before,
.taiken-place .wpcf7-radio .wpcf7-list-item:before,
.taiken-name .wpcf7-checkbox .wpcf7-list-item:before,
.taiken-place .wpcf7-checkbox .wpcf7-list-item:before{
  content:"";
  display:block;
  height:160px;
  margin:0 0 5px;
  background: url("/wp/wp-content/themes/mtkm2021/img/inquiry/img1-1.jpg") no-repeat left top / contain;
}
.taiken-name .wpcf7-list-item:nth-of-type(2):before{
  background-image: url("/wp/wp-content/themes/mtkm2021/img/inquiry/img1-2.jpg");
}
.taiken-name .wpcf7-list-item:nth-of-type(3):before{
  background-image: url("/wp/wp-content/themes/mtkm2021/img/inquiry/img1-3.jpg");
}
.taiken-place .wpcf7-list-item:nth-of-type(1):before{
  background-image: url("/wp/wp-content/themes/mtkm2021/img/inquiry/img2-1.jpg");
}
.taiken-place .wpcf7-list-item:nth-of-type(2):before{
  background-image: url("/wp/wp-content/themes/mtkm2021/img/inquiry/img2-2.jpg");
}







/* </ PAGES> */





@media screen and (max-width: 768px) {
html {
  /*font-size: 54.6875%;*/
	font-size: 2.4vw;
  overflow-x: hidden;
}
body {
  position: relative;
  overflow-x: hidden;
	min-height:100%;
	top:0;
}
/* <MODULE> */
.sp {
  display: inherit;
}
span.sp {
  display: inline;
}
.pc, span.pc {
  display: none;
}
.box {
  max-width: 1100px;
  margin: 0 auto;
  text-align: left;
  position: relative;
}
.box p{
  margin-bottom: 1em;
}
.box+.box{
  margin-top: 40px;
}
.box.mainV+.box,
.box-l+.box-l {
  margin-top: 0;
}
.box-s {
  max-width: 800px;
}
.box-l {
  max-width: 1400px;
}
.box-border{
  background:url("../img/common/bg4.png") repeat;
	border-radius: 10px;
	padding: 8px;
}
.box-border .inner{
  padding: 10px;
	background:url("../img/common/bg1.png") repeat;
}
.box-border .inner .content{
  padding: 30px 20px;
}
.box-border h2{
  font-size: 2.6rem;
	margin-bottom: 28px;
}
.box-border h2:before{
	width: 47px;
	height: 31px;
	top: -35px;
	left: -50px;
}
.box-wh{
	padding: 30px 20px 25px;
}
.box-wh h3{
	margin-bottom: 20px;
}
.box-wh p{
  font-size: 1.8rem;
}
.box-blfr{
	margin-bottom: 30px;
	padding: 0 0 20px;
}
.box-blfr h3{
	padding: 16px 0;
	font-size: 1.9rem;
}
.box-blfr img{
  position: static;
	display: block;
}
.flexbox{
  display: inherit;
}
.sp-flexbox{
  display: flex;
}
.flexbox-pai1 .photo{/*left*/
  width: auto;/*550px*/
	text-align: center;
	margin-bottom: 20px;
}
.flexbox-pai1 .info{/*right*/
  flex:1;
	padding: 0;
}
.flexbox-pai1 .info .ttl1 {
    font-size: 2.4rem;
    margin-bottom:20px;
}
.col2 li{
  width: auto;
}
.bdud{
	border-radius: 6px;
}
.bdud:before,.bdud:after{
	height: 6px;
	border-radius: 6px 6px 0 0;
}
.bdud:after{
	border-radius: 0 0 6px 6px;
}
i[class^="num"]{
  background-size: contain;
	line-height: 48px;
	width: 48px;
	font-size: 3rem;
}
.bgwh{
  background: #fff;
}
.shadow1{
	filter: drop-shadow(5px 5px 5px rgba(113,65,13,0.3));
}
ol.list-p {
  margin-left: 30px;
  list-style: decimal-leading-zero outside;
	line-height: 1.5;
}
ul.list-p {
  margin-left: 20px;
  list-style: disc outside;
	line-height: 1.5;
}
.list-p li{
  margin: 3px 0;
}
.box .table1{
  line-height: 1.3;
}
.box .table1 th{
	width: 40%;
	padding: 10px 10px 10px 0;
	text-align: left;
}
.box .table1 td{
	padding: 5px;
}
.box .table2 th{
  padding-right: 10px;
	padding-bottom: 5px;
}
.box .table2 td{
  padding-bottom: 5px;
}
.box table+.btn1{
	margin-top: 35px;
}
.ttl1{
  font-size: 2.5rem;
	margin-bottom: 25px;
}
.ttl1 small{
  display: block;
	margin: 20px auto 0;
	font-size: 2rem;
}
.ttl1 .en{
  font-size: 3.6rem;
	letter-spacing: 0.2em;
}
.ttl1 p{
  font-size: 1.4rem;
}
.ttl-fd:before,
.ttl-fd:after{
  content:none;
}
.txt1{
	font-size: 1.7rem;
	line-height: 1.8;
	letter-spacing: 0.15em;
	color: #0d0058;
	/*padding: 30px 0;*/
	padding: 24px 20px;
	text-align: center;
}
.txt1 br{
  display: none;
}
.txt2{
  font-size: 2.2rem;
	padding: 20px 0;
}
.mc{
  font-family: 'Noto Serif JP', sans-serif !important;
}
.en{
  font-family: 'Secular One', sans-serif;
	letter-spacing: 0.15em;
}
.btn1 a,.btn2 a,.btn3 a,.btn3 button{
	padding: 0;
	width: 100%;
	text-align: center;
}
.btn2 a + a, .btn3 a + a {
  margin: 20px 0 0;
}
.btn1 a:after,.btn2 a:after,.btn3 a:after{
	margin-left: 10px;
}
.btn2 a:after,.btn3 a:after{
  content:url("../img/common/arrow2.png");
}
.btn4 a{
  background:url("../img/common/arrow3.png") no-repeat left top;
	line-height: 70px;
	padding: 0 0 0 86px;
	font-size: 1.8rem;
	display: inline-block;
	font-weight: bold;
}
.link1 a{
  display: inline-block;
	border-bottom: solid 2px #0d0058;
	text-align: center;
	padding-bottom: 8px;
	font-weight: bold;
	color: #0d0058;
}
.link1 a:after{
  content: url("../img/common/arrow.png");
  margin-left: 15px;
}
/* </ MODULE> */

/* <TEMPLATE> */
#offcanvas-menu {
  display: block;
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  z-index: 99;
  padding-top: 15vw;
  overflow-y: auto;
  background: #0d0058;
}
#offcanvas-container {
  display: block;
  position: relative;
  top: 0;
  right: 0;
  width: 100%;
}
#offcanvas-button {
  display: block;
  width: 8vw;
  height:15vw;
  position: fixed;
  top: 0px;
  right: 6vw;
  z-index: 999999999999;
}
#offcanvas-button span, #offcanvas-button span:before, #offcanvas-button span:after {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 1px;
  width: 100%;
  cursor: pointer;
  background: #333;
  display: block;
  content: '';
  -webkit-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}
#offcanvas-button span {
  transform: translate3d(-50%, 0, 0);
  -webkit-transform: translate3d(-50%, 0, 0);
}
#offcanvas-button span:before {
  transform: translate3d(-50%, -2.5vw, 0);
  -webkit-transform: translate3d(-50%, -2.5vw, 0);
}
#offcanvas-button span:after {
  transform: translate3d(-50%, 2vw, 0);
  -webkit-transform: translate3d(-50%, 2vw, 0);
}
#offcanvas-button.close {
  /*background: #fff;*/
}
#offcanvas-button.close:after {
  content: "";
}
#offcanvas-button.close span {
  background-color: transparent;
}
#offcanvas-button.close span:before {
  -ms-transform: translateX(-50%)rotate(45deg);
  transform: translateX(-50%)rotate(45deg);
  -webkit-transform: translateX(-50%)rotate(45deg);
  top:0;
  width: 10vw;
}
#offcanvas-button.close span:after {
  -ms-transform: translateX(-50%)translateY(-3vw)rotate(-45deg);
  transform: translateX(-50%)translateY(-3vw)rotate(-45deg);
  -webkit-transform: translateX(-50%)translateY(-3vw)rotate(-45deg);
  top: 3vw;
  width: 10vw;
}
#offcanvas-menu .gnav{
  padding: 12vw 0 10vw;
}
#offcanvas-menu .gnav li a{
  font-size: 4vw;
  line-height: 11vw;
  padding: 0 10vw;
  display: block;
  position: relative;
  color: #fff;
}
#offcanvas-menu .gnav li a small{
  margin-left: 2vw;
  font-size: 2.4vw;
  color: #aeb6cd;
}
#wrapper{
  overflow-x: hidden;
  right: 0;
  min-width: initial;
  padding-top: 15vw;
}
#header{
  width: 100%;
  position: fixed;
  top:0;
  left: 0;
  z-index: 100001;
  display: block;
	text-align: left;
  color: #fff;
  background: #fff;
  height: 15vw;
	padding: 0;
  margin: 0;
	min-height:1px;
}
#header .logo{
  height:12vw;
  padding: 3vw 0 0 6vw;
}
#header .logo img{
  height: 100%;
	width: auto;
}
#header .content{
  display: none;
}
#footer{
  padding-bottom: 30px;
}
#footer a{
  color: #fff;
}
#footer .box+.box{
  margin-top: 0;
}
#footer:before{
	background-size: 100% 41px;
	height: 41px;
	top: -41px;
}
#footer #pagetop img{
  width: 53px;
}
#footer .logo {
  width: 60%;
	margin: 0 0 15px
}
#footer .info{
  width: auto;
}
#footer nav{
  display: none;
}
.lang select {
    margin-left: 0;
}
[id^="floating"]{
    right: 20px;
    bottom: 20px;
}
[id^="floating"] img{
  width: 91px;
}
#main{
	height: 40vw;
}
#main h1{
	font-size: 2.8rem;
	padding-top: calc(20vw - 20px);
}
#container{
	padding: 50px 20px 90px;
}
.mainV{
  font-size: 1.8rem;
	line-height: 1.8;
	margin: 0 0 40px
}
.mainV p br{
  display: none;
}
ul.banbox{
  margin: 0;
}
ul.banbox li{
	width: 100%;
	display: table;
}
ul.banbox li+li{
	margin-top: 20px;
}
ul.banbox li a{
	font-size: 2.3rem;
  width: 100%;
	height: 110px;
	display: table-cell;
	vertical-align: middle;
	text-shadow:0 0 10px rgba(148,135,116,1),0 0 10px rgba(148,135,116,1),0 0 10px rgba(148,135,116,1);
	border-radius: 16px;
}
.tailnav{
  margin-top: 70px;
}
.tailnav ul{
  display: flex;
  justify-content:space-between;
	flex-wrap: wrap;
}
.tailnav ul li{
	margin: 0 0 15px;
	width: 48%;
	display: table;
}
.tailnav ul li a{
	width: 100%;
  height: 60px;
	padding-right: 30px;
	font-size: 1.4rem;
}
.tailnav ul.btn1 li a:after{
	right: 10px;
	top: calc(50% - 7px);
}
/* </ TEMPLATE> */

/* <PAGES> */

/* toppage */
#top-main{
	height: 120vw;
	overflow:hidden;
}
#top-main .cover:before {
    background-size:contain;
}
#top-main #top-slider{
    overflow: hidden;
}
#top-main h1{
  font-size: 3rem;
}
#top-main .en{
  font-size: 2rem;
}
#top-main p{
  font-size: 1.7rem;
}
#top-main #top-slider li.slick-slide img {
    height: 120vw;
}
#top-main #top-slider li.slick-slide img.bg1{ background-image: url("../img/top/main-bg1-sp.jpg"); }
#top-main #top-slider li.slick-slide img.bg2{ background-image: url("../img/top/main-bg2-sp.jpg"); }
#top-main #top-slider li.slick-slide img.bg3{ background-image: url("../img/top/main-bg3-sp.jpg"); }
#top1{
	padding: 40px 20px 0;
}
#top1:after{
	width: 78px;
	height: 78px;
	bottom: -90px;
	left: auto;
	right: 10px;
}
#top1 .box .list{
  width: auto;
	line-height: 1.5;
}
#top1 .box .list dt{
  float: none;
  width: auto;
  margin-bottom: 0;
	border-radius: 6px 6px 0 0;
	padding: 8px 16px;
}
#top1 .box .list dd{
  float: none;
  width: auto;
  margin-bottom: 20px;
	border-radius: 0 0 6px 6px;
	padding: 8px 16px 12px;
}
#top1 .btn{
  margin-top:10px;
}
#top1 .box .nav{
  width: auto;
}
#top1 .box .nav a{
	height: auto;
	padding: 0;
	border-radius: 20px;
	font-size:1.5rem;
	line-height: 54px;
border-radius: 29px;
}
#top1 .box .nav a br{
  display:none;
}
#top1 .box .nav a:after{
  content:url("../img/common/arrow2.png");
  display: inline-block;
  margin-left:10px;
}
#top2{
	background-size: 200% 100%;
	padding: 100px 20px 75px;
	position: relative;
}
#top2:before{
	width: 47px;
	height: 31px;
	top:60px;
	left:10px;
}
#top2 .box .photo{
  width: auto;
	padding: 0;
	margin: 0 0 40px;
}
#top2 .box .info{
  flex:1;
}
#top2 h2{
  font-size: 2.4rem;
}
#top2 .btn4{
  margin-top: 28px;
}
#top3{
  padding: 0 20px 40px;
}
#top3 h2{
  background:url("../img/top/top3-ttl.png") no-repeat center top;
	background-size: contain;
	height:140px;
	margin: 0 0 36px;
}
#top3 ul{
  flex-wrap: block;
}
#top3 ul li{
  width: auto !important;
	height: auto !important;
	margin: 0 0 20px !important;
	padding-bottom: 0 !important;
}
#top3 ul li img{
	display: block !important;
	margin: 20px 30px -5px auto !important;
}
#top3 ul li:nth-child(1) img{
	width: 77px;
}
#top3 ul li:nth-child(2) img{
	width: 100px;
}
#top3 ul li:nth-child(3) img{
  width: 70px;
}
#top3 ul li:nth-child(4) img{
  width: 142px;
}
#top3 ul li p.btn1{
  padding: 0 20px !important;
}
#top3 ul li:nth-child(1) p.btn1:before{
  content:"";
	background:url("../img/top/top3-fkds1.png");
	background-size: contain;
	width: 102px;
	height: 39px;
	top: -34px;
	left: 10px;
}
#top4{
	background-size: 200% 100%;
	padding: 5px 20px 75px;
}
#top4 .box{
  text-align: center;
}
#top4>.box .ttl{
  width: 188px;
	max-width: 50%;
	margin: 0 auto;
}
#top4>.box .info{
  width: auto;
	margin: 0 auto;
	text-align: center;
}
#top4>.box .info ul{
  margin-bottom: 40px;
}
#top4>.box .info ul li{
  margin-top: 40px;
}
#top5{
	padding: 60px 20px 100px;
}
#top5 .otoriyose{
	margin-bottom: 50px;
}
#top5 .otoriyose .content{
  align-items: center;
	padding: 20px;
}
#top5 .otoriyose .content:before{
	background-size: contain;
	width: 202px;
	height: 100px;
	position: absolute;
	top: -55px;
	left: -30px;
}
#top5 .otoriyose .photo{
	padding: 20px;
}
#top5 .otoriyose .info{
  margin: 0;
	padding: 20px 0 0;
	border-top: solid 2px #000;
	border-left: none;
}
#top5 .otoriyose .info .ttl{
	font-size: 2.2rem;
	margin-bottom: 15px;
	line-height: 1.3;
}
#top5 .otoriyose .info .btn3{
  margin-top: 28px;
}
#top5 .bottom{
  text-align: center;
}
#top5 .tw,
#top5 .tw .info{
	width: 100%;
}
#top5 .tw h2{
  font-size: 2rem;
	line-height: 1.3;
	margin-bottom: 15px;
}
#top5 .recruit{
  width: auto;
	height: 100vw;
	padding: 30px 20px 0;
	background:url("../img/top/top5-recruit-bg.png") no-repeat center top / cover;
	margin-top: 40px;
	border-radius: 10px;
}
#top5 .recruit h2{
  font-size: 2rem;
	margin-bottom: 10px;
}
#top5 .recruit .btn1 a{
  margin-top: 10px;
}
/* toppage */

/* shop */
.detail1 .main{
  margin: 40px 0;
}
.detail1 .photo{
  width: auto;
	text-align: center;
	margin-bottom: 20px;
}
.detail1 .info{
  width: auto;
	font-size: 1.8rem;
}
.detail1 .info h2{
  font-size: 2.1rem;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.taiken{
  margin: -20px -20px 0;
  padding: 120px 20px 70px;
	background-size: 200% 100%;
}
.taiken:before{
	width: 47px;
	height: 31px;
  top: 80px;
  left: 10px;
}
.taiken:after{
	width: 78px;
	height: 35px;
	top:30px;
	left:auto;
	right: 0;
}
.taiken .photo{
  margin-bottom: 40px;
}
.taiken .btn4{
  margin-top: 20px;
	text-align: right;
}
.access .map,
.reccomend .photo{
  width: auto;
}
.access .map iframe{
  width: 100%;
	height: 80vw;
	margin-bottom: 20px;
}
.access .info,
.reccomend .info{
	padding: 0;
}
.box+.box.parking{
	padding: 0 30px;
	margin-top: 40px;
	margin-bottom: 50px;
}
.parking h3{
	text-align: center;
	margin-bottom: 18px;
	margin-top: -2.1rem;
}
.parking h3 span{
  font-size: 2.6rem;
}
.parking ul li{
  width: auto;
  padding:0;
}
.parking ul li br{
  display:none;
}
.parking .btn{
  text-align: center;
}
.parking .btn img{
  height: 36px;
}
.reccomend{
  background-size: 200% 100%;
	padding: 50px 20px 60px;
}
.reccomend .info h2{
  font-size: 3rem;
	letter-spacing: 0.15em;
	display: inline-block;
	background: linear-gradient(transparent 80%, #fff 60%);
	position: relative;
}
.reccomend .info h2:before{
  content:"";
	background:url("../img/shop-detail/recc-fkds.png") no-repeat left top / contain;
	width: 197px;	
	height: 40px;
	position: static;
	display: block;
	margin-top: 20px;
}
.reccomend .info h2+p{
  font-size: 1.8rem;
	margin-top: 24px;
}
.shopinfo{
  font-size: 1.5rem;
	line-height: 1.33;
	overflow: hidden;
}
.shopinfo dt{
	width: 120px;
	float: none;
	display: inline-block;
}
.shopinfo dd{
	margin: 0 0 20px 20px;
}
.moredetail .box-blfr{
  background-image:url("../img/shop-detail/moredetail-bg.jpg");
	background-size: cover;
	overflow: hidden;
	padding: 0;
}
.moredetail .box-blfr img {
  width: 100px;
	margin: 20px 30px -15px auto;
}
.moredetail .box-blfr p.btn1{
  padding: 0 20px;
	text-align: center;
}
.box.txt2.bdud#sendai,
.box.txt2.bdud#others {
    margin-top: 80px;
}
.shop1 ul{
  display: flex;
}
.shop2{
  margin-top: 30px;
}
.shop2+.shop2{
  margin-top: 60px;
}
.shop2#shop-shobian-cafe{
  background-size:200% 100%;
  padding: 25px 20px 30px;
  margin: 30px -20px 0;
}
.shop2 h3.box.ttl2{
  font-size: 3rem;
	margin-bottom: 50px;
}
.shop2 h3.box.ttl2+.box{
  margin-top: 0;
}
.shop2 .catch{
  font-size: 1.5rem;
}
.shop2 .flexbox{
  align-items: flex-start;
}
.shop2 .photo{
  margin-bottom:40px;
}
.shop2 .photo,
#single .main{
  position: relative;
}
#shop-tagajo .flexbox-pai1 .photo:after,
#shop-monzen .flexbox-pai1 .photo:after,
#shop-souhonten .flexbox-pai1 .photo:after,
#shop-tagajo .main:after,
#shop-monzen .main:after,
#shop-souhonten .main:after{
	width: 102px;
	height: 96px;
	bottom:-30px;
	right:-15px;
}
#shop-tagajo .main:after,
#shop-monzen .main:after,
#shop-souhonten .main:after{
	bottom:-25px;
	right:-15px;
}
.shop2 .btn2{
  margin-top: 20px;
}
/* shop */

/* pages */
.company1{
  background-size: 200% 100%;
  margin: 0 -20px 0;
	padding: 0 20px 60px;
	position: relative;
}
.company1:before{
		width: 51px;
		height: 36px;
    top: -10px;
    left: 10px;
}
.company1 .flexbox .photo{
  width: auto;
	text-align: center;
}
.company1 .flexbox .info{
	padding: 0;
}
.company2 .flexbox li{
  width: auto;
	margin: 0 0 20px;
}
.company2 .flexbox li p{
  font-size: 1.8rem;
	letter-spacing: 0.1em;
}
.company3 .box-wh{
  padding: 20px;
}
.company4:before{
	width: 47px;
	height: 31px;
  top: 45px;
  right: 0px;
}
.vision1+.vision1{
  margin-top: 70px;
}
.vision1 .photo{
  width: auto;
	text-align: center;
	margin-bottom: 20px;
}
.vision1 .info{
	padding: 0;
}
.vision1 h3{
  font-size: 2.2rem;
	margin-bottom: 8px;
}
.vision1 p{
  line-height: 1.8;
	letter-spacing: 0.1em;
}
.vision1 dl,
.vision1 dl:last-child{
	width: auto;
  font-size: 1.8rem;
	margin: 20px 0;
}
.vision1 .result{
	font-size: 1.8rem;
}
.vision2{
  margin: 0 -20px 70px;
	padding: 70px 20px 0;
	background-size: 200% 100%;
}
.vision2:before {
	width: 47px;
	height: 31px;
    position: absolute;
    top: 60px;
    right: 10px;
    z-index: 2;
}
.vision2 h3{
  font-size: 2rem;
	text-align: center;
	margin: -5px 0 32px;
}
.vision2 p.sign{
  display: block;
	text-align: right;
	margin: 0 0 0 auto;
}
.vision3 h3{
  font-size: 2.3rem;
	margin: 0 0 30px;
}
.vision3 ul.banbox li:nth-child(1) a{ background-image: url("../img/vision/bg2-1.png"); }
.vision3 ul.banbox li:nth-child(2) a{ background-image: url("../img/vision/bg2-2.png"); }
.products1 ul{
  flex-wrap: wrap;
}
.products1 ul li{
  width: auto;
	margin-top: 60px;
}
.products1 ul li h3{
	width:auto;
	display: block;
	line-height: 48px;
	font-size: 2.8rem;
	margin-bottom: 25px;
}
.products1 ul li .photo,
.products1 ul li h3+.photo{
  padding-top: 0;
}
.products1 ul li h4{
  font-size: 2.3rem;
	margin: 20px 0 13px;
}
.products1 ul li .link1{
  text-align: center;
}
.products1 ul li p{
  min-height:1px;
}
.products1-other{
  margin-top:50px;
}
.products1-other h3{
  font-size:2.3rem;
}
.products2{
  padding: 80px 20px 110px;
	margin: 45px -20px -90px;
	background-size: 200% 100%;
}
.outline1{
  background-size: 200% 100%;
	padding: 40px 20px 80px;
	margin: 20px -20px -160px;
	position: relative;
}
.outline1:before{
	width: 48px;
	height: 31px;
  top: 85px;
  left: 10px;
}
.outline1:after{
	width: 78px;
	height: 35px;
  top: 5px;
  left: auto;
	right: 10px;
}
.outline1 .photo{
  width: auto;
	margin-bottom: 20px;
}
.outline1 .info ul blockquote{
  padding-left: 3em;
}
.bg-beige {
    margin-bottom: 90px;
    padding: 0 20px 20px;
}
.outline2{
  margin: 30px -20px 0;
	padding: 30px 20px 0;
	background-size: 200% 100%;
}
.outline2 .box{
	text-align: left;
}
.outline2 .box br{
  display: none;
}
.outline2 ul.flexbox li,
.outline3 ul.flexbox li{
	margin-top: 40px;
}
.outline2 ul.flexbox li .photo{
  margin-bottom: 20px;
}
.outline3{
	background-size: 200% 75%;
	padding: 35px 20px 0;
	margin: 65px -20px 0;
}
.outline3 .btn1.center{
  margin-top: 60px;
}
.outline4{
  padding:0 0 60px;
}
.outline4 .photo{
  width: auto;
	text-align: center;
	margin-bottom: 20px;
}
.outline4 .info{
	padding: 0;
}
.box.safety1{
  margin-top: 0;
}
.safety1 ul{
  flex-wrap: wrap;
	margin-top: -20px;
}
.safety1 ul li{
  width: auto;
	line-height: 48px;
	margin: 40px 0 0 4px;
	font-size: 1.8rem;
}
.safety1 ul li a{
	font-size: 1.8rem;
}
.safety1 ul li i{
  position: absolute;
	top: -22px;
	left: -18px;
}
.safety2 h3{
  font-size: 2.4rem;
	margin-bottom: 10px;
}
.safety2 h3 i{
  margin-right: 12px;
}
div[class*="member"] .photo{
  width: auto;
	text-align: center;
	margin-bottom: 40px;
}
div[class*="member"] .info{
  font-size: 1.4rem;
}
div[class*="member"] .info h3{
  font-size: 2rem;
}
div[class*="member"] .info h4 span{
font-size: 1.8rem;
}
div[class*="member"] .box-border{
  margin-top: 30px;
}
div[class*="member"] .box-border .inner .content{
  padding: 28px 20px 10px;
}
div[class*="member"] .box-border h2{
  font-size: 2.4rem;
	margin-bottom: 18px;
}
div[class*="member"] .box-border+p{
  font-size: 1.3rem;
	margin-bottom: 60px;
}
.member2{
}
.member2 .flexbox{
  margin-bottom: 40px;
}
.member2 .photo p{
  font-size: 2rem;
}
div[class*="recruit1-"]>h3{
  font-size: 2.3rem;
	margin-bottom: 16px;
}
div[class*="recruit1-"] .flexbox .photo{
  width: auto;
	height:60vw;
	margin-bottom: 3px;
}
div[class*="recruit1-"] .btn1{
  margin-top: 30px;
}
div[class*="process"]{
  align-items: center;
}
.process1{
  margin-bottom: 0;
	text-align: center;
}
div[class*="process"] h3{
  display: block;
	width: auto;
	margin-bottom: 20px;
}
div[class*="process"] .flexbox{
  width: auto;
}
div[class*="process"] .step{
  display: inline-block;
	margin-bottom: 50px;
}
div[class*="process"] .step:before{
	position: absolute;
	transform:rotate(90deg);
	left: calc(50% - 8px);
	top:-40px;
}
div.process2 .step:before{
  left:calc(50% - 17px);
	top:-42px;
}
div.process2 .step.result{
  margin-bottom: 0;
}
/* pages */

/* inquiry */
.box-border.inquiry1 .inner .content {
		text-align: center;
}
.inquiry1 .btn3{
  width: auto;
}
.inquiry1 .btn3 a{
	width: auto;
}
.inquiry1 .btn3 a+a{
  margin-top: 20px;
}
.wpcf7 form>table{
  margin: 40px 0 0;
  display: block;
}
.wpcf7 form>table>tbody,
.wpcf7 form>table>tbody>tr{
  display: block;
}
.wpcf7 form>table>tbody>tr>th{
  width: auto;
	padding: 0 0 12px;
}
.wpcf7 form>table>tbody>tr>th .nec{
	margin-right: 12px;
}
.wpcf7 form>table>tbody>tr>td{
  display: block;
  width: auto;
  padding: 0 0 24px;
}
.wpcf7 form>table>tbody>tr>td input[type="text"],
.wpcf7 form>table>tbody>tr>td input[type="email"],
.wpcf7 form>table>tbody>tr>td input[type="tel"],
.wpcf7 form>table>tbody>tr>td select,
.wpcf7 form>table>tbody>tr>td textarea{
  width: 100% !important;
  padding: 6px 14px;
  border: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #fff;
	border-radius: 4px;
}
.wpcf7 form>table>tbody>tr>td.submit{
		border-bottom: none;
		text-align: center;
		padding: 20px 0 0;
}
.wpcf7 form>table>tbody>tr>td.submit button{
  width: 100%;
}
/* inquiry */

/* blog */
#blog-main{
  width: auto;
}
.blog-cat{
  margin-bottom: 40px;
}
.blog-cat li{
  width: auto;
}
.blog-list article{
}
.blog-list article dl{
  font-size: 1.8rem;
	padding:0;
	margin: 5px 0 12px;
	line-height: 1.5;
	position: relative;
}
#blog-sidebar{
  width: auto;
	padding: 20px;
	margin-top: 70px;
}
#blog-sidebar:before{
	width: 47px;
	height: 31px;
	top: -14px;
	left: -20px;
}
#blog-sidebar h3{
  font-size: 1.8rem;
	margin-bottom: 30px;
}
#blog-sidebar ul+h3{
  margin-top: 23px;
}
/* blog */

/* shobian cafe */
#shobian-cafe #wrapper{
  padding-top: 0;
}
#sc-header{
  height: auto;
  padding: 20px;
	text-align: center;
}
#sc-header .logo{
  width: 70vw;
	margin: 0 auto 15px;
}
#sc-header ul,
#sc-footer ul{
	padding-top: 10px;
	justify-content: center;
}
#sc-header ul li,
#sc-footer ul li{
  margin: 0 15px;
}
#sc-header ul li img{
  height: 24px;
}
#sc-header .btn{
  display: none;
}
#sc-main{
  background:url("../img/shobian-cafe/main-bg.jpg") no-repeat 50% top;
	background-size: auto 100%;
	height: 80vw;
	position: relative;
}
#sc-main h1{
  position: absolute;
	top: 8vw;
	left:6vw;
	width: 72vw;
}
#sc-about .topic{
  align-items:center;
	margin-top: 60px;
}
#sc-about .topic .photo,
#sc-about .topic:nth-child(1) .photo{
  width: auto;
	max-width: 756px;
}
#sc-about .topic .info{
  padding: 40px 20px 0;
}
#sc-about .topic .info>p{
  display: block;
	text-align: center;
	font-size: 1.6rem;
	margin: 0;
}
#sc-menu{
  margin: 70px 0 0;
	padding: 70px 20px 70px;
	background:url("../img/shobian-cafe/bg2.png") repeat left top;
	box-shadow:0 -16px 10px -10px rgba(128,128,128,0.2),0 16px 10px -10px rgba(128,128,128,0.2);
}
#sc-menu h3{
  margin: 40px 0 30px;
  border-bottom:solid 1px #5e5748;
	line-height: 1.3;
	font-size: 3.2rem;
	letter-spacing: 0.3em;
	text-indent: 0;
	color: #5e5748;
	position: relative;
}
#sc-menu h3:before,
#sc-menu h3:after{
	content:none;
}
#sc-menu ul{
  flex-wrap: wrap;
}
#sc-menu ul li{
  width: auto;
	margin-bottom:40px;
	display: flex;
	justify-content: space-between;
	align-items: start;
}
#sc-menu ul li .photo{
  width: 40vw;
  margin: 0 5vw 0 0;
}
#sc-menu ul li .info{
  flex:1;
	text-align: left;
}
#sc-menu ul li h4{
  margin: 0 0 6px;
	padding: 0 0 6px;
}
#sc-menu ul li h4 .price{
  margin: 6px auto 0;
	display: block;
}
#sc-menu ul li p{
	line-height: 1.5;
}
#sc-menu ul li p br{
  display: none;
}
.sc-tabelbox1{
	margin: 20px auto 0;
	font-size: 1.3rem;
}
.sc-tabelbox1 .flexbox p {
    width: auto;
}
.sc-tabelbox1 .flexbox p .menu {
    padding-bottom: 10px;
}
.sc-tabelbox1 .flexbox p .price {
    padding-bottom: 10px;
}
#sc-access{
  padding: 70px 0 0;
}
#sc-access .map{
  margin: 30px 0 50px;
}
#sc-access .map iframe{
	height:80vw;
}
#sc-access dl.flexbox{
}
#sc-access dl dt h3{
  font-size: 3.6rem;
	letter-spacing: 0.2em;
	white-space: nowrap;
	margin-bottom: 10px;
}
#sc-access dl dd{
	padding: 0 20px;
}
#sc-access .parking{
  margin-left: 20px;
	margin-right: 20px;
}
#sc-access .parking h3 span {
    background: none;
    padding: 0;
}
#sc-access .box+.box.parking{
  border-color:#837669;
	text-align: left;
	letter-spacing: 0.1em;
	margin-top: 70px;
}
#sc-access .box+.box.parking h4{
  text-align: center;
	font-weight: bold;
	margin: -16px 0 16px;
}
#sc-access .parking:before,.parking:after{
	background: #837669;
}
#sc-ig{
  padding:0 20px;
}
#sc-footer{
  background-size: 200% 100%;
	padding-bottom: 35px;
	padding-top:300px;
}
#sc-footer .btn a{
	margin: 20px auto 35px;
}
#sc-footer .btn a i{
	margin: 8px 8px 0 0;
}
/* shobian cafe */

/* matsushima */
#main.main-matsushima h1{
  padding-top: 10vw;
	line-height: 1.2;
}
#main.main-matsushima h1 small{
  display: block;
	margin: 0 auto;
}
.box-border2 .inner .content {
    padding: 10px;
}
.box-border2 h2{
  font-size: 2.8rem;
}
.box-border2 p{
  font-size: 1.4rem;
	margin-bottom: 0;
}
.box + .box.matsushima1{
  margin-top: 30px;
}
.matsushima1 li{
  width: auto;
	margin: 0 0 20px;
}
.matsushima1 li a{
	min-height: 1px;
	font-size: 1.6rem;
	padding: 0 0 16px;
}
.matsushima1 li a .index{
	padding: 16px 0 6px;
}
.ttl3{
  font-size: 2.6rem;
	padding: 0 0 20px;
}
.ttl3 img{
  display: block;
}
.ttl3+.note{
  text-align: right;
	font-size: 1.3rem;
	margin-bottom: 30px;
}
.box + .box.matsushima2{
  margin-top: 60px;
}
.box + .box.matsushima2 .inner{
	position: relative;
	margin: 0;
	padding: 52px 0 0;
}
.box + .box.matsushima2 .inner:before,
.box + .box.matsushima2 .inner:after{
  display: block;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	text-align: center;
  content:"▼松島海岸駅 START▼";
}
.box + .box.matsushima2 .inner:after{
  content:"▲松島海岸駅 GOAL▲";
}
.matsushima2 .topic{
  margin:0;
	padding: 0 0 60px;
	border:none;
}
.matsushima2 .topic:after{
	width: 27px;
	height: 19px;
	bottom: 16px;
	left: calc(50% - 13px);
}
.matsushima2 .topic:last-child:after{
  content:none;
}
.matsushima2 .topic:nth-child(2n) .flexbox{
  flex-direction: row-reverse;
	align-items: start;
}
.matsushima2 .topic .ttl{
	margin-bottom: 18px;
}
.matsushima2 .topic .ttl p{
  font-size: 1.6rem;
}
.matsushima2 .topic .ttl h3{
  font-size: 2.4rem;
}
.matsushima2 .topic .photo{
  width: auto;
	margin-bottom: 16px;
}
.matsushima2 .topic .photo.icon1:before{
	width: 93px;
	height: 55px;
	left: -9px;
	top: -18px;
}
.matsushima2 .topic .photo.icon2:before{
	width: 142px;
	height: 88px;
	right: -16px;
	bottom: -10px;
}
.matsushima2 .topic .photo img{
	margin: 0;
}
.matsushima2 .topic .info,
.matsushima2 .topic:nth-child(2n) .info{
	padding: 0;
}
.matsushima2 .topic .info .bgwh {
		padding: 16px 20px;
}
.matsushima2 .topic .info .bgwh h4{
  font-size: 1.8rem;
	margin-bottom: 12px;
}
.matsushima2 .topic .info .bgwh p,
.matsushima2 .topic .info .bgwh table{
  font-size: 1.3rem;
  margin: 0;
}
.matsushima2 .topic .info .bgwh table th{
  white-space: nowrap;
}
.matsushima2 .topic .info .bgwh .btn4{
  text-align: left;
	margin-top: 10px;
}
.matsushima2 .ticket{
	margin: 40px 0 0;
}
.matsushima2 h3.ttl1{
  font-size: 2.1rem;
	margin: 40px 0 16px;
}
.matsushima2 .ticket-inner{
	padding: 16px 20px 32px;
}
.matsushima2 .ticket .catch{
  font-size: 1.8rem;
	margin: 10px 0 10px;
}
.matsushima2 .ticket dl{
  align-items: center;
	position: relative;
}
.matsushima2 .ticket-inner dl.label:before{
	content:none;
}
.matsushima2 .ticket dl dt{
	margin: 0;
}
.matsushima2 .ticket dl dd{
  margin: 6px 0 10px;
}
.matsushima2 .ticket dl dd:before{
  content:"通常：";
}
.matsushima2 .ticket dl dd .price{
  font-size: 3.2rem;
	color: #944a25;
	font-weight: bold;
	line-height: 1;
}
.matsushima2 .ticket .btn3{
  margin: -26px 0 40px;
}
.matsushima2 .gmap{
	margin-bottom: 60px;
}
.matsushima2 .gmap iframe{
  width: 100%;
	height: 80vw;
}
.box + .box.matsushima3{
  margin-top: 40px;
}
.matsushima3 ul{
  margin: 20px 20px 0;
}
.matsushima3 ul li{
  margin: 0 0 20px;
	text-align: center;
}
/* matsushima */

/* activity */
.activity1 ul{
  margin-top: 50px;
	margin-bottom: 70px;
}
.activity1 li{
	width: auto;
	padding: 16px 20px;
	margin: 0 0 20px;
}
.activity1 .icon{
  float: left;
	margin: -6px 0 0;
}
[class*="activity"] .icon span{
  display: none;
}
.activity1 li h2{
	font-size: 2.1rem;
}
.activity1 li p{
  min-height:1px;
	margin-bottom: 16px;
}
.box + .box.activity2 {
    margin-top: 70px;
}
.activity2 dl.ttl{
  align-items: center;
	padding: 15px 0;
}
.activity2 dl.ttl .icon{
  width: auto;
	float: left;
	margin-right: 10px;
	margin-top:5px;
}
.activity2#a3 dl.ttl .icon{
	margin-top: 25px;
}
.activity2 dl.ttl h2{
  font-size: 2.5rem;
	padding: 10px 0;
}
.activity2#a3 dl.ttl h2{
	padding-top: 30px;
}
.activity2 dl.ttl dd{
  margin: 10px 0 0;
	padding: 0;
	border-left: none;
}
.activity2 .outline{
  margin: 20px 0 20px;
	font-size: 1.6rem;
	line-height: 1.33;
}
.activity2 .outline dt{
  width: auto;
	display: inline-block;
	padding: 0.5rem;
	margin-right: 25px;
	font-size: 1.6rem;
}
.activity2 .outline dd{
	padding: 0.5rem;
	flex:1;
}
.activity2 .content{
  position: relative;
	z-index: 2;
}
.activity2 .content:before{
  content:"";
	width: 99vw;
	height: 517px;
	display: inline-block;
  background: url("../img/shop-detail/bg1.png") no-repeat center top / 100% 100%;
	position: absolute;
	left: calc(50% - 49.5vw);
	top: 0;
	z-index: -1;
}
.activity2 .content:after{
    background: url("../img/common/seagull2.png") no-repeat 0 0 / contain;
    content: "";
    display: inline-block;
    width: 156px;
    height: 70px;
    position: absolute;
    top: 35px;
    left: calc(50% + 340px);
    z-index: 2;
}
.activity2 .content .ttl1{
  background:url("../img/activity/ttl-bg.png") no-repeat center bottom / 139px 8px;
	padding: 0 0 12px;
}
.activity2 .content .ttl1:after {
    background: url("../img/common/seagull1.png") no-repeat 0 0 / contain;
    content: "";
    display: inline-block;
    width: 94px;
    height: 61px;
    position: absolute;
    bottom: 20px;
    left: calc(50% - 530px);
    z-index: 2;
}
.activity2 .content .flexbox{
  align-items: end;
	position: relative;
}
.activity2 .content dl:nth-of-type(2n){
  flex-direction: row-reverse;
}
.activity2 .content .fd1,
.activity2 .content .fd2,
.activity2 .content .fd3,
.activity2 .content .fd4{
  margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 60px;
}
.activity2 .content .fd3,
.activity2 .content .fd4{
  padding-bottom: 30px;
}
.activity2 .content .fd1:after,
.activity2 .content .fd2:after{
	content: "";
background: url("../img/common/arrow6.png") no-repeat left top / contain;
display: inline-block;
position: absolute;
width: 27px;
height: 19px;
bottom: 16px;
right: auto;
left: calc(50% - 13px);
}
.activity2 .content dt{
  text-align: center;
}
.activity2 .content dt,
.activity2 .content .flexbox dt,
.activity2 .content .flexbox:nth-of-type(2n) dt{
  width: auto;
	margin: 0 0 20px;
	text-align: center;
}
.activity2 .content dd{
  flex:1;
}
.activity2 .content dd h3,
.activity2 .content .fd1 dd h3,
.activity2 .content .fd3 dd h3{
  font-size: 2.1rem;
	margin: 0 0 16px;
	position: static;
}
.activity2 .content dl dd h3 span{
	width: 2.8rem;
	font-size: 1.5rem;
	line-height: 2.8rem;
	margin-right: 10px;
}
.activity2 .content dd p,
.activity2 .content .fd1 dd p,
.activity2 .content .fd2 dd p,
.activity2 .content .fd3 dd p,
.activity2 .content .fd4 dd p{
	display: block;
	margin: 0;
	padding: 0;
	background-image: none;
	width: auto;
	height: auto;
	position: static;
}
.activity2 .content dd p span,
.activity2 .content .fd2 dd p span,
.activity2 .content .fd4 dd p span{
  display: inherit;
	font-size: 1.6rem;
	line-height: 1.75;
	transform:none;
}
.activity3{
  align-items: center;
	position: relative;
	z-index: 2;	
	background-size:200% 100%;
	padding: 100px 20px 180px;
    margin: 0 -20px -180px;
}

.activity3{
}

.activity3 h3 {
    font-size: 2.8rem;
    margin-bottom: 24px;
}
/* activity */
/* </ PAGES> */
}

/*21.06.08*/
.shop-gmap-list{
  border-top: solid 3px #0d0058;
  border-bottom: solid 3px #0d0058;
  position: relative;
  padding: 0 30px;
  margin-top: 60px;
  margin-bottom: 100px;
}
.shop-gmap-list:before,
.shop-gmap-list:after{
  content:"";
	display: inline-block;
	width: 3px;
	height: calc(100% - 26px);
	background: #0d0058;
	position: absolute;
	left: 0;
	top:13px;
}
.shop-gmap-list:after{
  left:auto;
	right: 0;
}
.shop-gmap-list h3{
	text-align: center;
	margin-bottom: 24px;
	margin-top: -1.8rem;
}
.shop-gmap-list h3 span{
  font-size: 2.4rem;
	font-weight: bold;
	background:url("../img/common/bg1.png");
	padding: 0 16px;
}
.shop-gmap-list ul{
  display:block !important;
	margin-bottom: 30px;
}
.shop-gmap-list ul li{
  margin-bottom: 5px;
}
.shop-gmap-list ul li a{
  text-decoration:underline;
  font-weight:bold;
}
.shop-gmap-list p+p{
  margin:0;
}

@media screen and (max-width: 768px) {
.shop-gmap-list{
	padding: 0 30px;
	margin-top: 40px;
	margin-bottom: 50px;
}
.shop-gmap-list h3{
	text-align: center;
	margin-bottom: 18px;
	margin-top: -2.1rem;
}
.shop-gmap-list h3 span{
  font-size: 2rem;
}
.shop-gmap-list h3+p{
	font-size:1.4rem;
	line-height:1.5;
}
.shop-gmap-list ul li{
  width: auto;
  padding:0;
  font-size:1.4rem;
}
.shop-gmap-list ul li br{
  display:none;
}
}

/*21.09.24*/
@media screen and (max-width: 768px) {
.taiken-name .wpcf7-radio .wpcf7-list-item:before,
.taiken-place .wpcf7-radio .wpcf7-list-item:before,
.taiken-name .wpcf7-checkbox .wpcf7-list-item:before,
.taiken-place .wpcf7-checkbox .wpcf7-list-item:before{
  height:22vw;
}
}

/*22.02.28 calendar*/
#activity-cal .ttl1 {
  background: none;
  padding: 0;
}
#activity-cal .ttl1:after{
  content:none;
}
#activity-cal .flexbox {
  align-items: initial;
  position: relative;
}
#activity-cal .flexbox .cal{
  width:48%;
}
#activity-cal .cal h3{
  text-align:center;
  padding:10px;
  font-size:1.8rem;
  margin:0 0 15px;
}
#activity-cal .cal1 h3{ background: #b9c4d5; }
#activity-cal .cal2 h3{ background: #d5c2b9; }
#activity-cal .cal2>p{
  line-height: 1.5;
  font-size: 1.2rem;
  text-indent: -1em;
  padding-left:1em;
  margin-top:10px;
}
#activity-cal+.btn3 {
  margin: 50px 0 80px;
}
#about_bt{
  height:1px;
  overflow:hidden;
}
.modaal-wrapper #about_bt{
  height:auto;
}
.modaal-wrapper .modaal-close{
    position: absolute;
    background:url(../img/common/modaal-close.png) no-repeat left top;
    background-size: contain;
    border-radius: 0;
}
.modaal-close:after,.modaal-close:before{
    content:none;
}
.wpcf7 form table td a.inline{
  font-weight:bold;
  margin-left:15px;
  text-decoration: underline;
  color: #944a25;
}
@media screen and (max-width: 768px) {
#activity-cal .flexbox .cal{
  width:auto;
}
#activity-cal .flexbox .cal2{
  margin-top:40px;
}
#activity-cal .cal h3{
  margin:0;
}
}

.wpcf7 #activity-cal{
  background: #fff;
  padding: 20px;
  border: dotted 1px #0d0058;
  margin: 0 0 15px 3em;
}
.wpcf7 #activity-cal h2{
  font-size:1.8rem;
  text-align:left;
  margin:0 0 15px;
  font-weight:bold;
}
.wpcf7 #activity-cal h3{
  padding: 5px;
}
.wpcf7 #activity-cal .cal2{
  margin-top:30px;
}
.wpcf7 #activity-cal table th {
  width: auto;
  display: table-cell;
}
.wpcf7 #activity-cal table *{
  font-size:1.2rem;
}
@media screen and (max-width: 768px) {
.wpcf7 #activity-cal{
  margin: 0 0 15px;
}
}










