/*
Theme Name: PhotoStudio SAKIHAMA Ver1.0.3
Theme URI: 
Author: SAKIHAMA
Author URI: https://photo-sakihama.com
Description: PhotoStudio SAKIHAMA（写真のサキハマ）専用テーマ
Requires PHP: 8.3
Version: 1.0.3
License: PhotoStudio SAKIHAMA
Text Domain: photostudiosakihama
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, font, ins, kbd,
q, s, samp, small, strike, strong, sub, sup,
tt, var, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
h1, h2, h3, h4, h5, h6 {
	position: relative;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
	display: block;
}
a { outline:none !important; color:#333; text-decoration: none; }
a:focus { outline:none !important; color:#333; text-decoration:none; }
a:active { outline:none !important; color:#333; text-decoration:none; }
a:hover { color:#333; text-decoration:none; opacity:0.70; }
a:visit { color:#000; text-decoration:none; }
a {
	-webkit-transition:0.20s;
	        transition:0.20s;
}
address {margin:0;}
b,strong {font-weight: 700;}
em,i,b {font-weight:700;}
p {	margin-bottom: 20px;}
ul,ol {	list-style: none;}
img {
	-ms-interpolation-mode: bicubic;
	border: 0;
	vertical-align: middle;
	-webkit-backface-visibility: hidden;
			backface-visibility: hidden;
}
table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 0;
	width: 100%;
}
input[type="text"], 
input[type="button"], 
input[type="submit"], 
textarea {
	border-radius:0;
	-webkit-appearance: none;
}
.wpcf7 p {
    display:inline;
}

/*-----------------------------------------------------------------------------------------
	body
-----------------------------------------------------------------------------------------*/
body {
    font-family: "Noto Sans JP", sans-serif;
	font-size:16px;
	line-height:180%;
	color:#555;
	background:#fff;	
}
html, body {
	height: 100%;
	width:100%;
	min-width: 960px;
	margin: 0;
	padding: 0;
}
main {}

.dr_on {
    top:0;
    right:0!important;
    visibility:visible !important;
    opacity:1 !important;
    z-index:9999 !important;
    -webkit-transition: .7s;
            transition: .7s;
}
.dr_off {
    top:0;
    right:0;
    visibility:hidden;
    opacity:0;
    -webkit-transition: .7s;
            transition: .7s;
}
.over_hide {
    overflow: hidden !important;
}

/*------------------------------ scroll_up ----------*/
.f-in {
  opacity: 0;
  transform: translate(0, 30px);
  transition: 0.6s ease-in-out;
}
.f-in.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.f-in-right {
  opacity: 0;
  transform: translate(30px, 0);
  transition: 1s ease-in-out;
}
.f-in-right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

/*-----------------------------------------------------------------------------------------
	header
-----------------------------------------------------------------------------------------*/
header {
	position:fixed;
    top:0;
    animation: h_slide 2s forwards;
    left:0;
	width:100%;
    min-width: 1200px;
	padding:50px 20px 0 20px;
    z-index: 10;
    -webkit-transition: 0.5s;
	        transition: 0.5s;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
header.sb {
	background:#fff;
    animation: none !important;
}
header #logo {
	width:120px;
    top:-15px;
}
header #logo img {
	width:100%;
	height:auto;
}
#header {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
			align-items: center;
	-webkit-justify-content: space-between;
			justify-content: space-between;
}
header.show {
    background:rgba(255,255,255,1);
}
header.hide {
    transform: translateY(-100px);
}
header:hover {
    background:rgba(255,255,255,1);
}

/*------------------------------ header animation ----------*/
@keyframes h_slide {
  0% {
     top:-100px;
  }
  100% {
     top:0;
  }
}
@keyframes h_slide_sp {
  0% {
     top:0;
  }
  100% {
     top:0;
  }
}

/*------------------------------ Grobal Nav ----------*/
#gnav {
    margin-right:200px;
	display: -webkit-flex;
	display: flex;
    -webkit-align-items: center;
            align-items: center;
    -webkit-transition: 0.2s;
			transition: 0.2s;
}
#gnav ul {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
			align-items: center;
    margin-right:10px;
}
#gnav ul li {
	font-family: "Noto Serif JP", serif;
    position:relative;
	margin:0 25px;
    padding-bottom:20px;
	letter-spacing: 2px;
	line-height:100% !important;
}
#gnav ul li:before {
    position: absolute;
    content:'';
    top:-12px;
    right:-25px;
    border-left:1px solid #D0D0D0 !important;
    height:39px !important;
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
}
#gnav ul li a,
#gnav ul li div {
	display: block;
	color:#333;
    font-size:14px;
	padding:0;
}
#gnav ul li:nth-last-child(-n+1):before,
#gnav ul li ul li:before {
    display: none;
}

/*------------------------------ subMenu ----------*/
#gnav ul li ul {
    position: absolute;
    top: 100%;
    left: -20px;
    width: 150%;
    padding: 0;
    z-index:1;
    background:#fff;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
#gnav ul li ul li {
	position: relative;
	overflow: hidden;
	text-align:left;
	height: 0;
	margin:0;
	font-size:14px;
    width:100% !important;
	padding: 0 !important;
	-webkit-transition: 0.3s;
			transition: 0.3s;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
#gnav ul li:first-child ul {
    width:150% !important;
}
#gnav ul li:first-child ul li {
    width:100% !important;
}
#gnav ul li:hover ul li a {
    background:#fff;
}
#gnav ul li ul li a {
	display: block !important;
	line-height:50px !important;
	padding:0 5px 0 35px;
	margin:0;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
#gnav ul li ul li:hover a {
	opacity:1 !important;
	background:#d7b180; /* #7fb6c8 */
    color:#fff;
}
#gnav ul li ul li a:after {
	position: absolute;
	content:'';
	top:50%;
	left:13px;
	width:5px;
	height: 5px;
	margin-top:-3px;
	border-top:1px solid #333;
	border-right:1px solid #333;
	-webkit-transform:rotate(45deg);
			transform:rotate(45deg);
}
#gnav ul li ul li:hover a:after {
	border-top:1px solid #fff;
	border-right:1px solid #fff;
}
#gnav ul li:hover ul li {
	overflow: visible;
	height:50px !important;
	border-bottom:1px solid rgba(0,0,0,0.05);
}

.head_view {
	top:0 !important;
	visibility:visible !important;
	opacity:1 !important;
	-webkit-transition: 1s;
			transition: 1s;
}
.ic {
    position: relative;
    width:30px;
    margin-top:-18px;
}
.ic img {
    width:100%;
    height:auto;
}
.ic ul {
    position: absolute;
    top:180%;
    left:-160%;
    opacity: 0;
    visibility: hidden;
    background:#111;
    /*border-radius:5px;*/
    padding:25px;
    text-align: center;
    display: block !important;
    -webkit-transition: 0.3s;
            transition: 0.3s;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.ic ul:before {
    position: absolute;
    content:'';
    top:-10px;
    left:50%;
    margin-left:-8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 12px solid #111;
}
.ic ul li {
    margin:0 !important;
    padding: 0 !important;
}
.ic ul li a {
    color:#fff !important;
    display: block;
    line-height: 40px !important;
}
.ic ul li:before  {
    display: none !important;
}
.ic:hover ul {
    top:130%;
    opacity: 1;
    visibility: visible !important;
}

@media only screen and (max-width:1300px) {

    header #logo {
        margin-right: 2%;
    }
	#gnav {
		margin-right:170px;
	}
    #gnav ul {
        margin:0 15px 0 0;
    }
    #gnav ul li {
        margin:0 15px;
    }
    #gnav ul li:before {
        top:-9px;
        right:-15px;
        height:35px !important;
    }
    #gnav ul li a,
    #gnav ul li div {
        font-size:14px;
    }
    .ic ul {
        position: absolute;
        left:-130%;
    }
}
@media only screen and (max-width:1150px) {
    header #logo {
        margin-right:0;
        top:-12px;
    }
	#gnav {
		opacity: 0;
		transition: 0.2s;
	}
}

/*------------------------------ bugger ----------*/
#panel-btn {
    position: fixed;
    display: inline-block;
    top:15px;
    right:20px;
    width:120px;
    max-width:120px;
    min-width:120px;
    height:120px;
    margin-top:0;
    background:#AA7A40; /* #d7b180  #7fb6c8 */
    z-index:5000;
    border-radius: 50%;
    -webkit-transition: 0.5s;
	        transition: 0.5s;
}
#panel-btn:hover {
    cursor: pointer;
}
#panel-btn:after {
    position: absolute;
    content:'MENU';
    bottom:15%;
    left:50%;
    font-size:14px;
    font-weight:700;
    margin-left:-25px;
    letter-spacing: 1px;
    color:#fff;
}
#panel-btn-icon {
    display: block;
    position: absolute;
    top: 41%;
    left: 50%;
    width: 40px;
    height: 2px;
    background: #fff;
    margin-left:-25px;
    -webkit-transition: 0.2s;
            transition: 0.2s;
}
#panel-btn-icon:before,
#panel-btn-icon:after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    display: block;
    height: 2px;
    background: #fff;
    -webkit-transition: 0.3s;
            transition: 0.3s;
}
#panel-btn-icon:before {
    width: 50px;
    margin-top: -12px;
}
#panel-btn-icon:after {
    width: 30px;
    margin-top: 10px;
}
#panel-btn .close {
    background: transparent;
}
#panel-btn .close:before,
#panel-btn .close:after {
    margin-top: 0;
    background: #fff;
    width:45px;
}
#panel-btn .close:before{
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
}
#panel-btn .close:after{
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
}

@media only screen and (max-width:1300px) {
    #panel-btn {
        width:100px;
        max-width:100px;
        min-width:100px;
        height:100px;
    }
    #panel-btn:after {
        font-size:10px;
        bottom:17%;
        margin-left:-17px;
    }
    #panel-btn-icon {
        width: 34px;
        margin-left:-17px;
    }
    #panel-btn-icon:before {
        width: 34px;
        margin-top: -9px;
    }
    #panel-btn-icon:after {
        width: 20px;
        margin-top: 7px;
    }
    #panel-btn .close:before,
    #panel-btn .close:after {
        margin-top: 0;
        background: #fff;
        width:30px;
    }
    #panel-btn .close:before{
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg);
    }
    #panel-btn .close:after{
        -webkit-transform: rotate(-135deg);
                transform: rotate(-135deg);
    }
}

/*------------------------------ Menu Box ----------*/
.bx-menu {
    position:fixed;
    top:0;
	right:0;
	width:100%;
	max-width:100%;
	height:100%;
	visibility:hidden;
	opacity:0;
	margin:0;
    padding-bottom:50px;
    overflow-x: hidden;
    background: radial-gradient(ellipse at center,  #fff 0%,#f5f5f5 100%);
    z-index: 1000 !important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.bx-menu ul {
    margin:5% auto 0 auto;
    width:900px;
    height:90%;
}
.bx-menu ul li {
    font-family: "Noto Serif JP", serif;
    position: relative;
    font-size:18px;
	font-weight:700;
    letter-spacing: 1px;
	line-height:250%;
}
.bx-menu ul li a {
    display: block;
}
.bx-menu ul li ul {
    display: -webkit-flex;
    display: flex;
	-webkit-align-items: center;
			align-items: center;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    margin:0 0 2% 0 !important;
    height:auto !important;
    width:auto !important;
}
.bx-menu ul li ul li {
    height: auto !important;
    width:33%;
    font-weight:normal !important;
    font-size:14px !important;
    padding-left:30px;
	margin-bottom:1%;
    line-height:180% !important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.bx-menu ul li ul li:before {
    position: absolute;
    content:'';
    top:50%;
    left:10px;
    width:8px;
    height:8px;
    margin-top:-4px;
    border-left:1px solid #000;
    border-bottom:1px solid #000;
}
.bx-menu ul li.ic {
    margin-top:2%;
    padding-left:50px;
    background:url("img/parts/instagram.svg") 0 50% no-repeat;
    background-size:30px auto;
}
.bx-menu ul li.ic img {
    margin-right:2%;
    float:left !important;
}

@media only screen and (max-width:1200px) {
    .bx-menu ul li.ic {
        margin-top:3%;
    }
}
@media only screen and (max-width:960px) {
	.bx-menu ul {
		margin:5% auto 0 auto;
		width:95%;
		height:90%;
	}
}

/*-----------------------------------------------------------------------------------------
	box contact
-----------------------------------------------------------------------------------------*/
.bx-contact {
	position:relative;
    background: linear-gradient(to bottom, #f2f4f7 0%, #ffffff 20%);
    padding:80px 10px;
	-webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.bx-contact .fx {
    max-width:1200px;
	padding:100px 10px 0 10px;
    margin:0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: center;
            justify-content: center;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.bx-contact .fx p {
    font-size: 22px;
    font-weight:700;
    margin-right:5%;
}
.bx-contact .fx div {
    border-left:1px solid #ccc;
    padding-left: 5%;
    white-space: nowrap;
	-webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.bx-contact .fx div p {
    font-size:14px;
    padding-left:55px;
}
.bx-contact .fx div p.tel {
    font-size: 50px !important;
    font-weight:700;
    line-height:200%;
    margin-bottom:0;
    background:url("img/parts/ic_tel.svg") 0 50% no-repeat;
    background-size:35px auto;
	-webkit-box-sizing:border-box;
            box-sizing:border-box;
}

/*-----------------------------------------------------------------------------------------
	footer
-----------------------------------------------------------------------------------------*/
#footer {
	position:relative;
    background:#AA7A40; /* #d7b180  #7fb6c8 */
    padding:80px 10px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: center;
            justify-content: center;
	-webkit-box-sizing:border-box;
            box-sizing:border-box;
}
#footer p.logo-f {
    width:170px;
    margin: 0 4% 0 0;
}
#footer p.logo-f img {
    width:100%;
    height:auto;
}
#footer div {
    color:#fff;
    letter-spacing:1px;
    font-size:14px;
}
#footer dl div {
    display: -webkit-flex;
    display: flex;
}
#footer dl div dt {
    margin-right:3%;
}
#footer dl div dd {
    white-space: nowrap;
}
footer small {
	display: block;
	font-size:13px;
	text-align:center;
	line-height:70px;
    background:#fff;
    color:#333; /*#25404c*/
    letter-spacing:2px;
}

/*------------------------------ PageUp ----------*/
#pageUp {
	position: fixed;
	right:35px;
	bottom:35px;
	width:80px;
	height:80px;
	border:5px solid #fff;
	background:#333;
	border-radius:50%;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
	z-index: 10;
}
#pageUp:after {
	position: absolute;
	content:'';
	top:28px;
	left:24px;
	width:20px;
	height:20px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
}
#pageUp:hover {
	cursor: pointer;
}

/*------------------------------ Footer Btn ----------*/
#fBtn {
	display: none;
}

/*----------------------------------------------------------------------
	top page
 ---------------------------------------------------------------------*/
/*------------------------------ slider ----------*/
#slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: calc(130vh);
    animation: slidein 2.5s forwards;
}
.swiper-slide {
    background: #fff;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: center;
            justify-content: center;
    height: 130vh;
}
.swiper-slide img {
    display: block;
    width: 100vw;
    height: auto;
    height: 130vh;
    object-fit: cover;
}
@media only screen and (max-width:1050px) {
    #slider {
        width: 100%;
        height: auto !important;
    }
    .swiper-slide {
        width: 100%;
        height: auto !important;
    }
    .swiper-slide img {
        width: 100%;
        height: auto !important;
    }
}

/*------------------------------ top Wrapper ----------*/
#wrapper-tp {
    position: relative;
    background:#fbf7f2; /*#F2F4F7*/
}
#wrapper-tp section {
    position: relative;
    padding:80px 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

/*------------------------------ news ----------*/
.list-posts {
	display: -webkit-flex;
	display: flex;
	margin:0 auto;
	max-width:1100px;
}
.list-posts li {
	width:30%;
	margin:0 1.5% 4% 1.5%;
}
.list-posts li:nth-child(3n) {
	margin-right:0;
}
.list-posts li img {
	width:100%;
	height:auto;
}
.list-posts li span {
	display: block;
	font-size:16px;
	line-height:150%;
	padding:15px 15px;
	background:#fff;
}

@media only screen and (max-width:1200px) {
	.list-posts {
		width:95%;
	}
}

/*------------------------------ modal window ----------*/
.modal {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: .6s;
}
.modal.popup {
	opacity: 1;
	visibility: visible;
}
.modal-inner {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 80%;
	max-width: 720px;
	background: #fff;
	z-index: 2;
}
.modal-inner img {
	width: 100%;
	height: auto;
}
div#modalCloseCloss:hover {
    opacity: 0.70;
}
.modalCloseButton {
    position: absolute;
    left: 95%;
    top: -60px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    cursor: pointer;
}
.lineClose {
    display: inline-block;
    vertical-align: middle;
    color: #FFF;
    line-height: 1;
    width: 2rem;
    height: 0.2rem;
    background: currentColor;
    border-radius: 0.1rem;
    position: relative;
    transform: rotate(45deg);
}
.lineClose::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}
.skin {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.60);
  z-index: 1;
  cursor: pointer;
}
.modalBottom {
    padding: 22px 30px;
}
.modalBottom p {
    margin: 0;
}

/*------------------------------ concept ----------*/
#concept {
    padding: 80px 0 80px 0 !important;
}
#concept h1 {
    margin:0 auto;
	width:450px;
}
#concept h1 img {
	width:100%;
	height: auto;
}
.message {
    max-width:900px;
    margin:80px auto 0 auto;
}
.message p {
    text-align: center;
    line-height:250%;
    color:#888;
    margin:0 !important;
    font-size:18px !important;
}

@media only screen and (max-width:1200px) {
	#concept {
		padding: 40px 0 !important;
	}
	#concept h1 {
		width:320px;
	}
	.message {
		max-width:900px;
		width:85%
	}
	.message p {
		line-height:220%;
		font-size:16px !important;
	}
}

/*------------------------------ service ----------*/
#service {
    background:url("img/parts/bg/shikkui.jpg") 50% 50% no-repeat;
    background-size:cover;
}
#service p.ctr {
    text-align: center;
}
.bx-service {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    width:80% !important;
    margin:0 auto;
    -webkit-justify-content: space-between;
            justify-content: space-between;
}
.sv {
    position: relative;
    overflow: hidden;
    width:32%;
    margin-bottom:2%;
    background:#fff;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.sv img {
    width:100%;
    height: auto;
}
.sv dl {
    margin:7% 5%;
}
.sv dl div dt {
    font-family: "Noto Serif JP", serif;
    font-size:20px;
    font-weight:700;
    margin-bottom:20px;
}
.sv dl div dd {
    font-size:16px;
    margin-bottom:20px;
    line-height:180%;
    min-height:120px;
    color:#999;
}

@media only screen and (max-width:1500px) {
    .bx-service {
        width:95% !important;
    }
}
@media only screen and (max-width:1200px) {
    .bx-service {
        width:95% !important;
    }
    .sv {
        width:48.5%;
        margin-bottom:3%;
    }
    .sv dl div dt {
        font-size:18px;
    }
    .sv dl div dd {
        font-size:15px;
    }
}

/*------------------------------ gallery ----------*/
#gallery {}

/*---------- gallery slider ----------*/
.swiper-gallery {
    position: relative;
    overflow: hidden;
    padding-bottom:2%;
}
.swiper-gallery .swiper-slide span {
    position: absolute;
    width:102%;
    font-size:14px;
    bottom:-1px;
    left:-1%;
    display: block;
    text-align: center;
	line-height:150%;
	padding:4% 0;
    background:#fbf7f2;/*#F2F4F7*/
    /*background:#fff;*/
}
.swiper-gallery img {
    width:100%;
    height: auto;
}
.swiper-gallery img:hover {
    opacity: 1 !important;
}

/*------------------------------ store information & reservisiton ----------*/

.fx-info {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
			justify-content: space-between;
}
.fx-info section {
	width:50% !important;
	padding:15% 0 10% 0;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.fx-info section:first-child {
	border: 5px solid #fff;
}
.fx-info section:last-child {
	border: 5px solid #fff;
	border-left:none !important;
}
.fx-info .bx-in-res {
    position: relative;
	width:70%;
    background:rgba(255,255,255,0.95);
    padding:80px 0;
    margin:0 auto 0 auto;
    box-shadow: 20px 20px 0 rgba(0,0,0,0.20);
    z-index: 1;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.fx-info .bx-in-res p {
    font-size:16px;
    line-height:180%;
}
.fx-info .bx-in-res p.ttl-res {
    font-family: "Noto Serif JP", serif;
    font-weight:100;
    font-size:34px;
    line-height: 100% !important;
    letter-spacing: 2px;
    color:#000;
    margin-bottom:40px;
}
.fx-info .bx-in-res p.ttl-res span {
    position: relative;
    margin-left:60px;
    font-size:22px;
}
.fx-info .bx-in-res p.ttl-res span:before {
    position: absolute;
    content:'';
    top:50%;
    left:-55px;
    width:50px;
    border-top:1px solid #ccc;
    transform:rotate(-60deg);
}

/*------------------------------ store ----------*/
.bx-info {
	position:relative;
    background:url("img/parts/bg/f_store.jpg") 50% 50% no-repeat fixed;
    background-size:cover;
    padding:150px 0;
    text-align: center;
	-webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.bx-info:after {
    position: absolute;
    content:'';
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.10);
}

/*------------------------------ reservation ----------*/
.bx-res {
	position:relative;
    background:url("img/parts/bg/f_reservation.jpg") 50% 50% no-repeat fixed;
    background-size:cover;
    padding:100px 10px;
    text-align: center;
	-webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.bx-res:after {
    position: absolute;
    content:'';
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.10);
}

/*------------------------------ more btn ----------*/
.more-info {
    position: relative;
    margin:0 auto !important;
    width:70%;
    text-align: center;
	letter-spacing: 1px;
    background:#AA7A40;
    box-shadow: 0 7px 0 rgba(0,0,0,0.10);
}
.more-info a {
    position: relative;
    display: block;
    color:#fff;
    font-size:18px;
    font-weight:700;
    line-height:60px;
}
.more-info a:after {
    position:absolute;
    content:'';
    top:50%;
    right:8%;
    width:30px;
    height:12px;
    margin-top:-8px;
    background:url("img/parts/ic_arrow.svg") 0 0 no-repeat;
    background-size:100% auto;
    -webkit-transition: 0.2s;
            transition: 0.2s;
}
.more-info a:hover:after {
    right:6%;
    opacity: 1 !important;
}

@media only screen and (max-width:1500px) {
	.fx-info .bx-in-res {
		width:90%;
    	padding:50px 0;
	}
	.fx-info .bx-in-res p {
		font-size:16px;
		line-height:180%;
	}
	.fx-info .bx-in-res p.ttl-res {
		font-size:26px;
		margin-bottom:40px;
	}
	.fx-info .bx-in-res p.ttl-res span {
		font-size:16px;
		margin-left:40px;
	}
	.fx-info .bx-in-res p.ttl-res span:before {
		left:-45px;
		width:50px;
	}
	.more-info {
		width:80%;
		text-align: center;
	}
	.more-info a {
		font-size:16px;
	}
	.more-info a:hover:after {
		right:6%;
		opacity: 1 !important;
	}
}

/*-----------------------------------------------------------------------------------------
	2nd - news・campaign
-----------------------------------------------------------------------------------------*/

#topics {
	background-color:none;
    padding-top:110px;
}
.bx-topics {
	position: relative;
	margin:0 auto !important;
	max-width:960px !important;
    padding: 100px 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.bx-topics h1 {
    font-family: "Noto Serif JP", serif;
    font-size:35px;
    font-weight:100;
    text-align: center;
    letter-spacing:2px;
    padding-top:100px;
    margin:-100px 0 80px 0;
}
.bx-topics header {
	font-family: "Noto Serif JP", serif;
    position: relative !important;
	top:0 !important;
	left:0 !important;
	margin-bottom:40px;
    min-width: 100%;
	padding:0;
    z-index: 1;
    -webkit-transition: 0;
	        transition: 0;
}
.bx-topics header h2 {
	padding:0 5px 30px 5px;
	margin-bottom:20px;
	font-size:30px;
	font-weight:700;
	border-bottom:3px double #ccc;
}
.bx-topics header:hover {
	background:none !important;
}

#news-content {
	position: relative;
}
#news-content img {
	display: block;
	margin-bottom:40px;
	max-width:100%;
	height:auto;
}
#news-content p.back {
	position: relative;
	margin:100px auto 0 auto;
	width:180px;
    background:#AA7A40;
	text-align: center;
	color:#fff;
	-webkit-transition: 0.3s;
			transition: 0.3s;
}
#news-content p.back a {
	color:#fff;
	line-height:50px;
	width:100%;
	display: block;
}
#news-content p.back:hover {
	cursor: pointer;
	opacity:0.75;
}

/*-----------------------------------------------------------------------------------------
	2nd - basic
-----------------------------------------------------------------------------------------*/

article {
    position: relative;
    padding-top:450px;
    min-width:960px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
#wrapper {
    position: relative;
    width:100%;
    min-width:960px;
    background:#fbf7f2;
}
section h1 {
    font-family: "Noto Serif JP", serif;
    font-size:35px;
    font-weight:100;
    text-align: center;
    letter-spacing:2px;
    padding-top:100px;
    margin:-100px 0 80px 0;
}
section h1 span div {
    display: inline !important;
    opacity:0;
}
section h2 {
    font-size:24px;
    font-weight:700;
    text-align: center;
    color:#333;
    margin-bottom:70px;
}
section p {
    font-size:20px;
    line-height:180%;
    margin-bottom:50px;
}
.ttlm {
    font-size:22px;
    font-weight:700;
    margin-bottom:80px;
    line-height: 200%;
    text-align: center;
}
.inner {
    position: relative;
    padding: 100px 0;
    /*max-width:1200px;*/
    margin:0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

@media only screen and (max-width:1200px) {
	section h1 {
		font-size:30px;
		padding-top:80px;
		margin:-80px 0 60px 0;
	}
	section h2 {
		font-size:20px;
		margin-bottom:60px;
	}
	section p {
		font-size:18px;
		line-height:180%;
		margin-bottom:40px;
	}
}

/*------------------------------ more btn ----------*/
.more-btn {
    position: relative;
    margin:0 auto !important;
    width:70%;
	max-width:450px;
    text-align: center;
    line-height:90px;
    /*
    border-radius:90px;
    background: linear-gradient(to right,  #8fd3de 0%,#5ca4c2 65%,#5c90c2 100%);
    */
    background:#AA7A40/*#d7b180*/;
    box-shadow: 0 7px 0 rgba(0,0,0,0.10);
}
.more-btn a {
    position: relative;
    display: block;
    color:#fff;
    font-size:20px;
	line-height: 60px;
    font-weight:700;
}
.more-btn a:after {
    position:absolute;
    content:'';
    top:50%;
    right:8%;
    width:30px;
    height:12px;
    margin-top:-8px;
    background:url("img/parts/ic_arrow.svg") 0 0 no-repeat;
    background-size:100% auto;
    -webkit-transition: 0.2s;
            transition: 0.2s;
}
.more-btn a:hover:after {
    right:6%;
    opacity: 1 !important;
}
@media only screen and (max-width:1500px) {
    .more-btn {
        margin:50px auto 0 auto !important;
        width:40%;
        line-height:70px;
        /*order-radius:70px;*/
    }
    .more-btn a {
        font-size:16px;
    }
    .more-btn a:after {
        width:20px;
        height:15px;
    }
}

/*---------- more reservation ------------------------------*/
.more-res {
    position: relative;
    margin:50px 0 0 0 !important;
    width:100%;
    text-align: center;
    line-height:70px !important;
    letter-spacing: 2px;
    background:#AA7A40; /*#d7b180*/
    box-shadow: 0 7px 0 rgba(0,0,0,0.10);
}
.more-res a {
    position: relative;
    display: block;
    color:#fff;
    font-size:20px;
    font-weight:700;
}
.more-res a:after {
    position:absolute;
    content:'';
    top:50%;
    right:10%;
    width:30px;
    height:30px;
    margin-top:-15px;
    background:url("img/parts/ic_reservation.svg") 0 0 no-repeat;
    background-size:100% auto;
    -webkit-transition: 0.2s;
            transition: 0.2s;
}

/*------------------------------ more reservation ----------*/
.more-sv {
    position: relative;
    margin:50px auto !important;
    width:80%;
    text-align: center;
    line-height:60px;
    background:#AA7A40;
    box-shadow: 0 7px 0 rgba(0,0,0,0.10);
}
.more-sv a {
    position: relative;
    display: block;
    color:#fff;
    font-size:16px;
    font-weight:700;
}
.more-sv a:after {
    position:absolute;
    content:'';
    top:50%;
    right:8%;
    width:25px;
    height:15px;
    margin-top:-5px;
    background:url("img/parts/ic_arrow.svg") 0 0 no-repeat;
    background-size:100% auto;
    -webkit-transition: 0.2s;
            transition: 0.2s;
}
.more-sv a:hover:after {
    right:6%;
    opacity: 1 !important;
}
@media only screen and (max-width:1500px) {
    .more-sv {
        margin:50px auto !important;
        width:80%;
    }
    .more-sv a {
        font-size:14px;
    }
    .more-sv a:after {
        width:20px;
        height:15px;
    }
}

/*-----------------------------------------------------------------------------------------
	2nd - Faq
-----------------------------------------------------------------------------------------*/

#faq {
    background:url("img/parts/bg/faq.jpg") 50% 0 no-repeat fixed;
    background-size:1920px auto;
}
#faq section {
    text-align: center;
}

/*------------------------------ faq category ---------*/
.ttl-cat {
    font-weight:700;
    font-size:20px;
}
.list-category {
    max-width:1200px;
    margin:0 auto 100px auto;
    padding:0 20px 80px 20px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items:center;
            align-items:center;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.list-category li {
    position: relative;
    overflow: hidden;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items:center;
            align-items:center;
    width:32%;
    margin:0 0 2% 0;
    text-align: left;
    height:90px;
    border:5px solid #F4E9DC;
    background:url("img/parts/ic_arrow_beige.svg") 95% 50% no-repeat #fff;
    background-size:30px auto;
    -webkit-transition: 0.2s;
            transition: 0.2s;
    padding:0 70px 0 20px;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.list-category li a {
	display: block ;
	position: absolute;
	overflow:hidden;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	text-indent:100%;
	white-space:nowrap;
	background/*\**/: #fff\9;
	filter:alpha(opacity=0);
}
.list-category li.set,
.list-category li:hover {
    background:url("img/parts/ic_arrow_wht.svg") 95% 50% no-repeat #AA7A40; /* #CCD17D #F4E9DC */
    background-size:30px auto;
	border:5px solid #AA7A40;
    color:#fff;
}
.list-category li.set a,
.list-category li:hover a {
    color:#fff;
    opacity: 1 !important;
}
.list-category::after{
    content:"";
    display: block;
    width:32%;
}

@media only screen and (max-width:1200px) {
	.list-category li {
		font-size:14px;
		background:url("img/parts/ic_arrow_beige.svg") 95% 50% no-repeat #fff;
		background-size:24px auto;
	}
	.list-category li:hover {
		background:url("img/parts/ic_arrow_wht.svg") 95% 50% no-repeat #AA7A40;
		background-size:24px auto;
	}
}
/*------------------------------ faq list ---------*/
.bx-faq {
    background:#fff;
    padding:80px 10px;
	margin-bottom:80px;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.list-faq {
    margin:0 auto;
    max-width:1200px;
}
.list-faq div {
	position: relative;
	margin-bottom:25px;
	background:#fff;
    text-align:left;
	border:2px solid #D3C9C2;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.list-faq div dt {
	position: relative;
	font-weight: 700;
	line-height: 150%;
	padding: 30px 90px 25px 90px;
	font-size:20px;
	background:url("img/parts/ic_faq_q.svg") 23px 25px no-repeat;
    background-size:40px auto;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.list-faq div dt:before {
	position: absolute;
	content:'';
	top:43px;
	right:20px;
	border-top: 3px solid #D3C9C2;
	width:21px;
	-webkit-transition: 0.2s;
			transition: 0.2s;
}
.list-faq div dt:after {
	position: absolute;
	content:'';
	top:33px;
	right:30px;
	height: 20px;
	border-left: 3px solid #D3C9C2;
}
.list-faq div dt:hover {
	cursor: pointer;
	opacity: 0.7;
}
.list-faq div dd {
	display: none;
	position: relative;
	line-height: 180%;
	padding: 30px 20px 40px 70px;
	margin:0 20px;
	font-size:18px;
    border-top:1px dashed #ccc;
	background:url("img/parts/ic_faq_a.svg") 12px 35px no-repeat;
    background-size:22px auto;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}

@media only screen and (max-width:1200px) {
	.bx-faq {
		width:100%;
		padding:80px 10px;
		margin-bottom:80px;
		-webkit-box-sizing:border-box;
				box-sizing:border-box;
	}
	.list-faq {
		max-width: 90%;
		width:90%;
		margin:0 auto;
	}
	.list-faq div dt {
		padding: 30px 90px 25px 75px;
		font-size:17px;
		background:url("img/parts/ic_faq_q.svg") 23px 25px no-repeat;
		background-size:30px auto;
		-webkit-box-sizing:border-box;
				box-sizing:border-box;
	}
	.list-faq div dd {
		font-size:16px;
		background:url("img/parts/ic_faq_a.svg") 12px 35px no-repeat;
		background-size:18px auto;
		padding: 30px 20px 40px 57px;
	}
}

/*------------------------------ accordion toggle ----------*/
.list-faq div.sel dt:before {
	border-top: 2px solid #433F3C;
}
.list-faq div.sel dt:after {
	display: none;
}
.sel {
	border:2px solid #433F3C !important;
	-webkit-box-shadow: 5px 5px 10px rgba(0,0,0,0.10);
			box-shadow: 5px 5px 10px rgba(0,0,0,0.10);
}

/*------------------------------ photo gallery category ---------*/
.bx-gallery {
    background:#fff;
    padding:100px 10px;
	margin-bottom:80px;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.list-gallery {
    max-width:1200px;
    margin:0 auto 100px auto;
    padding:0 20px 80px 20px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items:center;
            align-items:center;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.list-gallery li {
    position: relative;
    overflow: hidden;
    width:24%;
    margin:0 1.33333333% 1% 0;
    /*border:5px solid #F4E9DC;*/
    display: -webkit-flex;
    display: flex;
    -webkit-align-items:center;
            align-items:center;
   -webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.list-gallery li:nth-child(4n) {
	margin-right:0;
}
.list-gallery li img {
	width:100%;
	height: auto;
    -webkit-transition: 0.5s;
            transition: 0.5s;
}
.list-gallery li:hover img {
	-webkit-transform: scale(1.1);
			transform: scale(1.1);
	opacity: 0.70;
}
.list-gallery li span {
	position: absolute;
	left:0;
	bottom:0;
	font-size:14px;
	font-weight:500;
	letter-spacing: 1px;
	width:100%;
	background:rgba(255,255,255,0.70);
	padding:10px 5px;
	text-align: center;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.list-gallery li a {
	display: block ;
	position: absolute;
	overflow:hidden;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	text-indent:100%;
	white-space:nowrap;
	background/*\**/: #fff\9;
	filter:alpha(opacity=0);
}

@media only screen and (max-width:1200px) {
	.list-gallery li {
		width:32.5%;
		margin:0 1% 1% 0;
	}
	.list-gallery li:nth-child(3n) {
		margin-right:0 !important;
	}
	.list-gallery li:nth-child(4n) {
		margin-right:1%;
	}
}

/*-----------------------------------------------------------------------------------------
	2nd - Information
-----------------------------------------------------------------------------------------*/

/*------------------------------ information ----------*/
#information {
    background:url("img/parts/bg/information.jpg") 50% 30px no-repeat fixed;
    background-size:1920px auto;
}
#staff {}

.bx-staff {
    position: relative;
    background:#fff;
    padding:0 7.5% 10% 5%;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.staff-voice {
	position: relative;
    max-width:1100px;
    margin:0 auto;
}
.staff-voice p {
	width:53%;
}
.staff-voice img {
	position: absolute;
	top:0;
	right:0;
	width:40%;
	height: auto;
}
.staff-voice h3 {
    font-size:20px;
    font-weight:700;
    color:#D3AE7E;
    margin-bottom:20px;
}
.list-staff div {
    padding:0.5% 0;
    font-size:18px;
    font-style:italic;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
            align-items: flex-start;
}
.list-staff div dt {
    margin-right:2%;
}

/*------------------------------ map ----------*/
#map {
    max-width:1100px;
    margin:0 auto;
	padding:0 !important;
}
#map .inner {
    margin-bottom:0 !important;
    padding-top:0 !important;/**/
}
#map iframe {
    width:100%;
    height:750px;
}

@media only screen and (max-width:1200px) {
    .staff-voice div.bx-voice p {
		font-size:16px;
		margin-bottom:30px;
	}
	.staff-voice div.bx-voice h3 {
		font-size:18px;
		margin-bottom:20px;
	}
	.list-staff div {
		padding:0.5% 0;
		font-size:16px;
	}
	#map {
		max-width:90%;
	}
}

/*-----------------------------------------------------------------------------------------
	2nd - Inquiry
    2nd - Reservation
-----------------------------------------------------------------------------------------*/

#inquiry {
	background-color:none;
    padding-top:110px;
}
#inquiry .tx-c {
    text-align: center;
    margin-bottom:80px;
    line-height:200%;
}
#inquiry .tx-c span {
    display: inline;
}
@media only screen and (max-width:1200px) {
    #inquiry .tx-c {
        font-size:16px;
        margin-bottom:40px;
    }
    #inquiry .tx-c span {
        display: block;
    }
}

/*------------------------------ form text ----------*/
.bx-form {
    background:#fff;
    margin:0 auto;
    padding:0 4%;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.mailForm {
    max-width:1200px;
    margin:0 auto;
}
.mailForm .tx-form {
    text-align: center;
    font-weight:700;
    font-size:20px;
}
.mailForm p {
    font-size:18px;
}
.mailForm p a {
    text-decoration: underline;
	color:#d3ae7e;
}

@media only screen and (max-width:1200px) {
	.mailForm p {
		font-size:16px;
	}
}

/*------------------------------ Form common ----------*/
.attention {
	position: relative;
	display:block;
	color:#e50012;
	padding-left:20px;
	font-size: 14px;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.attention:before {
	position: absolute;
	content:'※';
	top:1px;
	left:0;
}

.contactForm div {
	border-bottom:1px solid #efefef;
	padding:20px 10px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items:center;
			align-items:center;	
}
.contactForm div dt {
	position: relative;
	padding:0 0 0 70px;
	width:30%;
	font-weight:700;
}
.contactForm div dd {
	width:70%;
}
.contactForm div dt,
.contactForm div dd {
	font-size:16px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.contactForm div dd input[type="text"],
.contactForm div dd input[type="email"],
.contactForm div dd input[type="number"],
.contactForm div dd input[type="date"],
.contactForm div dd input[type="tel"] {
	width:100%;
	height: 50px;
	line-height: 50px;
	padding:0 10px;
	display: inline-block;
	background:#fff;
    border:1px solid #859093;
	font-size: 16px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.contactForm div dd input[type="text"].zip {
	width:20%;
	padding:0 10px;
	display: inline-block;
    margin-bottom:15px;
}
.contactForm div dd select {
	width:40%;
	height: 50px;
	line-height: 50px;
	padding:0 10px;
	background:#fff;
	font-size: 16px;
	border:1px solid #ccc;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.contactForm div dd label {
	line-height:35px;
    display: -webkit-flex;
			display: flex;
	-webkit-align-items: center;
			align-items: center;
}
.contactForm div dd label:hover {
	cursor: pointer;
}
.contactForm div dd textarea {
	display: block;
	width:100%;
	min-height: 200px;
	padding:10px;
	background:#fff;
    border:1px solid #859093;
    border-radius:5px;
	font-size: 16px;
    line-height:150%;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.contactForm div dd img {
	margin:15px 0;
}
.wpcf7-captchar {
	width:40% !important;
}
.h:before {
	position: absolute;
	content:'必 須';
	top:3px;
	left:0;
	margin:0;
	color:#fff;
	width:55px;
	font-size:12px;
	/*background:#002f56;*/
	background:#d3bf77;
	border-radius:3px;
	text-align: center;
}
.n:before {
	position: absolute;
	content:'任 意';
	top:3px;
	left:0;
	margin:0;
	color:#fff;
	width:55px;
	font-size:12px;
	background:#b2b2b2;
	border-radius:3px;
	text-align: center;
}
.error {
	display: block;
	margin:10px 0 0 0;
	color:#ff0000;
}
.bx-send {
    display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
			justify-content: center;
	padding:20px 0 !important;
	text-align:center !important;
    margin:0 auto;
    border-bottom:0 !important;
}
.bx-send input[type="submit"],
.bx-send button {
	display: block !important;
    border:none;
	background:#333;
	color:#fff;
	width:30%;
	height:70px;
	line-height:70px;
	font-size:16px;
	margin:0 auto;
    box-shadow: 0 7px 0 rgba(0,0,0,0.10);
	-webkit-transition:0.3s;
			transition:0.3s;
}
.bx-send input[type="submit"]:hover,
.bx-send button:hover {
	background:#999;
	cursor: pointer;
}
.bx-send p {
	margin:0 !important;
    border:none !important;
	width:100% !important;
	display: inline !important;
}
.error-entry {
	border:1px solid #c1272d;
	padding:4%;
	text-align: center;
	color:#c1272d;
	margin-bottom: 50px;
	background:rgba(255,77,1,0.10);
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.wpcf7-list-item {
	display: block;
}
.wpcf7-response-output {
    text-align: center;
    background:#fff;
    font-size:12px !important;
    padding:20px 10px !important;
}
.err {
	position: relative;
	clear:both;
	overflow: hidden;
	display: block !important;
	margin:10px 0 0 0;
	color:#ff0000;
	width:100% !important;
    font-size:16px;
    font-weight:700;
}
#child label {
    margin-right:10% !important;
}
.ttl-form {
    text-align: center;
}

/*------------------------------ 確認画面 ----------*/
#mail_confirm h2 {
    text-align: left;
    font-size:26px;
    margin:0 0 2% 0;
    padding:2%;
    background:#efefef;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;  
}
dl.confirm {
    margin:0 0 4% 0 !important;
}
dl.confirm div {
    padding:2% 1%;
    border-bottom:1px solid #efefef;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center !important;
            align-items: center !important;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
dl.confirm div:last-child {
    border-bottom:0 !important;
}
dl.confirm div dt {
    width:30%;
    font-size:16px !important;
    color:#000 !important;
    background:none;
    margin:0 !important;
    padding:0 0 0 80px !important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
dl.confirm div dt.h:before,
dl.confirm div dt.n:before {
    top:0 !important;
    left:0 !important;
}
dl.confirm div dd {
    width:68%;
    margin:0;
    padding:0;
	font-size:16px;
    display: block !important;
}
dl.confirm div dd p {
    margin:2% 0;
}
dl.confirm div dd ul {
    margin:2% 0 2% 25px;
}
.complete h1 {
    font-family: 'Noto Sans JP', sans-serif;
}
.complete p {
    text-align: center;
}

/*------------------------------ privacy policy ----------*/
#bx-privacy {
    position: relative;
    background:#fff;
    border:1px solid #859093;
    border-radius:10px;
    padding:40px 20px;
    margin:120px auto 80px auto;
    display: block;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
}
#bx-privacy h2 {
	font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    font-size:18px;
    font-weight:700;
    margin:40px 0;
    color:#D3AE7E;
}
#bx-privacy h3 {
    font-size:14px;
    font-weight:700;
}
#bx-privacy p {
    font-size:14px;
    margin-bottom:20px;
}
#bx-privacy ul {
    margin-bottom:20px;
}
#bx-privacy ul li {
    font-size:14px;
    list-style:disc;
    margin-left:20px;
}
#bx-privacy div {
    display: block;
    position: relative;
    height: 350px;
    overflow-x:hidden;
    border:none !important;
    padding:0 40px;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
}

/*------------------------------ agree ----------*/
#agree {
    display: block;
    text-align: center;
    width:330px;
    margin: 0 auto 80px auto;
    font-size:22px;
    border-bottom:none !important;
}
#agree input[type="checkbox"],
#agree input[type="radio"] {
    border:1px solid #ccc;
    margin-right:20px;
    -webkit-transform: scale(2.5, 2.5);
            transform: scale(2.5, 2.5);
}
#agree label:hover,
#agree label input[type="checkbox"]:hover {
	cursor: pointer;
}
.screen-reader-response ul li {
    margin:10px 0 !important;
    font-size:12px !important;
}

/*-----------------------------------------------------------------------------------------
    2nd - Reservation only
-----------------------------------------------------------------------------------------*/
#reservation {
    /*padding:40px 10px !important;*/
	background-color:none;
    padding-top:110px;
}

/*---------- ご利用についてのお願い ----------*/
.bx-reservation {
    background:#fff;
    padding:60px 60px;
    margin:0 auto 80px auto;
    max-width:1100px;
    -webkit-transition:0.5s;
            transition:0.5s;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.bx-reservation h2 {
    font-size: 20px !important;
    margin-bottom:40px;
    color:#D3AE7E;
}
.bx-reservation p {
    font-size:16px;
    margin-bottom:40px;
}
.bx-reservation ul {
    margin-left:20px;
}
.bx-reservation ul li {
    list-style: disc;
    margin-bottom:10px;
    font-size:16px;
}
.bx-reservation ul li a {
    text-decoration: underline;
    color:#D3AE7E;
}
.resForm #wrap-cos_yes,
.resForm #wrap-cos_no,
.resForm #wrap-hairmake,
.resForm #wrap-location {
	position: relative;
	clear:both;
	overflow: hidden;
    width:100% !important;
    display: none;
    background:#f5f5f5;
    padding:40px 40px;
	margin-top:20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.resForm #wrap-cos_yes p,
.resForm #wrap-cos_no p,
.resForm #wrap-hairmake p,
.resForm #wrap-location p {
    margin-bottom:0 !important;
}
.resForm div dd #wrap-cos_yes div,
.resForm div dd #wrap-cos_no div,
.resForm div dd #wrap-hairmake div,
.resForm div dd #wrap-location div {
    width:100%;
    padding:0;
}
.resForm div dd #wrap-cos_yes div div.bx-check,
.resForm div dd #wrap-cos_no div div.bx-check,
.resForm div dd #wrap-hairmake div div.bx-check,
.resForm div dd #wrap-location div div.bx-check {
	display: block;
	overflow: hidden;
	border-bottom:1px solid #aaa;
    padding:3% 0 !important;
}
.resForm div dd #wrap-cos_yes div div.bx-check:last-child,
.resForm div dd #wrap-cos_no div div.bx-check:last-child,
.resForm div dd #wrap-hairmake div div.bx-check:last-child,
.resForm div dd #wrap-location div div.bx-check:last-child {
	border-bottom:none;
}
.resForm div dd #wrap-cos_yes div label,
.resForm div dd #wrap-cos_no div label,
.resForm div dd #wrap-hairmake div label,
.resForm div dd #wrap-location div label {
    width:50% !important;
    display: inline-block;
	float:left;
}
.resForm div dd p.remarks {
	position: relative;
	clear:both;
	overflow: hidden;
	margin:1% 0 0 0;
	font-size:14px !important;
}

#formOverView {
    margin-top:20px;
    opacity: 0;
    display: none;
    transition: 0.5s;
}
#view_select {
    display: none;
    transition: 0.5s;
}
.view {
    margin-top:0;
    opacity:1 !important;
    display: block;
    transition: 0.5s;
}

@media only screen and (max-width:1400px) {
    .bx-reservation {
        max-width:90%;
        padding:8% 4%;
    }
}

/* レンタル衣装サブ項目 */
.resForm #cosSub {
    position: relative;
    overflow: hidden;
    /*margin-top:20px;*/
    display: block;
	padding:0 !important;
    border-radius:10px !important;
    width:100%;
}

/*----- 撮影プランをお選びください -----*/
.fx-photoplan {
	display: flex;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
	-webkit-justify-content: space-between;
			justify-content: space-between;
}
.fx-photoplan div {
	width:49%;
	margin-bottom:2%;
	padding:4% 2% !important;
	font-size:16px;
	border:1px solid #ccc;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.fx-photoplan div label {
	width: 100% !important;
	margin-bottom:8% !important;
}
.fx-photoplan div ol {
	margin:0 0 4% 20px;
	list-style: disc;
}
.fx-photoplan div:nth-child(3) ol {
	margin:0 0 4% 0 !important;
	list-style:none;
}
.fx-photoplan div ol li {
	font-size:16px;
	line-height: 180%;
}
.fx-photoplan div p {
	font-size:16px;
	margin-bottom:4% !important;
}

/*------------------------------ table ----------*/
.txt-web {
    text-align: center;
    font-weight:700;
    font-size:28px !important;
    margin:0 auto 2% auto !important;
}
.yyyy_mm {
    text-align: center;
    font-weight:700;
    font-size:20px !important;
    margin:0 auto 2% auto !important;
}
.table-reservation {
    position: relative;
    border-spacing: 1px;
    width:100% !important;
    margin:0 auto 30px auto;
}
.table-reservation caption {
    margin-bottom:30px;
    font-size:22px;
    font-weight:700;
}
.table-reservation th {
    font-weight:700 !important;
}
.table-reservation th,
.table-reservation td {
    font-size:14px !important;
}
.table-reservation td {
    padding:10px 0 10px 0;
    width:12.5%;
    line-height:120%;
    vertical-align: middle;
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.day {
	background:#5CA4C2 !important;
    line-height:130%;
    color:#fff;
}
.no_day {
    background:#ccc !important;
    line-height:130%;
    color:#fff;
}
.time {
    background:rgba(92,164,194,0.50);
    color:#fff;
}
.in_time {
    background:rgba(92,164,194,0.10);
    font-size:16px;

}
.res {
    background:#f9f9f9;
    font-weight:700;
    font-size:16px;
}

/*------------------------------ week ----------*/
.select_week {
	display: -webkit-flex;
	display: flex;
	border-bottom: 0 !important;
	-webkit-justify-content: center;
			justify-content: center;
}
.select_week p {
	padding:0 15px;
	line-height:100%;
}
.select_week p.last_week {
	border-right:1px solid #000;
}
.select_week a {
	color:#002f56;
	text-decoration: underline;
}

@media only screen and (max-width:1400px) {
    .table-reservation {
        width:100% !important;
    }
}

/*------------------------------ step list ----------*/
.list-step {
    position: relative;
    display:-webkiti-flex;
    display:flex;
    max-width:700px;
    margin:40px auto 80px auto;
    -webkiti-justify-content: space-between;
            justify-content: space-between;
}
.list-step:before {
    position: absolute;
    content:'';
    top:50%;
    left:10%;
    width:80%;
    border-bottom:10px solid #e6e6e6;
}
.list-step li {
    position: relative;
    width:150px;
}
.list-step li.step {
    width:220px;
}
.list-step li img {
    width:100%;
    height:auto;
}
.list-step li.step img {
    position: absolute;
    width:100%;
    height:auto;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
}

/*------------------------------ midashi ----------*/
.fx-res {
    margin:0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
            justify-content: space-between;
}
.fx-res div {
    width:32%;
    padding:30px !important;
    border-radius:5px;
    background:#f9f9f9;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.fx-res div p {
    margin-bottom:5px;
    font-weight:700;
    font-size:16px;
}

/*------------------------------ resForm common ----------*/
.resForm {
    max-width:1200px;
    margin:0 auto;
}
.resForm div {
	padding:20px 0;
}
.resForm dl div dt {
    position: relative;
    padding:20px 20px 20px 90px;
    margin-bottom:40px;
    /*
	background:#63b0c1;
    background:#D3AE7E;
	*/
    color:#fff;
    font-size:26px;
    font-weight:700;
    border-radius:5px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
#resForm1 dl div dt {
    background:#5CA4C2;
}
#resForm2 dl div dt {
    background:#D3AE7E;
}
.resForm div dd {
	width:100%;
    padding:0 10px;
    font-size:18px;
	display: -webkit-flex;
	display: flex;
    -webkit-flex-wrap: wrap;
	        flex-wrap: wrap;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
}
.resForm div dd input[type="text"],
.resForm div dd input[type="email"],
.resForm div dd input[type="number"],
.resForm div dd input[type="date"],
.resForm div dd input[type="tel"] {
	width:100%;
	height: 50px;
	line-height: 50px;
	padding:0 10px;
	display: inline-block;
	background:#fff;
    border:1px solid #859093;
	font-size: 16px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.resForm div dd.visit {
	display: block;
}
.resForm div dd.visit div.bx-visit {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
	-webkit-align-items:flex-start;
			align-items:flex-start;
	width:100%;
	border-bottom:1px solid #ccc;
}
.resForm div dd.visit div label {
	width:30%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
	-webkit-align-items: center;
			align-items: center;
}
.resForm div dd.visit input[type="number"],
.resForm div dd.visit select {
	width:45%;
	padding:0 10px;
	display: inline-block;
    font-size:16px;
}
.resForm div dd.telephone input[type="text"] {
	width:50%;
	padding:0 10px;
	display: inline-block;
}
.resForm div dd select {
	width:100%;
	height: 50px;
	line-height: 50px;
	padding:0 10px;
    margin-top:15px;
	background:#fff;
	font-size: 16px;
	border:1px solid #859093;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.resForm div dd label {
	display: -webkit-flex;
	display: flex;
    position: relative;
	padding:0 45px;
	line-height:150%;
    width:33%;
	font-size:16px;
	margin:1.2% 0;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.resForm div dd.phototype label {
	width:100% !important;
	font-size:14px;
}
.resForm div dd label:hover {
	cursor: pointer;
}
.resForm div dd textarea {
	display: block;
	width:100%;
	min-height: 200px;
	padding:10px;
	background:#fff;
    border:1px solid #859093;
    border-radius:5px;
	font-size: 16px;
    line-height:150%;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.resForm div dd img {
	margin:15px 0;
}
.resForm .h:before,
.resForm .n:before {
	position: absolute;
	top:20px;
	left:15px;
	margin:0;
	width:55px;
	font-size:12px;
	border-radius:3px;
	text-align: center;
}
.resForm .h:before {
	content:'必 須';
	color:#fff;
	background:#002f56;
}
.resForm .n:before {
	content:'任 意';
	color:#fff;
	background:#b2b2b2;
}
@media only screen and (max-width:1400px) {
    .resForm div dd {
        font-size:14px;
        line-height:130%;
    }
}

/*------------------------------ 年齢・性別エリア ----------*/
#container_adult,
#container_child {
	width:70% !important;
	margin:4px 0 0 0 !important;
	
}
#container_adult select,
#container_child select {
	width:42% !important;
	margin:0 1% 1% 1% !important;
}

@media only screen and (max-width:1200px) {
	.resForm div dd.visit div label {
		width:35%;
	}
	#container_adult,
	#container_child {
		width:65% !important;
	}
}

/*------------------------------ resForm radio checkbox ----------*/
.resForm  input[type="radio"],
.resForm  input[type="checkbox"] {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    top:-3px !important;
    height: 30px;
    width: 30px;
    vertical-align: -100%;
    transition:all .15s ease-out 0s;
    cursor: pointer;
    display: inline-block;
    margin: 0 10px 0 0;
    outline: none;
    border-radius: 10%;
	opacity:1 !important;
	-webkit-appearance: none;
    		appearance: none;
}
.resForm  input[type="radio"] {
    border-radius: 50%;
}
.resForm  input[type="radio"]:checked:before,
.resForm  input[type="checkbox"]:checked:before {
    transform: scale(0.5);
}
.resForm input[type="radio"]:before {
    content: '';
	margin:-4px 0 0 -4px;
    width: 32px;
    height: 32px;
	display: block;
    border-radius: 50%;
    transform: scale(0);
    -webkit-transition: 0.2s;
			transition: 0.2s;
}
.resForm input[type="checkbox"]:before {
    content: '';
	margin:-4px 0 0 -4px;
    width: 32px;
    height: 32px;
	display: block;
    transform: scale(0);
    -webkit-transition: 0.2s;
			transition: 0.2s;
}
.resForm input[type="radio"],
.resForm input[type="checkbox"] {
    border: 3px solid #999;
	background:#fff;
}
.resForm input[type="radio"]:checked:before,
.resForm input[type="checkbox"]:checked:before {
    background: #555;
}

/*------------------------------  ----------*/
.area-confirm {
    padding-top:0 !important;
}

/*-----------------------------------------------------------------------------------------
    2nd - studio
-----------------------------------------------------------------------------------------*/

#studio_plan {
    background:url("img/parts/bg/studio.jpg") 50% 0 no-repeat fixed;
    background-size:1920px auto;
}

/*------------------------------ photo studio ----------*/
#studio {
    background:#fff;
}
.fx-studio {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
			align-items: flex-start;
	-webkit-justify-content: space-between;
			justify-content: space-between;
	margin:0 auto;
	width:80%;
}
.fx-studio img {
	width:45%;
	height:auto;
}
.fx-studio div {
	width:50%;
}
.fx-studio p {
	font-size:18px;
	text-align:left;
	line-height:180%;
	margin-bottom:20px;
}

/*------------------------------ photo kind ----------*/
#photograph {}
#photograph p {
    text-align:left;
    font-size:18px;
    line-height: 200%;
	margin:0 auto 100px auto;
	padding:0 20px;
    width:80%;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.list-photograph {
    margin:0 auto;
    width:80%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
}
.list-photograph li {
    position: relative;
    overflow: hidden;
    width:24%;
    margin:0 0.75% 0.75% 0;
}
.list-photograph li span {
    position: absolute;
    right:0;
    bottom:0;
    display: block;
    background:rgba(255,255,255,0.70);
    line-height:50px;
    text-align: center;
    color:#30484C;
    letter-spacing:1px;
    font-size:14px;
    font-style: italic;
    font-weight:700;
	min-width:100%;
	padding:0 20px;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.list-photograph li img {
    width:100%;
    height:auto;
}
.list-photograph li:nth-child(4n) {
	margin-right:0;
}
@media only screen and (max-width:1200px) {
    #photograph p {
        font-size:16px;
    }
    .list-photograph {
        margin:0 auto;
        width:99%;
    }
    .list-photograph li span {
        font-size:14px;
    }
}

/*------------------------------ photo plan ----------*/
#photoplan {
    background:#fff;
}
#photoplan img {
    max-width:1200px;
    height:auto;
}
.list-plan {
    margin:0 auto;
    width:80%;
    display: -webkit-flex;
    display: flex;
    -webkit-transition: 0.5s;
            transition: 0.5s;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
            justify-content: space-between;
}
.list-plan li {
    position: relative;
    width:50%;
    background:#fff;
    padding-bottom:14%;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
.list-plan li:nth-child(2n-1):after {
    position:absolute;
    content:'';
    top:0;
    right:0;
    border-left:1px solid #eee;
    height: 100%;
}
.list-plan li img {
    width:100%;
    height: auto;
}
.list-plan li dl {
    margin:5%;
}
.list-plan li p.more-btn {
	position: absolute;
	left:25%;
	bottom:5%;
    width:50% !important;
    line-height:60px !important;
}
.list-plan li p.more-btn a {
    font-size:16px !important;
}
.list-plan li dl div dt {
    font-size: 26px;
    font-weight:700;
    color:#22373A;
    margin-bottom:30px;
	letter-spacing: 1px;
}
.list-plan li dl div dd strong {
    display: block;
    font-weight:700;
}
.list-plan li dl div dd {
    font-size: 17px;
    line-height: 180%;
}
.list-plan li dl div dd.b-ex {
    color:#999;
    font-size:15px;
    min-height:120px;
    margin:30px 0 0 0;
}
.list-plan li dl div dd.b-ex span {
    position: relative;
    padding-left:20px;
    margin-right: 40px;
    display: inline-block;
}
.list-plan li dl div dd.b-ex span:before {
    position: absolute;
    content:'';
    top:13px;
    left:2px;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#909090;
}
.list-plan li dl div dt.option:after {
    content: '';
    display: inline-block;
    width: 100px;
    height: 27px;
    background:url("img/parts/ic_option.svg") 0 4px no-repeat;
    background-size: 100px auto;
    margin-left:30px;
}

/*---------- other ----------*/
.li_other li:nth-last-child(-n+3) {
    width:33.33333333%;
    padding-bottom:40px;
}
.li_other li:nth-last-child(-n+3) dl div dt {
    font-size:24px;
    margin-bottom:25px;
}
.li_other li:nth-last-child(-n+3) dl div dd {
    font-size:15px;

}
.li_other li:nth-last-child(-n+3) dl div dd.b-ex {
    font-size:14px;
    min-height:auto;
    margin:30px 0 0 0;
}
.li_other li:nth-last-child(-n+3) dl div dd.b-ex span {
    padding-left:20px;
    margin-right: 20px !important;
}
.li_other li:nth-last-child(-n+3) dl div dd.b-ex span:before {
    top:9px;
    left:4px;
    width:7px;
    height:7px;
}
.li_other li:nth-last-child(-n+3):after {
    position:absolute;
    content:'';
    top:0;
    right:0;
    border-left:1px solid #eee;
    height: 100%;
}

@media only screen and (max-width:1500px) {
	/*----- photograph -----*/
	.list-photograph {
		width:90%;
	}
	.list-photograph li span {
		line-height:50px;
		letter-spacing:1px;
		font-size:14px;
		padding:0 10px;
	}
	.list-plan {
		width:90%;
	}
}
@media only screen and (max-width:1200px) {
	/*----- studio -----*/
	.fx-studio {
		width:80%;
		display: block;
	}
	.fx-studio img {
		width:100%;
		height:auto;
		margin-bottom:30px;
	}
	.fx-studio div {
		width:100%;
	}
	.fx-studio p {
		font-size:16px;
	}
	
	/*----- photograph -----*/
	.list-photograph {
		width:95%;
		margin:0 auto;
	}
	.list-photograph li {
		width:32.5%;
		margin:0 1% 1% 0;
	}
	.list-photograph li span {
		font-size:14px;
	}

	.list-photograph li:nth-child(4n) {
		margin-right:1%;
	}
	.list-photograph li:nth-child(3n) {
		margin-right:0;
	}

	/*----- Plan -----*/
    .list-plan {
        width:95%;
    }
    .list-plan li dl {
        margin:6% 4% 4% 4%;
    }
	.list-plan li p.more-btn {
		position: absolute;
		left:15%;
		bottom:5%;
		width:70% !important;
	}
    .list-plan li p.more-btn a {
        font-size:16px !important;
    }
    .list-plan li dl div dt {
        font-size: 24px;
        margin-bottom:20px;
    }
    .list-plan li dl div dd {
        font-size: 16px;
    }
    .list-plan li dl div dd.b-ex {
        color:#909090;
        font-size:15px;
        min-height:100px;
        margin:0;
    }
    .list-plan li dl div dd.b-ex span:before {
        position: absolute;
        content:'';
        top:13px;
        left:2px;
        width:10px;
        height:10px;
        border-radius:50%;
        background:#909090;
    }
    .list-plan li dl div dt.option:after {
        width: 90px;
        height: 30px;
        background:url("img/parts/ic_option.svg") 0 10px no-repeat;
        background-size: 90px auto;
        margin-left:20px;
    }
}

/*-----------------------------------------------------------------------------------------
	2nd page - Costume
-----------------------------------------------------------------------------------------*/
#costume {
    background:url("img/parts/bg/costume.jpg") 0 0 no-repeat fixed;
    background-size:1920px auto;
    text-align: center;
}
ul.list-catalog {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    margin:0 auto;
    max-width: 80%
}
ul.list-catalog li {
    position: relative;
    width:23%;
    border:10px solid #fff;
    border-radius: 10px;
    margin:0 0 1% 0;
}
ul.list-catalog:after {
  content:"";
  display: block;
  width:23%;
}
ul.list-catalog li img {
    width:100%;
    height: auto;
}

@media only screen and (max-width:1200px) {
	.list-gallery li {
		width:32.5%;
		margin:0 1% 1% 0;
	}
	.list-gallery li:nth-child(3n) {
		margin-right:0;
	}
	.list-gallery li:nth-child(4n) {
		margin-right:1%;
	}
}

/*-----------------------------------------------------------------------------------------
	2nd page - Photo-gallery
-----------------------------------------------------------------------------------------*/

#photo-gallery {
    background:url("img/parts/bg/photogallery.jpg") 50% -40px no-repeat fixed;
    background-size:1920px auto;
    text-align: center;
}
.grid {
    width:90% !important;
    margin:0 auto;
}
.grid-item {
    margin:5px;
	width:32%;
	max-width:405px;
}
.grid-item img {
    width:100%;
	height:auto;
}

/*-----------------------------------------------------------------------------------------
	2nd page - privacy
-----------------------------------------------------------------------------------------*/
#privacy-policy {
    background-color:none;
    padding-top:90px;
}
#privacy {
    max-width:900px;
    margin:0 auto;
    padding:0;
    text-align: left;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
#privacy h2 {
    font-size:18px;
    text-align:left;
    margin-bottom:20px;
    color:#AB8D67;
    border-left:5px solid #AB8D67;
    padding-left:15px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
#privacy p {
    font-size:16px;
    margin:0 0 20px 20px;
    line-height:200%;
}
#privacy ul {
    margin:0 0 20px 43px;
}
#privacy ul li {
    list-style: disc;
}

/*-----------------------------------------------------------------------------------------
	SP
-----------------------------------------------------------------------------------------*/
@media only screen and (max-width:800px) {
    a {}
    a:focus {}
    a:active {}
    a:hover { opacity:1; }
    a:visit {}
    a {
        -webkit-transition: unset;;
                transition: unset;;
    }
    address {}
    b,strong {}
    em,i,b {}
    p {	margin-bottom: 4%;}
    ul,ol {}
    img {}
    table {}
    input[type="text"], 
    input[type="button"], 
    input[type="submit"], 
    textarea {}

    /*-----------------------------------------------------------------------------------------
        body
    -----------------------------------------------------------------------------------------*/
    body {}
    html {}
    html, body {
        min-width:100%;
    }
    main {}
    .dr_on {}
    .dr_off {}
    .over_hide {}

    /*------------------------------ scroll_up ----------*/
    .f-in {}
    .f-in.is-show {}

    /*-----------------------------------------------------------------------------------------
        header
    -----------------------------------------------------------------------------------------*/
    header {
        position:fixed;
        top:0 !important;
        left:0;
        min-width: 100%;
        padding:2% 2%;
        height:60px;
        background:rgba(255,255,255,1);
    }
    header #logo {
        width:115px;
        top:0;
        
    }
    header #logo img {}
    #header {}
    header.show {}
    header.hide {
        transform: translateY(0) !important;
    }
    header:hover {}

    /*------------------------------ Grobal Nav ----------*/
    #gnav ul {
        display: none !important;
    }
    #gnav ul li {}
    #gnav ul li:before {}
    #gnav ul li a,
    #gnav ul li div {}
    #gnav ul li:nth-last-child(-n+2):before,
    #gnav ul li ul li:before {}

    /*------------------------------ subMenu ----------*/
    #gnav ul li ul {}
    #gnav ul li ul li {}
    #gnav ul li:first-child ul {}
    #gnav ul li:first-child ul li {}
    #gnav ul li:hover ul li a {}
    #gnav ul li ul li a {}
    #gnav ul li ul li:hover a {}
    #gnav ul li ul li a:after {}
    #gnav ul li ul li:hover a:after {}
    #gnav ul li:hover ul li {}
    .head_view {}

    #gnav .ic {
        position: absolute;
        top:25%;
        right:130px;
        display: block !important;
        margin:0;
        z-index:1;
    }
    #gnav .ic img {}
    #gnav .ic ul {
        position: absolute;
        left:-130%;
        display: block !important;
    }

    /*------------------------------ bugger ----------*/
    #panel-btn {
        top:5px;
        right:5px;
        width:60px;
        max-width:60px;
        min-width:60px;
        height:60px;
    }
    #panel-btn:after {
        font-size:8px;
        bottom:1%;
        margin-left:-13px;
    }
    #panel-btn-icon {
        width: 28px;
        margin-left:-15px;
    }
    #panel-btn-icon:before {
        width: 28px;
        margin-top: -9px;
    }
    #panel-btn-icon:after {
        width: 13px;
        margin-top: 7px;
    }
    #panel-btn .close:before,
    #panel-btn .close:after {
        width:28px;
    }
    #panel-btn .close:before{}
    #panel-btn .close:after{}

    /*------------------------------ Menu Box ----------*/
    .bx-menu {}
    .bx-menu:before {}
    .bx-menu ul {
        margin:20% auto 0 auto;
        width:92%;
        height:70%;
    }
    .bx-menu ul li {
        font-size:16px;
    }
    .bx-menu ul li a {}
    .bx-menu ul li ul {}
    .bx-menu ul li ul li {
		width:48%;
		margin-bottom:2%;
        font-size:14px !important;
        padding-left:25px;
    }
	.bx-menu ul li ul li:before {
		top:10px;
	}
    .bx-menu ul li.ic {
        margin-top:3%;
    }

    /*-----------------------------------------------------------------------------------------
        box contact
    -----------------------------------------------------------------------------------------*/
    .bx-contact {
        padding:12% 0 8% 0;
    }
    .bx-contact .fx {
        max-width:90%;
        padding:8% 2%;
        text-align: center;
        margin:10% auto 0 auto;
        display:block;
        border-top:1px solid #ccc;
    }
    .bx-contact .fx p {
        font-size: 16px;
        font-weight: normal;
        margin:0;
    }
    .bx-contact .fx div {
        border-left:none;
        padding-left:0;
    }
    .bx-contact .fx div p {
        font-size:15px;
        padding-left:0;
    }
    .bx-contact .fx div p.tel {
        font-size: 40px !important;
        padding-left:8%;
        background:url("img/parts/ic_tel.svg") 20px 53% no-repeat;
        background-size:33px auto;
    }

    /*-----------------------------------------------------------------------------------------
        footer
    -----------------------------------------------------------------------------------------*/
	footer {
		padding-bottom:70px;
	}
    #footer {
        padding:8% 2% 8% 2%;
        display:block;
		text-align: center;
    }
    #footer p.logo-f {
        width:30%;
        margin: 0 auto 8% auto;
    }
    #footer p.logo-f img {}
    #footer div {
        width:100%;
        margin:0;
    }
    #footer dl div {
        width:100% !important;
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content: center;
				justify-content: center;
		text-align: center;
    }
    #footer dl div dt {}
    #footer dl div dd {
        white-space: nowrap !important;
    }
    footer small {
        font-size:12px;
        line-height:50px;
    }
    
    /*------------------------------ pageUp ----------*/
	#pageUp {
        display: none !important;
        /*
		position: fixed;
		right:20px;
		bottom:90px;
		width:45px;
		height:45px;
		z-index: 10;
        border:2px solid #fff;
        */
	}
    /*
	#pageUp:after {
		position: absolute;
		content:'';
		top:17px;
		left:14px;
		width:10px;
		height:10px;
		border-top:2px solid #fff;
		border-right:2px solid #fff;
		-webkit-transform: rotate(-45deg);
				transform: rotate(-45deg);
	}
    */
	#pageUp:hover {}
	
	/*------------------------------ フッター固定ボタン ----------*/
    #fBtn {
		display: block;
		position: fixed;
		left:0;
		bottom:-2px;
		z-index: 500;
	}
	#fBtn ul {
		position: fixed;
		left:0;
		bottom:0;
		display: -webkit-flex;
    	display: flex;
		width: 100%;
	}
	#fBtn ul li {
		width: 50%;
		-webkit-box-sizing: border-box;
				box-sizing: border-box;
		text-align: center;
		color:#fff;
		font-weight:normal;
		font-size:14px;
		border-right: 1px solid rgba(255,255,255,0.05);
	}
	#fBtn ul li:first-child {
		border-right:none;
		background:url("img/parts/ic_mail.svg") 50% 13px no-repeat #111;
		background-size:20px auto;
	}
	#fBtn ul li:last-child {
		border-right:none;
		background:url("img/parts/ic_reservation.svg") 50% 13px no-repeat #111;
		background-size:20px auto;
	}
	#fBtn ul li a {
		display: block;
		padding:37px 0 8px 0;
		color:#fff;
	}

    /*----------------------------------------------------------------------
        top page
     ---------------------------------------------------------------------*/
    /*------------------------------ slider ----------*/
    #slider {
        margin-top:60px;
        width: 100%;
        /*height: 90vh;*/
    }
    .swiper-slide {}
    .swiper-slide img {
        width: 100%;
        height: auto;
    }
	
	/*------------------------------ news ----------*/
	.list-posts {
		max-width:90%;
		-webkit-justify-content: space-between;
				justify-content: space-between;
	}
	.list-posts li {
		width:48%;
		margin:0 0 2% 0;
	}
	.list-posts li img {}
	.list-posts li span {
		font-size:14px;
		padding:4% 2%;
	}

    /*------------------------------ top box ----------*/
    #wrapper-tp {}
    #wrapper-tp section {
        padding:10% 0;
    }
	#wrapper-tp h1 {
		margin-bottom:8%;
	}

    /*------------------------------ concept ----------*/
	#concept {
		padding: 8% 0 !important;
	}
	#concept h1 {
		width:60%;
	}
	.message {
		max-width:85% !important;
		width:85% !important;
		margin:12% auto 0 auto;
	}
	.message p {
        margin:0 auto !important;
        width:95%;
        line-height:200%;
        font-size:16px !important;
        text-align: left;
	}
    .message p br {
        display: none !important;
    }

    /*------------------------------ service ----------*/
    #service {}
    #service p.ctr {
        font-size:16px;
    }
    .bx-service {
        display:block;
        width:90% !important;
        margin:0 auto;
    }
    .bx-service:after {
        display: none;
    }
    .sv {
        position: relative;
        width:100%;
        margin-bottom:5%;
    }

    .sv img {}
    .sv dl {
        width:90%;
        margin:5%;
    }
    .sv dl div dt {
		position: relative;
        font-size:17px;
        margin-bottom:4%;
    }
	.sv dl div dt:after {
		position: absolute;
		content:'';
		width:25px;
		height:25px;
		top:0;
		right:2%;
		background:url("img/parts/ic_arrow_beige.svg") 0 0 no-repeat;
		background-size:25px auto;
	}
	.sv dl div dd {
		font-size:14px;
	    min-height:auto !important;
		margin-bottom:10%;
	}

    /*------------------------------ gallery ----------*/
    #gallery {}

    /*---------- gallery slider ----------*/
    .swiper-gallery {}
    .swiper-gallery .swiper-slide {}
    .swiper-gallery .swiper-slide span {
        font-size:12px;
        line-height:150%;
		padding:3% 0;
    }
    .swiper-gallery img {
        width:100%;
        height: auto;
        margin-left:0 !important;
    }

	/*------------------------------ store information & reservisiton ----------*/
	.fx-info {
		display:block;
	}
	.fx-info section {
		width:100% !important;
		padding:50% 5% 10% 5%;
	}
	.fx-info section:first-child {
		border:none;
	}
	.fx-info section:last-child {
		border:none;
	}
	.fx-info .bx-in-res {
		position: relative;
		width:100%;
		padding:8% 4%;
		margin:0;
		box-shadow: 10px 10px 0 rgba(0,0,0,0.20);
	}
	.fx-info .bx-in-res p {
		font-size:16px;
		line-height:180%;
	}
	.fx-info .bx-in-res p.ttl-res {
		font-size:24px;
		color:#000;
		margin-bottom:6%;
	}

	/*------------------------------ store ----------*/
	.bx-info {
		padding:0;
	}
	.bx-info:after {}

	/*------------------------------ reservation ----------*/
	.bx-res {
		padding:0;
	}
	.bx-res:after {}

	/*------------------------------ more btn ----------*/
	.more-info {
		width:80%;
	}
	.more-info a {
		font-size:16px;
		line-height:50px;
	}
	.more-info a:after {
		width:25px;
	}
	.more-info a:hover:after {
		right:8%;
		opacity: 1 !important;
	}

    /*-----------------------------------------------------------------------------------------
        2nd - basic
    -----------------------------------------------------------------------------------------*/

    article {
        margin-top:60px;
        padding-top:220px;
        min-width:100%;
    }
    #wrapper {
        width:100%;
        min-width:100%;
    }
    section {}
    section h1 {
        font-size:26px;
        margin-bottom:6%;
    }
    section h1 span {
        font-size:18px;
        margin-top:3%;
    }
    section h1 span div {}

    section h2 {
        font-size:20px;
        margin-bottom:6%;
    }
    section p {
        font-size:16px;
        margin-bottom:8%;
    }
    .ttlm {
        font-size:14px;
        font-weight:normal;
        margin:0 auto;
        line-height: 200%;
        text-align: center;
        width:90%;
    }
    .inner {
        padding:10% 0;
    }

    /*------------------------------ more btn ----------*/
    .more-btn {
        width:70%;
        line-height:50px;
    }
    .more-btn a {
        font-size:14px;
    }
    .more-btn a:after {
        position:absolute;
        content:'';
        top:50%;
        right:8%;
        width:25px;
        height:12px;
        margin-top:-6px;

        -webkit-transition:unset;
                transition:unset;
    }
    .more-btn a:hover:after {
        right:8%;
    }

    /*---------- more reservation ------------------------------*/
    .more-res {
        position: relative;
        margin:10% 0 0 0 !important;
        width:100%;
        text-align: left;
        line-height:50px !important;
        border-radius:50px;
    }
    .more-res a {
        font-size:16px;
        padding-left:10%;
    }
    .more-res a:after {
        position:absolute;
        content:'';
        top:50%;
        right:10%;
        width:20px;
        height:20px;
        margin-top:-10px;
        -webkit-transition: unset;
                transition: unset;
    }

    /*------------------------------ more reservation ----------*/
    .more-sv {
        position:absolute;
        top:0;
        left:0;
        margin:0 !important;
        width:100%;
        line-height:auto;
        border-radius:0;
        background:none;
        box-shadow:none;
        height: 100%;
    }
    .more-sv a {
        display: block ;
        position: absolute;
        overflow:hidden;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        text-indent:100%;
        white-space:nowrap;
        background/*\**/: #fff\9;
        filter:alpha(opacity=0);
    }
    .more-sv a:after {
        display: none !important;
    }
    .more-sv a:hover:after {
        display: none !important;
    }

    /*-----------------------------------------------------------------------------------------
        2nd - Faq
    -----------------------------------------------------------------------------------------*/

    #faq {
        background:url("img/parts/bg/faq_sp.jpg") 50% 0 no-repeat;
        background-size:100% auto;
	}
    #faq section {}

    /*------------------------------ faq category ---------*/
    .ttl-cat {
        font-size:16px;
    }
    .list-category {
        max-width:95%;
        margin:5% auto 10% auto;
        padding:0 3%;
    }
    .list-category li {
        width:100%;
        margin:0 0 4% 0;
        background-size:20px auto !important;
        -webkit-transition: unset;
                transition: unset;
    }
    .list-category li a {
        line-height:60px !important;
        font-size:14px;
        text-align: left;
        padding-left:5%;
    }
    .list-category li.set {
        background-size:20px auto !important;
    }
    .list-category li:hover {
        background-size:20px auto !important;
    }
    .list-category li:hover a {
        color:#fff;
    }

    /*------------------------------ faq list ---------*/
    .bx-faq {
        padding:15% 0;
    }
	.list-faq {
		margin:0 auto;
		max-width:100%;
	}
	.list-faq div {
		position: relative;
		margin-bottom:4%;
		background:#fff;
		text-align:left;
		border:2px solid #D3C9C2;
		-webkit-box-sizing:border-box;
				box-sizing:border-box;
	}
	.list-faq div dt {
		padding: 30px 70px 25px 55px;
		font-size:16px;
		background:url("img/parts/ic_faq_q.svg") 10px 50% no-repeat;
		background-size:30px auto;
	}
	.list-faq div dt:before {
		top:50%;
		margin-top:0;
	}
	.list-faq div dt:after {
		right:29px;
		top:50%;
		margin-top:-8px;
	}
	.list-faq div dt:hover {
		opacity: 1;
	}
	.list-faq div dd {
	padding: 30px 20px 40px 48px;
	margin:0 10px;
	font-size:16px;
	background:url("img/parts/ic_faq_a.svg") 7px 35px no-repeat;
    background-size:20px auto;
	}
	
	/*------------------------------ photo gallery category ---------*/
	.bx-gallery {
		padding:10% 0;
		margin-bottom:8%;
	}
	.list-gallery {
		max-width:90%;
		margin:0 auto 10% auto;
		padding:0 0 8% 0;
	}
	.list-gallery li {
		width:49.5%;
		margin:0 1% 1% 0;
	}

	.list-gallery li:nth-child(3n) {
		margin-right:1% !important;
	}
	.list-gallery li:nth-child(2n) {
		margin-right:0 !important;
	}
	.list-gallery li img {
		-webkit-transition: 0;
				transition: 0;
	}
	.list-gallery li:hover img {
		-webkit-transform: scale(1);
				transform: scale(1);
		opacity: 1;
	}
	.list-gallery li span {
		font-size:12px;
		padding:2% 1%;
	}
	.list-gallery li a {}

    /*-----------------------------------------------------------------------------------------
        2nd - Store
    -----------------------------------------------------------------------------------------*/

    /*------------------------------ information ----------*/
	#information {
		background:url("img/parts/bg/information_sp.jpg") 50% 0 no-repeat;
		background-size:100% auto;
    }
    #staff .inner {}
	.bx-staff {
		position: relative;
		display: block;
		overflow: hidden;
		padding:10% 0;
		margin-bottom:5%;
	}
	.staff-voice {
		max-width:100%;
		margin:0;
	}
	.staff-voice p {
		width:90%;
		margin:0 auto 5% auto;
	}
	.staff-voice img {
		position:relative;
		top:auto;
		right:auto;
		width:90%;
		height: auto;
		margin:0 auto 5% auto;
		display: block;
	}
	.staff-voice h3 {
		font-size:18px;
		width:90%;
		margin:0 auto 2% auto;
	}
	.list-staff {
		position: relative;
		display: block;
		overflow: hidden;
		width:90%;
		margin:0 auto;
	}
	.list-staff div {
		padding:0.5% 0;
		font-size:16px;
	}
	.list-staff div dt {}

    /*------------------------------ map ----------*/
    #map {}
    #map iframe {
        width:100%;
        height:450px;
    }

    /*-----------------------------------------------------------------------------------------
        2nd - Inquiry
        2nd - Reservation
    -----------------------------------------------------------------------------------------*/

    #inquiry {
        background:none;
		padding-top:0 !important;
    }
    #inquiry .tx-c {
        text-align:left;
        margin:0 auto 6% auto;
        line-height:200%;
        width:90%;
        font-size:16px;
    }
    #inquiry .tx-c span {
        display: inline;
    }

    /*------------------------------ form text ----------*/
    .bx-form {
        background:#fff;
        margin:0 auto;
        padding:0 4%;
        -webkit-box-sizing:border-box;
                box-sizing:border-box;
    }
    .mailForm {
        max-width:100%;
        margin:0;
    }
    .mailForm .tx-form {
        font-size:16px;
    }
    .mailForm p {
        font-size:14px;
    }
    .mailForm p a {}

    /*------------------------------ Form common ----------*/
    .attention {}
    .attention:before {}

    .contactForm div {
        padding:2% 0;
        display: block;
        border-bottom:0 !important;
    }
    .contactForm div dt {
        padding:4% 0 4% 70px;
        width:100%;
    }
    .contactForm div dd {
        width:100%;
    }
    .contactForm div dt,
    .contactForm div dd {}
    .contactForm div dd input[type="text"],
    .contactForm div dd input[type="email"],
    .contactForm div dd input[type="date"],
    .contactForm div dd input[type="tel"] {
        padding:0 2%;
        display: inline-block;
        border:1px solid #A3AFB3;
    }
    .contactForm div dd input[type="text"].zip {
        width:50%;
        padding:0 2%;
        margin-bottom:3%;
    }
    
    .contactForm div dd select {
        width:50%;
        height: 50px;
        line-height: 50px;
        padding:0 2%;
    }
    .contactFormm div dd label {
        line-height:40px;
    }
    .contactForm div dd label:hover {}
    .contactForm div dd textarea {
        padding:2%;
        border:1px solid #A3AFB3;
        border-radius:5px;
    }
    .contactForm div dd img {
        margin:3% 0;
    }
    .wpcf7-captchar {
        width:40% !important;
    }
    .h:before {
        top:19px;
    }
    .n:before {
        top:19px;
    }
    .error {
        margin:2% 0 0 0;
    }
    .bx-send {
        padding:4% 0 !important;
    }
    .bx-send input[type="submit"] {
        width:80%;
        height:50px;
        line-height:50px;
        margin:6% auto 0 auto;
    }
    .bx-send input[type="submit"]:hover {
        background:#999;
    }
    .bx-send p {}
    .error-entry {
        padding:4%;
        margin:0 auto 10% auto;
        width:90%;
        font-size:14px !important;
    }
    .wpcf7-list-item {}
    .wpcf7-response-output {
        padding:4% 2% !important;
    }

    /*------------------------------ privacy policy ----------*/
    #bx-privacy {
        border:2px solid #ccc !important;
        padding:2%;
        margin:10% auto 8% auto;
    }
    #bx-privacy h2 {
        font-size:16px;
        margin:5% 0;
    }
    #bx-privacy h3 {
    }
    #bx-privacy p {
        margin-bottom:4%;
    }
    #bx-privacy ul {
        margin-bottom:4%;
    }
    #bx-privacy ul li {}
    #bx-privacy div {
        height: 250px;
    }

    /*------------------------------ agree ----------*/
    #agree {
        width:90%;
        margin: 0 auto 8% auto;
        font-size:18px;
    }
    #agree input[type="checkbox"],
    #agree input[type="radio"] {
        border:1px solid #A3AFB3;
        margin-right:6%;
    }
    .screen-reader-response ul li {
        margin:2% 0 !important;
        font-size:12px !important;
    }

    /*-----------------------------------------------------------------------------------------
        2nd - Reservation only
    -----------------------------------------------------------------------------------------*/
    #reservation {
        background:none;
		padding-top:0;
    }
    .bx-reservation {
        border-radius: 10px;
        padding:8% 5%;
        margin:0 auto 8% auto;
        max-width:95%;
        -webkit-transition:unset;
                transition:unset;
    }
    .bx-reservation h2 {
        text-align: center;
        font-size: 18px !important;
        margin-bottom:5%;
    }
    .bx-reservation p {
        font-size:14px !important;
        margin-bottom:5%;
    }
    .bx-reservation ul {
        margin-left:20px;
    }
    .bx-reservation ul li {
        margin-bottom:0.5%;
        line-height:150%;
        font-size:14px !important;
    }
    .bx-reservation ul li a {}

	.resForm #wrap-cos_yes,
	.resForm #wrap-cos_no,
	.resForm #wrap-hairmake,
	.resForm #wrap-location {
		padding:4%;
		margin-top:4%;
	}
	.resForm #wrap-cos_yes p,
	.resForm #wrap-cos_no p,
	.resForm #wrap-hairmake p,
	.resForm #wrap-location p {
		font-size:16px;
	}
	.resForm div dd #wrap-cos_yes div,
	.resForm div dd #wrap-cos_no div,
	.resForm div dd #wrap-hairmake div,
	.resForm div dd #wrap-location div {
		width:100%;
		padding:0;
	}
	.resForm div dd #wrap-cos_yes div div.bx-check,
	.resForm div dd #wrap-cos_no div div.bx-check,
	.resForm div dd #wrap-hairmake div div.bx-check,
	.resForm div dd #wrap-location div div.bx-check {
		display: block;
		overflow: hidden;
		border-bottom:1px solid #aaa;
		padding:3% 0 !important;
	}
	.resForm div dd #wrap-cos_yes div div.bx-check:last-child,
	.resForm div dd #wrap-cos_no div div.bx-check:last-child,
	.resForm div dd #wrap-hairmake div div.bx-check:last-child,
	.resForm div dd #wrap-location div div.bx-check:last-child {
		border-bottom:none;
	}
	.resForm div dd #wrap-cos_yes div label,
	.resForm div dd #wrap-cos_no div label,
	.resForm div dd #wrap-hairmake div label,
	.resForm div dd #wrap-location div label {
		width:100% !important;
		display: block;
		float:none !important;
		line-height: 150% !important;
	}
	.resForm div dd p.remarks {
		position: relative;
		clear:both;
		overflow: hidden;
		margin:1% 0 0 0;
		font-size:14px !important;
	}
	#formOverView {
		margin-top:4%;
		transition: 0;
	}
    #formOverView {
        margin-top:4%;
    }
    #view_select {}
    .view {}
	
	
	/*----- 撮影プランをお選びください -----*/
	.fx-photoplan {
		display:block;
	}
	.fx-photoplan div {
		width:100%;
		margin-bottom:5%;
		padding:4% !important;
	}
	.fx-photoplan div label {}
	.fx-photoplan div ol {
		margin:0 0 4% 20px;
		list-style: disc;
	}
	.fx-photoplan div:nth-child(3) ol {}
	.fx-photoplan div ol li {}
	.fx-photoplan div p {}

    /*------------------------------ table ----------*/
    .txt-web {
        font-size:26px !important;
    }
    .yyyy_mm {
        font-size:20px !important;
    }
    .table-reservation {
        border-spacing: 2px;
        width:100% !important;
        margin:0;
    }
    .table-reservation caption {
        margin-bottom:5%;
        font-size:18px;
    }
    .table-reservation th,
    .table-reservation td {
        padding:1% 0;
        width:12.5%;
        font-size:12px !important;
        line-height:150% !important;
    }
    .day {}
    .time {}
    .in_time {}
    .res {}

    /*------------------------------ week ----------*/
    .select_week {}
    .select_week p {
        padding:0 4%;
    }
    .select_week p.last_week {}
    .select_week a {}

    /*------------------------------ step list ----------*/
    .list-step {
        max-width:100%;
        margin:8% auto;
    }
    .list-step:before {
        border-bottom:5px solid #e6e6e6;
    }
    .list-step li {
        position: relative;
        width:70px;
    }
    .list-step li.step {
        width:140px;
    }
    .list-step li img {}
    .list-step li.step img {}

    /*------------------------------ midashi ----------*/
    .fx-res {
        display: block;
    }
    .fx-res div {
        width:100%;
        padding:6% !important;
        margin-bottom:4%;
    }
    .fx-res div p {
        margin-bottom:0.5%;
        font-size:16px;
    }

    /*------------------------------ resForm common ----------*/
    .resForm {
        max-width:100%;
        margin:0;
    }
    .resForm div {
        padding:4% 0;
    }
    .resForm div dt {
        padding:4% 4% 4% 90px;
        margin-bottom:4%;
        font-size:15px !important;
        border-radius:3px;
    }
    .resForm div dd {
        width:100%;
        padding:0;
        font-size:15px !important;
        display:block;
    }
    .resForm div dd input[type="text"],
    .resForm div dd input[type="email"],
    .resForm div dd input[type="date"],
    .resForm div dd input[type="tel"] {
        width:100%;
        height: 60px;
        line-height: 60px;
        padding:0 2%;
    }
	.resForm div dd.visit {}
	.resForm div dd.visit div.bx-visit {
		display:block;
	}
	.resForm div dd.visit div label {
		width:100%;
		display:block;
		padding-left:2% !important;
	}
	.resForm div dd.visit input[type="number"] {
		width:30%;
		padding:0 10px;
		display: inline-block;
		font-size:16px;
		text-align: center;
	}
    .resForm div dd.visit input[type="text"],
    .resForm div dd.telephone input[type="text"] {
        width:50%;
        padding:0 2%;
    }
    .resForm div dd select {
        width:100%;
        height: 45px;
        line-height: 45px;
        padding:0 2%;
        margin-top:4%;
    }
    .resForm div dd label {
        width:100%;
		padding:3% 2% 3% 40px;
    }
    .resForm div dd label:hover {}
    .resForm div dd textarea {
        width:100%;
        padding:2%;
        border-radius:3px;
    }
    .resForm div dd img {
        margin:3% 0;
    }
    .resForm .h:before,
    .resForm .n:before {
        position: absolute;
        top:19px !important;
        left:15px;
        margin:0;
        width:55px;
        font-size:12px;
        border-radius:3px;
        text-align: center;
    }
    .resForm .h:before {}
    .resForm .n:before {}
	
	/*------------------------------ 年齢・性別エリア ----------*/
	#container_adult,
	#container_child {
		width:100% !important;
		margin:0 !important;

	}
	#container_adult select,
	#container_child select {
		width:40% !important;
		margin:0 1% 2% 1% !important;
	}

    /*------------------------------ resForm radio checkbox ----------*/
    .resForm  input[type="radio"],
    .resForm  input[type="checkbox"] {
		top:8px !important;
	}
    .resForm  input[type="radio"] {
        border-radius: 50%;
    }
    .resForm  input[type="radio"]:checked:before,
    .resForm  input[type="checkbox"]:checked:before {
        transform: scale(0.5);
    }
    .resForm input[type="radio"]:before {
        content: '';
        margin:-4px 0 0 -4px;
        width: 32px;
        height: 32px;
        display: block;
        border-radius: 50%;
        transform: scale(0);
        -webkit-transition: 0.2s;
                transition: 0.2s;
    }
    .resForm input[type="checkbox"]:before {
        content: '';
        margin:-4px 0 0 -4px;
        width: 32px;
        height: 32px;
        display: block;
        transform: scale(0);
        -webkit-transition: 0.2s;
                transition: 0.2s;
    }
    .resForm input[type="radio"],
    .resForm input[type="checkbox"] {
        border: 3px solid #999;
        background:#fff;
    }
    .resForm input[type="radio"]:checked:before,
    .resForm input[type="checkbox"]:checked:before {
        background: #555;
    }

    /*-----------------------------------------------------------------------------------------
        2nd - studio
    -----------------------------------------------------------------------------------------*/

	#studio_plan {
		background:url("img/parts/bg/studio_sp.jpg") 50% 0 no-repeat;
		background-size:100% auto;
	}
	#studio {}
	.fx-studio {
		width:100%;
		display: block;
	}
	.fx-studio img {
		width:90%;
		height:auto;
		display: block;
		margin:0 auto 4% auto;
	}
	.fx-studio div {
		width:100%;
	}
	.fx-studio p {
		font-size:15px;
		width:85%;
		margin:0 auto 4% auto;
	}

    /*------------------------------ photo studio ----------*/
    #photograph {}
    #photograph img {
        max-width:100%;
    }

	#photograph p {
		font-size:15px;
		line-height: 200%;
		margin:0 auto 10% auto;
		padding:0;
		width:90%;
	}
	.list-photograph {
		margin:0 auto !important;
		width:96%;
	}
	.list-photograph li {
		width:95%;
		margin:0 auto 4% auto;
	}
	.list-photograph li span {
		font-size:12px;
		padding:0 2%;
	}
	.list-photograph li img {}
	.list-photograph li:nth-child(3n) {
		margin-right:auto !important;
	}
	.list-photograph li:nth-child(4n) {
		margin-right:auto !important;
	}

    /*------------------------------ photo plan ----------*/
	.list-plan li {
		position: relative;
		width:100%;
		background:#fff;
		padding-bottom:10%;
		/*border-bottom:2px solid #ccc;*/
		margin-bottom:8%;
		-webkit-box-sizing:border-box;
				box-sizing:border-box;
	}
    .list-plan {
        width:95%;
    }
    .list-plan li dl {
        margin:6% 4% 4% 4%;
    }
	.list-plan li p.more-btn {
		position: relative;
		clear:both;
		overflow: hidden;
		margin:5% auto0 auto;
		width:80%;
		left:0;
		bottom:0;
	}
    .list-plan li p.more-btn a {
        font-size:16px !important;
    }
    .list-plan li dl div dt {
        font-size: 24px;
        margin-bottom:20px;
    }
    .list-plan li dl div dd {
        font-size: 16px;
    }
    .list-plan li dl div dd.b-ex {
        font-size:16px;
        min-height:auto;
        margin:5% 0 0 0;
    }

    .list-plan li dl div dt.option:after {
        width: 90px;
        height: 30px;
        background:url("img/parts/ic_option.svg") 0 10px no-repeat;
        background-size: 80px auto;
        margin-left:20px;
    }
	/*---------- other ----------*/
	.li_other li:nth-last-child(-n+3) {
		width:100%;
		padding-bottom:5%;
	}
	.li_other li:nth-last-child(-n+3) dl div dt {
		font-size:24px;
		margin-bottom:25px;
	}
	.li_other li:nth-last-child(-n+3) dl div dd {
		font-size:15px;

	}
	.li_other li:nth-last-child(-n+3) dl div dd.b-ex {
		font-size:14px;
		min-height:auto;
		margin:30px 0 0 0;
	}
	.li_other li:nth-last-child(-n+3) dl div dd.b-ex span {
		padding-left:20px;
		margin-right: 20px !important;
	}
	.li_other li:nth-last-child(-n+3) dl div dd.b-ex span:before {
		top:9px;
		left:4px;
		width:7px;
		height:7px;
	}
	.li_other li:nth-last-child(-n+3):after {
		position:absolute;
		content:'';
		top:0;
		right:0;
		border-left:1px solid #eee;
		height: 100%;
	}

	/*-----------------------------------------------------------------------------------------
		2nd page - Costume
	-----------------------------------------------------------------------------------------*/
	#costume {
		background:url("img/parts/bg/costume_sp.jpg") 50% 0 no-repeat;
		background-size:100% auto;
	}
	#costume p {
		font-size:15px !important;
		text-align: left;
		width:90%;
		margin: 0 auto 8% auto;
	}

    /*-----------------------------------------------------------------------------------------
        2nd page - Photo-gallery
    -----------------------------------------------------------------------------------------*/

    #photo-gallery {
        background:url("img/parts/bg/photogallery_sp.jpg") 50% 0 no-repeat;
        background-size:100% auto;
    }
    #photo-gallery .grid {}
    #photo-gallery .grid-item {
        width: 47% !important;
    }
    #photo-gallery .grid-item img {}

    /*-----------------------------------------------------------------------------------------
        2nd page - privacy
    -----------------------------------------------------------------------------------------*/
	#privacy-policy {
		background-color:none;
		padding-top:0;
	}
    #privacy {
        max-width:90%;
    }
    #privacy h2 {
        font-size:16px;
    }
    #privacy p {
        font-size:15px;
        margin-bottom:4%;
        line-height:180%;
    }
    #privacy ul {
        margin:0 0 4% 40px;
    }
    #privacy ul li {}
	
	/*-----------------------------------------------------------------------------------------
		2nd - news・campaign
	-----------------------------------------------------------------------------------------*/

	#topics {
		background-color:none;
		padding-top:0;
	}
	.bx-topics {
		max-width:90% !important;
		padding: 10% 0;
		margin:0 auto !important;
	}
	.bx-topics h1 {
		font-family: "Noto Serif JP", serif;
		font-size:26px;
		font-weight:100;
		text-align: center;
		letter-spacing:2px;
		padding-top:80px;
		margin:-80px 0 12% 0;
	}
	.bx-topics header {
		position: relative;
		clear:both;
		overflow: hidden;
		margin-bottom:8% !important;
		background:none !important;
		height: auto !important;
	}
	.bx-topics header h2 {
		padding:0 5px 3% 5px;
		margin-bottom:4%;
		font-size:20px;
	}
	.bx-topics header p {
	}
	.bx-topics header:hover {}

	#news-content {
		width:100%;
		margin:8% 0 0 0 !important;
	}
	#news-content img {
		margin-bottom:8%;
	}
	#news-content p.back {
		margin:10% auto 0 auto;
	}
	#news-content p.back a {}
	#news-content p.back:hover {
		opacity:1;
	}
}