@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Quicksand');
@import url('https://fonts.googleapis.com/css?family=Lato');

@font-face {
    font-family: 'quest';
    src: url(../lib/quest.woff) format("woff");
}

* {
    outline: none;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

/* ******************************************* */
/*          total
/* ******************************************* */
html {

}

/* ******************************************* */
/*          font
/* ******************************************* */
.hiragino {
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
.meiryo {
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
}
.mincho {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.yugo {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
.fonts {
    font-family: 'Lato', sans-serif;
}

body {
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 15px;
	line-height: 1.0;
	color: #000000;
    word-wrap: break-word;
	overflow-y: scroll;
}
input, select, option {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
/* ******* IEのみの繁栄場所 ******* */
@media all and (-ms-high-contrast:none) {
    body {
        font-family: 'メイリオ', 'Meiryo', sans-serif;
        letter-spacing: 0em !important;
    }
}
@media(max-width: 736px){
    body { letter-spacing: 0; font-size: 12px; }
}

/* ******************************************* */
/*          container wrapper section etc
/* ******************************************* */
#container {
    min-width: 982px;
	min-height: 100vh;
	margin: 0 auto;
    overflow: hidden;
}
/* wrapper */
.wrapper {
	width: 980px;
	margin: 0px auto;
}
.lower_wrapper {
    position: relative;
	width: 1200px;
    background: #FFFFFF;
    left: 50%;
    margin-left: -600px;
    margin-bottom: 60px;
    padding: 1px 110px 20px;
}
/* section */
section {
    overflow: visible;
    text-align: center;
}
.toppage section {
    text-align: center;
}
.toppage section section {
    margin: 0px auto 50px;
}
.lowerpage {
    padding: 1px 0px;
    background: #ffecf7;
}
.lowerpage section {
    margin: 0px auto 0px;
}
.lowerpage section section,
.lowerpage section section section,
.lowerpage section section section section,
.lowerpage section section section section section {
    overflow: visible;
    margin: 0px auto 0px;
}
.pc{
	display: block;
}
.sp {
	display: none;
}
.bigger_link, .trigger, .click {
    cursor: pointer;
}
.mg_0020 { margin: 0px auto !important; }
.mg_0040 { margin: 0px auto 40px !important; }
.mg_0060 { margin: 0px auto 60px !important; }
.mg_0080 { margin: 0px auto 80px !important; }
.mg_2020 { margin: 20px auto !important; }
.mg_2040 { margin: 20px auto 40px !important; }
.mg_2060 { margin: 20px auto 60px !important; }
.mg_2080 { margin: 20px auto 80px !important; }
.mg_4020 { margin: 40px auto 20px !important; }
.mg_4040 { margin: 40px auto !important; }
.mg_4060 { margin: 40px auto 60px !important; }
.mg_4080 { margin: 40px auto 80px !important; }
.mg_6020 { margin: 60px auto 20px !important; }
.mg_6040 { margin: 60px auto 40px !important; }
.mg_6060 { margin: 60px auto !important; }
.mg_6080 { margin: 60px auto 80px !important; }
.mg_8020 { margin: 80px auto 20px !important; }
.mg_8040 { margin: 80px auto 40px !important; }
.mg_8060 { margin: 80px auto 60px !important; }
.mg_8080 { margin: 80px auto !important; }
@media(min-width: 737px){
    .pc_left { float: left; }
    .pc_right { float: right; }
}
@media(max-width: 736px){
	body {
        font-size: 16px;
        line-height: 22px;
        -webkit-text-size-adjust: 100%;
	}
	#container {
		min-width: 100%;
	}
	.wrapper {
		width: 100%;
		padding: 0 3.5vw;
	}
	.lower_wrapper {
		width: 100%;
		padding: 1px 3.5vw;
        background: #FFFFFF;
        margin: 0 auto;
        left: auto;
    }
    .white_wrapper {
        margin: 4vw auto;
        background: #FFFFFF;
        padding: 3vw;
    }
    .toppage section {

    }
    .toppage section section {

    }
    .lowerpage section {

    }
    .lowerpage section section,
    .lowerpage section section section,
    .lowerpage section section section section,
    .lowerpage section section section section section {

    }
    .sp{
		display: block;
	}
	.pc{
		display: none;
	}
	img {
		max-width: 100%;
	}
	input {
		max-width: 100%;
		border-radius: 0px;
	}
	iframe {
		max-width: 100%;
    }
	br.sp-br{
		display: block;
	}
    .mg_2020 { margin: 2vw auto !important; }
    .mg_2040 { margin: 2vw auto 4vw !important; }
    .mg_2060 { margin: 2vw auto 5vw !important; }
    .mg_2080 { margin: 2vw auto 6.5vw !important; }
    .mg_4020 { margin: 4vw auto 2vw !important; }
    .mg_4040 { margin: 4vw auto !important; }
    .mg_4060 { margin: 4vw auto 5vw !important; }
    .mg_4080 { margin: 4vw auto 6.5vw !important; }
    .mg_6020 { margin: 5vw auto 2vw !important; }
    .mg_6040 { margin: 5vw auto 4vw !important; }
    .mg_6060 { margin: 5vw auto !important; }
    .mg_6080 { margin: 5vw auto 6.5vw !important; }
    .mg_8020 { margin: 6.5vw auto 2vw !important; }
    .mg_8040 { margin: 6.5vw auto 4vw !important; }
    .mg_8060 { margin: 6.5vw auto 5vw !important; }
    .mg_8080 { margin: 6.5vw auto !important; }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          a link setting
/* ******************************************* */
a {
	color: #F2008D;
	text-decoration: underline;
    outline: none;
	cursor: pointer;
}
a:hover, a:focus, a:active {
	color: #F2008D;
	text-decoration: none;
}
a img {
	border: 0;
}
img {
    max-width: 100%;
    height:auto;
}
a[href^="tel:"], a[href^="tel:"]:hover {
    cursor: default;
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          PC SP 共通（拡張）
/* ******************************************* */
.mincho { font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.alp-gothic { font-family: 'Century Gothic', 'Quicksand', sans-serif; }

.italic { font-style: italic; }
.add-relative { position: relative; }

.tx_red { color: #CF000D; }
.tx_blue { color: #1A5FAD; }

.hover_white:hover { opacity: 0.75; }

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          汎用パーツ PC
/* ******************************************* */
@media(min-width:737px){
    /************ 共通強調文字 *************/
    .strong_text {

    }
    /************ TABLE *************/
    table.common_table {
        margin: 40px auto 40px;
    }
        table.common_table tr {
            display: flex;
            margin: 4px auto;
        }
        table.common_table th {
            font-size: 20px;
            line-height: 28px;
            width: 300px;
            padding: 14px 10px;
            text-align: center;
            background: #d2d2d2;
            color: #FFFFFF;
        }
        table.common_table td {
            font-size: 16px;
            line-height: 18px;
            width: 680px;
            padding: 19px 28px;
            text-align: left;
            background: #FFFFFF;
        }
    /************ 見出し *************/
    .lowerpage h2 {
        position: relative;
        z-index: 2000;
        font-size: 35px;
        font-weight: 400;
        line-height: 40px;
        padding: 30px 0px;
        text-align: center;
        background: #FFFFFF;
        color: #1b1b1b;
        box-shadow: 0px 3px 10px rgba( 0, 0, 0, 0.3 );
    }
    .lowerpage h3 {
        position: relative;
        font-size: 28px;
        font-weight: 400;
        line-height: 40px;
        color: #1b1b1b;
        margin: 40px auto 25px;
        padding: 20px 0px;
    }
    .lowerpage h3::before, .lowerpage h3::after {
        content: "";
        position: absolute;
        left: 50%;
        margin-left: -74px;
        background: #f2008d;
        width: 148px;
    }
    .lowerpage h3::before {
        height: 1px;
        bottom: 0px;
    }
    .lowerpage h3::after {
        height: 3px;
        bottom: -4px;
    }
    .lowerpage h4 {
        font-size: 18px;
        font-weight: 900;
        line-height: 22px;
        text-align: center;
        color: #707070;
        background: #ffecf7;
        margin: 40px auto 20px;
        padding: 3px 0px 3px 16px;
    }
    .lowerpage h5 {
        font-size: 18px;
        font-weight: bold;
        line-height: 22px;
        text-align: left;
        color: #707070;
        padding: 4px 0px;
        margin: 40px auto 30px;
        border-bottom: 1px dashed #000000;
    }
    .lowerpage h6 {
        font-size: 18px;
        font-weight: bold;
        line-height: 22px;
        text-align: left;
        color: #707070;
        margin: 40px auto 25px;
    }
    /************ 画像編集 *************/
    .image_set {
        margin: 20px auto;
    }
    .image_box {
        margin: 40px auto;
    }
    /************ 汎用文章 *************/
    .common_text, .center_text {
        margin: 20px auto;
    }
    .common_text p {
        font-size: 14px;
        line-height: 20px;
        margin: 1.0em auto;
        text-align: left;
    }
    .center_text p {
        font-size: 16px;
        line-height: 24px;
        margin: 1em auto;
        text-align: center;
    }
    .leftimage {
        margin: 20px auto;
    }
        .leftimage .image {
            float: left;
            margin: 0px 30px 20px 0px;
            max-width: 100%;
        }
    .rightimage {
        margin: 20px auto;
    }
        .rightimage .image {
            float: right;
            margin: 0px 0px 30px 20px;
            max-width: 100%;
        }
    .centerimage {
        margin: 20px auto;
    }
        .centerimage .image {
            text-align: center;
            margin-bottom: 16px;
        }
        .leftimage .text p,
        .rightimage .text p,
        .centerimage .text p {
            font-size: 14px;
            line-height: 20px;
            margin: 0em auto 1em;
            text-align: left;
        }
        .leftimage img,
        .rightimage img,
        .centerimage img {
            max-width: 100%;
        }
    .doubleimage {
        margin: 20px auto;
        display: flex;
        justify-content: space-between;
    }
        .doubleimage .parts {
            max-width: 475px;
            text-align: center;
        }
        .doubleimage .caption p {
            margin: 0.5em auto 0.5em;
            font-size: 14px;
            line-height: 20px;
            text-align: center;
        }
}
/* ******************************************* */
/*          汎用パーツ SP
/* ******************************************* */
@media(max-width:736px){
    /************ 共通強調文字 *************/
    .strong_text {

    }
    /************ table *************/
    table.common_table {
        font-size: 14px;
        line-height: 22px;
        width: 100%;
        margin: 4vw auto 4vw;
    }
        table.common_table th {
            font-size: 12px;
            line-height: 18px;
            padding: 0.5em 1em;
            display: block;
            width: 100%;
            text-align: center;
            font-weight: bold;
            background: #d2d2d2;
            color: #FFFFFF;
        }
        table.common_table td {
            font-size: 12px;
            line-height: 18px;
            display: block;
            width: 100%;
            padding: 0.5em 1em;
            text-align: left;
            background: #FFFFFF;
        }
        /************ 見出し *************/
        .lowerpage h2 {
            position: relative;
            z-index: 2000;
            font-size: 25px;
            font-weight: 400;
            line-height: 34px;
            padding: 8px 0px;
            text-align: center;
            background: #FFFFFF;
            color: #1b1b1b;
            box-shadow: 0px 3px 7px rgba( 0, 0, 0, 0.3 );
        }
        .lowerpage h3 {
            position: relative;
            font-size: 20px;
            font-weight: 400;
            line-height: 25px;
            color: #1b1b1b;
            margin: 4vw auto 5.5vw;
            padding: 0.5em 0em;
        }
        .lowerpage h3::before, .lowerpage h3::after {
            content: "";
            position: absolute;
            left: 50%;
            margin-left: -74px;
            background: #f2008d;
            width: 148px;
        }
        .lowerpage h3::before {
            height: 1px;
            bottom: 0px;
        }
        .lowerpage h3::after {
            height: 3px;
            bottom: -4px;
        }
        .lowerpage h4 {
            font-size: 16px;
            font-weight: 900;
            line-height: 20px;
            text-align: center;
            color: #707070;
            background: #ffecf7;
            margin: 4vw auto 2vw;
            padding: 3px 1em;
        }
        .lowerpage h5 {
            font-size: 14px;
            font-weight: bold;
            line-height: 20px;
            text-align: left;
            color: #707070;
            padding: 4px 0px;
            margin: 4vw auto 2vw;
            border-bottom: 1px dashed #000000;
        }
        .lowerpage h6 {
            font-size: 14px;
            font-weight: bold;
            line-height: 20px;
            text-align: left;
            color: #707070;
            margin: 4vw auto 2vw;
        }
    /************ 汎用文章 *************/
    .common_text,
    .center_text {
        width: 90%;
        margin: 4vw auto;
        max-width: 350px;
    }
    .common_text p,
    .center_text p {
        font-size: 12px;
        line-height: 16px;
        margin: 1.0em auto;
        text-align: left;
    }
    .leftimage, .rightimage, .centerimage, .doubleimage {
        width: 90%;
        margin: 4vw auto;
        max-width: 350px;
    }
        .leftimage .image,
        .rightimage .image,
        .centerimage .image,
        .doubleimage .image {
            margin: 0 auto;
            text-align: center;
            max-width: 100%;
            height: auto;
        }
        .leftimage .text p,
        .rightimage .text p,
        .centerimage .text p,
        .doubleimage .caption p {
            font-size: 12px;
            line-height: 16px;
            margin: 0.5em auto 1em;
            text-align: left;
        }
        .leftimage img,
        .rightimage img,
        .centerimage img,
        .doubleimage img {
            max-width: 100%;
        }
    .doubleimage {

    }
        .doubleimage .parts {
            display: inline-block;
            max-width: 45%;
            text-align: center;
            margin: 0 2%;
        }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          header PC
/* ******************************************* */
@media(min-width:737px){
    #header {
        position: static;
        z-index: 9999;
        margin-bottom:25px;
        background:#f2008d;
    }
        .header_top {
            background: #f2008d;
        }
        .header_top h1 {
            color: #FFFFFF;
            font-size: 12px;
            line-height: 18px;
            padding: 4px 0px 3px;
            text-align: left;
        }
        .header_main {
            position: relative;
            background: rgba( 255, 255, 255, 0.8 );
            height: 70px;
        }
        .header_main .logo {
            margin-top: 18px;
            float: left;
        }
        .header_main .reserve {
            position: absolute;
            left: 50%;
            margin-left: 330px;
            top: -25px;/*-25*/
            z-index: 1000;
        }
}
/* ******************************************* */
/*          header SP
/* ******************************************* */
@media(max-width:736px){
    #header {
        background: #FFFFFF;
    }
    .header_main {
        width: 94vw;
        margin: 3vw auto;
    }
    .header_main .inner {
        display: flex;
        justify-content: space-between;
    }
        .header_main .logo {

        }
        .header_main .menu {
            width: 11.71875vw;
            height: 11.71875vw;
            max-width: 75px;
            max-height: 75px;
            background: url('/images/rwd_menu.png');
            background-size: 100% 100%;
        }
        .header_main .open .menu {
            background: url('/images/rwd_close.png');
            background-size: 100% 100%;
        }

}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          gnav PC
/* ******************************************* */
@media(min-width:737px){
    #gnav {
        float: left;
        margin: 35px 0px 17px 40px;
    }
        #gnav ul {
            margin: 0 auto;
        }
        #gnav ul li {
            position: relative;
            float: left;
        }
        #gnav ul li:nth-of-type(n+2) {
            margin-left: 8px;
        }
        #gnav ul li:nth-of-type(n+2)::before {
            content: "";
            width: 8px;
            height: 17px;
            background: url('/images/bg/gnav_between.png') no-repeat;
            position: absolute;
            top: 0px;
            left: -8px;
        }
        #gnav ul li a {
            display: block;
        }
}
/* ******************************************* */
/*          gnav SP
/* ******************************************* */
@media(max-width:736px){
    #rwd_menu {
        background: #f2008d;
        width: 100%;
    }
        #rwd_menu ul {
            width: 100%;
        }
        #rwd_menu ul li {
            border-bottom: 1px solid #FFFFFF;
        }
        #rwd_menu ul li a {
            display: block;
            font-size: 3.125vw;
            color: #FFFFFF;
            height: 14.0625vw;
            line-height: 14.0625vw;
            text-decoration: none;
            text-align: center;
            background: url('/images/rwd_gnavarrow.png') 95% 50% no-repeat;
            background-size: 1.71875vw 1.71875vw;
        }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          トップページ PC
/* ******************************************* */
@media(min-width:737px){
    /************ TOPPAGE ************/
    .toppage {

    }
        .toppage h2 {
            font-size: 40px;
            line-height: 50px;
            font-weight: 600;
            text-align: center;
        }
        .toppage h2 span {
            display: inline-block;
            position: relative;
            padding: 20px 20px 21px;
        }
        .toppage h2 span::before, .toppage h2 span::after {
            position: absolute;
            content: "";
            top: 0px;
            width: 40px;
            height: 91px;
        }
        .toppage h2 span::before {
            background: url('/images/bg/top_h2_left.png') no-repeat;
            left: -40px;
        }
        .toppage h2 span::after {
            background: url('/images/bg/top_h2_right.png') no-repeat;
            right: -40px;
        }
        .toppage h2.top_h2_shadow span::before {
            background: url('/images/bg/top_h2_left_s.png') no-repeat;
            left: -40px;
        }
        .toppage h2.top_h2_shadow span::after {
            background: url('/images/bg/top_h2_right_s.png') no-repeat;
            right: -40px;
        }
    .toppage .linkbutton {
        text-align: center;
    }
        .toppage .linkbutton a {
            display: inline-block;
            width: 265px;
            height: 48px;
            font-size: 16px;
            line-height: 20px;
            padding: 14px 15px 14px 0px;
            margin: 0px 20px;
            font-weight: 600;
            border: 1px solid #f2008d;
            background: url('/images/bg/linkbtn_arrow_off.png') no-repeat;
            background-position: 95% 50%;
            background-color: #FFFFFF;
            color: #f2008d;
            text-decoration: none;
        }
        .toppage .linkbutton a:hover {
            background: url('/images/bg/linkbtn_arrow_on.png') no-repeat;
            background-position: 95% 50%;
            background-color: #f2008d;
            color: #FFFFFF;
        }
    /************ MAINVISUAL ************/
    #mainV {
        position: relative;
        height: 1000px;
    }
        #mainV .image {
            position: absolute;
            top: 0;
            left: 50%;
            margin-left: -750px;
            width: 1500px;
            height: 1000px;
        }
    	#mainV .catch {
    		position: absolute;
            font-family: "Mplus 1p";
            font-weight: 400;
    		top: 60px;
    		left: 50%;
    		margin-left: -440px;
    		font-size: 50px;
            line-height: 70px;
            letter-spacing: 0.050em;
            text-shadow: 0px 0px 5px #FFFFFF, 0px 0px 8px #FFFFFF, 0px 0px 10px #FFFFFF;
    	}
        #mainV .bx-pager {
            display: none;
        }
    /************ TOP CONCEPT ************/
    .top_concept {
        background: url('/images/bg/bg_top_concept.png') no-repeat;
        background-position: 50% 50%;
        padding: 45px 0px 74px;
    }
        .top_concept .topcomment {
            margin: 55px auto 42px;
        }
        .top_concept .comment {
            font-size: 18px;
            line-height: 45px;
            text-align: center;
            margin: 45px auto 45px;
        }
    /************ TOP UN ************/
    .top_unusual {
        background: url('/images/bg/bg_top_unusual.jpg') no-repeat;
        background-position: center -185px;/*50% 0%*/
        padding: 1px 0px 0px;
        width: 1500px;
        position: relative;
        left: 50%;
        margin-left: -750px;
        /*background-size: cover;*/
    }
        .top_unusual .topimage {
            min-height: 688px;
            padding: 104px 0px 101px;
            display: flex;
            align-items: center;
        }
        .frame_wrap {
        		width: 982px;
        		margin:0 auto;
        		text-align: center;
            position: relative;
            background:#ffffff;
        }
        .frame_wrap:before {
            position: absolute;
            content: "";
            width: 982px;
            height: 31px;
            top:  0;
            left: 0;
            z-index: 10;
            background: url('/images/bg/frame_top.png');
        }
        .frame_wrap:after {
            position: absolute;
            content: "";
            width: 982px;
            height: 31px;
            bottom:  0;
            left: 0;
            z-index: 10;
            background: url('/images/bg/frame_btm.png');
        }
        .frame_wrap .wrap {
        		text-align: center;
            position: relative;
            padding:31px;
        }
        .frame_wrap .wrap:before {
            position: absolute;
            content: "";
            width: 982px;
            height: 100%;
            top:  0;
            left: 0;
            z-index: 9;
            background: url('/images/bg/frame_mid.png');
        }
        .frame_wrap .catch {
            position: absolute;
            z-index: 9;
            width:920px;
            box-sizing:border-box;
            padding:0 15px;
            font-size:45px;
            top:50px;
            text-align:center;
        }
        .frame_wrap .image {
            position: relative;
            z-index: 8;
        }
        .top_unusual .mainbody {
            position: relative;
            margin: 0px -12px;
            background: url('/images/bg/unusual_box_middle.png');
            text-align: center;
        }
        .top_unusual .mainbody::before {
            position: absolute;
            content: "";
            width: 1006px;
            height: 74px;
            top: -74px;
            left: 0px;
            background: url('/images/bg/unusual_box_top.png');
        }
        .top_unusual .mainbody::after {
            position: absolute;
            content: "";
            width: 1006px;
            height: 71px;
            bottom: -71px;
            left: 0px;
            background: url('/images/bg/unusual_box_bottom.png');
        }
        .top_unusual .mainbody .comment {
            font-size: 18px;
            line-height: 45px;
            margin: 40px auto 10px;
            padding: 0px 70px;
        }
        .top_unusual .linkarea {
            position: relative;
            display: flex;
            width: 1500px;
            left: 50%;
            margin-left: -750px;
        }
    /************ TOP NEWS ************/
    .top_news {
        background: url('/images/bg/bg_top_news.png');
         padding: 48px 0px 80px;
    }
        .top_news .topcomment {
            font-size: 20px;
            line-height: 25px;
            margin: 30px auto 40px;
            text-align: center;
            color: #292929;
        }
        .top_news ul {
            margin: 40px auto;
        }
        .top_news ul li {
            padding: 22px 20px;
            border-bottom: 1px dotted #a1a1a1;
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
        }
        .top_news ul li .date {
            font-size: 14px;
            line-height: 22px;
            margin-right:10px;
        }
        .top_news ul li .category {
            font-size: 11px;
            width: 120px;
            color: #FFFFFF;
            line-height: 22px;
            text-align: center;
            background: #f2008d;
            margin-right:10px;
        }
        .top_news ul li .title {
            width: 730px;
            text-align: left;
        }
        .top_news ul li .title a {
            color: #000000;
            font-size: 14px;
            line-height: 22px;
        }
    /************ TOP GALLERY ************/
    .top_gallery {
        background: url('/images/bg/bg_top_gallery.jpg');
        padding: 36px 0px 70px;
        background-size:cover;
    }
        .top_gallery .mainimage {
            position: relative;
            margin-top: 25px;
            left: 50%;
            margin-left: -750px;
            width: 1500px;
            background: #FFFFFF;
        }
    /************ TOP VOICE ************/
    .toppage .top_voice {
        background: url('/images/bg/bg_top_voice.png') no-repeat;
        background-color: #F5F5F5;
        background-position: 50% 50%;
        background-size: cover;
        padding: 50px 0px 25px;
    }
    .lowerpage .top_voice {
        margin: 40px auto 80px;
    }
        .top_voice ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            margin-top: 24px;
        }
        .lowerpage .top_voice ul {
            margin-bottom: 20px;
        }
        .top_voice ul li {
            position: relative;
            width: 450px;
            margin-bottom: 35px;
        }
        .top_voice ul li .image {
            padding: 5px;
            background: #FFFFFF;
            width: 450px;
            heights: 250px;
            margin-bottom: 10px;
        }
        .top_voice ul li .name {
            font-size: 18px;
            line-height: 24px;
            padding: 10px 0px;
            text-align: left;
            font-weight: 600;
            border-bottom: 1px solid #000000;
        }
        .top_voice ul li .comment {
            padding: 8px 0px 15px;
            font-size: 15px;
            line-height: 25px;
            text-align: left;
            color: #292929;
        }
        .top_voice ul li .readmore {
            position: absolute;
            right: 0px;
            bottom: 0px;
        }
        .top_voice ul li a, .top_voice ul li a:hover {
            color: #000000;
            text-decoration: none;
        }
        .top_voice ul .bigger_link:hover { opacity: 0.7; }
    /************ TOP BLOG ************/
    .toppage .top_blog {
        background: url('/images/bg/bg_top_blog.png');
        padding: 48px 0px 30px;
    }
    .lowerpage .top_blog {
        margin: 40px auto 60px;
    }
        .top_blog .categorylink {
            margin: 40px auto;
            text-align: center;
        }
        .top_blog .categorylink a {
            display: inline-block;
            width: 250px;
            height: 48px;
            background: #FFFFFF;
            margin: 0 25px;
            font-size: 16px;
            line-height: 48px;
            text-decoration: none;
        }
        .top_blog .categorylink a:nth-of-type(1) { border: 1px solid #e60012; color: #e60012; }
        .top_blog .categorylink a:nth-of-type(2) { border: 1px solid #22ac38; color: #22ac38; }
        .top_blog .categorylink a:nth-of-type(1):hover { background: #e60012; color: #FFFFFF; }
        .top_blog .categorylink a:nth-of-type(2):hover { background: #22ac38; color: #FFFFFF; }
        .top_blog ul {
            margin: 40px auto 48px;
            display: flex;
            flex-wrap: wrap;
        }
        .top_blog ul li {
            width: 314px;
        }
        .top_blog ul li:nth-of-type(3n+2) {
            margin-left: 19px;
            margin-right: 19px;
        }
        .top_blog ul li:nth-of-type(n+4) { margin-top: 30px; }
        .top_blog ul li .image {
            margin-bottom: 9px;
        }
        .top_blog ul li .date {
            float: left;
            font-size: 13px;
            line-height: 20px;
            text-align: left;
        }
        .top_blog ul li .category {
            float: right;
            font-size: 10px;
            line-height: 20px;
            color: #FFFFFF;
            padding: 0px 6px;
        }
        .top_blog ul li .title {
            padding: 12px 0px;
            border-bottom: 1px solid #000000;
            font-size: 14px;
            line-height: 23px;
            text-align: left;
            font-weight: 600;
            height: 70px;
        }
        .top_blog ul li .comment {
            font-size: 13px;
            line-height: 20px;
            text-align: left;
            margin: 12px auto;
        }
        .top_blog ul li a, .top_blog ul li a:hover {
            color: #000000;
            text-decoration: none;
        }
        .top_blog ul li .bigger_link:hover { opacity: 0.6; }
        .ct27 { background: #e60012; }
        .ct29 { background: #22AC38; }
    /************ TOP 4MENU ************/
    .top_4menu {
        background: url('/images/bg/bg_top_4menu_s.png');
        padding: 45px 0px;
    }
        .top_4menu ul {
            font-size: 0px;
            text-align: center;
        }
        .top_4menu ul li {
            display: inline-block;
            width: 465px;
            height: 200px;
            margin: 5px;
            background: #FFFFFF;
        }
        .top_4menu ul li img:hover { opacity: 0.7; }

}


        @media (max-width: 736px) {
	        .frame_wrap {
	        		width: 100%;
	        		margin:0 auto;
	        		position: relative;
	        }
	        .frame_wrap:before {
	            position: absolute;
	            content: "";
	            width: 100%;
	            height: 20px;
	            top:  0;
	            left: 0;
	            z-index: 10;
	            background: url('/images/bg/frame_top.png') no-repeat left top;
	            background-size: contain;
	        }
	        .frame_wrap:after {
	            position: absolute;
	            content: "";
	            width: 100%;
	            height: 20px;
	            bottom:  0;
	            left: 0;
	            z-index: 10;
	            background: url('/images/bg/frame_btm.png') no-repeat left bottom;
	            background-size: contain;
	        }
	        .frame_wrap .wrap {
	        		text-align: center;
	            position: relative;
	        }
	        .frame_wrap .wrap:before {
	            position: absolute;
	            content: "";
	            width: 100%;
	            height: 100%;
	            top:  0;
	            left: 0;
	            z-index: 9;
	            background: url('/images/bg/frame_mid.png');
	            background-size: contain;
	        }
	        .frame_wrap .catch {
	            z-index: 9;
	            position: absolute;
	            top:20px;
	            width:100%;
	            padding:0 5%;
	            margin:0 auto;
	            text-align:center;
	        }
	        .frame_wrap .image {
	            position: relative;
	            z-index: 8;
	        }
        }
/* ******************************************* */
/*          トップページ SP
/* ******************************************* */
@media(max-width:736px){
    #mainV .bx-pager {
        display: none;
    }
    #mainV .bx-wrapper {
        margin: 0 auto 0;
    }
    /************ TOPPAGE ************/
    .toppage {

    }
        .toppage h2 {
            font-size: 24px;
            line-height: 38px;
            font-weight: 600;
            text-align: center;
        }
        .toppage h2 span {
            display: inline-block;
            position: relative;
            padding: 14px 6px;
        }
        .toppage h2 span::before, .toppage h2 span::after {
            position: absolute;
            content: "";
            top: 0px;
            width: 30px;
            height: 80px;
        }
        .toppage h2 span::before {
            background: url('/images/bg/top_h2_left.png') no-repeat;
            background-size: 30px;
            left: -25px;
        }
        .toppage h2 span::after {
            background: url('/images/bg/top_h2_right.png') no-repeat;
            background-size: 30px;
            right: -25px;
        }
        .toppage h2.top_h2_shadow span::before {
            background: url('/images/bg/top_h2_left_s.png') no-repeat;
            background-size: 30px;
            left: -25px;
        }
        .toppage h2.top_h2_shadow span::after {
            background: url('/images/bg/top_h2_right_s.png') no-repeat;
            background-size: 30px;
            right: -25px;
        }
    .toppage .linkbutton {
        text-align: center;
    }
        .toppage .linkbutton a {
            display: inline-block;
            width: 265px;
            height: 48px;
            font-size: 16px;
            line-height: 20px;
            padding: 14px 15px 14px 0px;
            margin: 0px 4vw;
            font-weight: 600;
            border: 1px solid #f2008d;
            background: url('/images/bg/linkbtn_arrow_off.png') no-repeat;
            background-position: 95% 50%;
            background-color: #FFFFFF;
            color: #f2008d;
            text-decoration: none;
        }
        .toppage .linkbutton a:hover {
            background: url('/images/bg/linkbtn_arrow_on.png') no-repeat;
            background-position: 95% 50%;
            background-color: #f2008d;
            color: #FFFFFF;
        }
    /************ MAINVISUAL ************/
    #mainV {
        position: relative;
    }
        #mainV .image {

        }
    	#mainV .catch {
    		position: absolute;
            font-family: "Mplus 1p";
            font-weight: 400;
    		top: 6vw;
    		left: 5vw;
    		font-size: 7.8125vw;
            line-height: 10.9vw;
            letter-spacing: 0.050em;
            text-shadow: 0px 0px 5px #FFFFFF, 0px 0px 8px #FFFFFF, 0px 0px 10px #FFFFFF;
    	}
    	#mainV .bx-wrapper img {
    	    height:auto!important;
    	}
    /************ TOP CONCEPT ************/
    .top_concept {
        background: url('/images/bg/bg_top_concept.png') no-repeat;
        background-position: 50% 50%;
        background-color: #ececec;
        padding: 4vw 0px 8vw;
    }
        .top_concept .topcomment {
            margin: 4vw auto;
        }
        .top_concept .comment {
            font-size: 14px;
            line-height: 28px;
            text-align: center;
            margin: 4vw auto 4vw;
        }
    /************ TOP UN ************/
    .top_unusual {
        background: url('/images/bg/bg_top_unusual.jpg') no-repeat;
        background-position: 50% 0%;
        padding: 1px 0px 0px;
        background-size: cover;
    }
        .top_unusual .topimage {
            padding: 12.5vw 0vw;
            display: flex;
            align-items: center;
        }
        .top_unusual .mainbody {
            position: relative;
            margin: 0px -3.5vw;
            background: url('/images/bg/unusual_box_middle.png');
            background-size: 100% auto;
            text-align: center;
            padding: 4vw 7vw 2vw;
        }
        .top_unusual .mainbody::before {
            position: absolute;
            content: "";
            width: 100vw;
            height: 7.4vw;
            top: -7.4vw;
            left: 0px;
            background: url('/images/bg/unusual_box_top.png');
            background-size: 100% 100%;
        }
        .top_unusual .mainbody::after {
            position: absolute;
            content: "";
            width: 100vw;
            height: 7.1vw;
            bottom: -7.1vw;
            left: 0px;
            background: url('/images/bg/unusual_box_bottom.png');
            background-size: 100% 100%;
        }
        .top_unusual .mainbody .comment {
            font-size: 12px;
            line-height: 24px;
            margin: 4vw auto 1vw;
        }
        .top_unusual .linkarea {
            position: relative;
            display: flex;
            width: 150vw;
            left: 50%;
            margin-left: -75vw;
        }
    /************ TOP NEWS ************/
    .top_news {
        background: url('/images/bg/bg_top_news.png');
         padding: 4vw 0px 8vw;
    }
        .top_news .topcomment {
            font-size: 14px;
            line-height: 22px;
            margin: 2vw auto 4vw;
            text-align: center;
            color: #292929;
        }
        .top_news ul {
            margin: 4vw auto;
        }
        .top_news ul li {
            padding: 2vw;
            border-bottom: 1px dotted #a1a1a1;
            display: flex;
            align-items: flex-start;
            flex-wrap: wrap;
            justify-content: space-between;
        }
        .top_news ul li .date {
            font-size: 12px;
            line-height: 20px;
        }
        .top_news ul li .category {
            font-size: 10px;
            width: 92px;
            color: #FFFFFF;
            line-height: 20px;
            text-align: center;
            background: #f2008d;
        }
        .top_news ul li .title {
            margin: 1.5vw auto;
            width: 100%;
            text-align: left;
        }
        .top_news ul li .title a {
            color: #000000;
            font-size: 12px;
            line-height: 18px;
        }
    /************ TOP GALLERY ************/
    .top_gallery {
        background: url('/images/bg/bg_top_gallery.jpg');
        padding: 6vw 0px 10vw;
    }
        .top_gallery .mainimage {
            position: relative;
            margin-top: 10vw;
            left: 50%;
            margin-left: -75vw;
            width: 150vw;
            background: #FFFFFF;
        }
    /************ TOP VOICE ************/
    .toppage .top_voice {
        background: url('/images/bg/bg_top_voice.png') no-repeat;
        background-color: #F5F5F5;
        background-position: 50% 50%;
        padding: 5vw 0px 4vw;
    }
    .lowerpage .top_voice {
        margin: 4vw auto 8vw;
    }
        .top_voice ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            margin-top: 4vw;
        }
        .lowerpage .top_voice ul {
            margin-bottom: 2vw;
        }
        .top_voice ul li {
            position: relative;
            width: 80%;
            max-width: 350px;
            margin: 2vw auto 3.5vw;
            padding-bottom: 20px;
        }
        .top_voice ul li .image {
            padding: 5px;
            background: #FFFFFF;
            margin-bottom: 2vw;
        }
        .top_voice ul li .name {
            font-size: 14px;
            line-height: 20px;
            padding: 2vw 0vw;
            text-align: left;
            font-weight: 600;
            border-bottom: 1px solid #000000;
        }
        .top_voice ul li .comment {
            padding: 2vw 0px;
            font-size: 12px;
            line-height: 18px;
            text-align: left;
            color: #292929;
        }
        .top_voice ul li .readmore {
            position: absolute;
            right: 0px;
            bottom: 0px;
            width: 40vw;
            max-width: 100px;
        }
        .top_voice ul li a, .top_voice ul li a:hover {
            color: #000000;
            text-decoration: none;
        }
        .top_voice ul .bigger_link:hover { opacity: 0.7; }
    /************ TOP BLOG ************/
    .toppage .top_blog {
        background: url('/images/bg/bg_top_blog.png');
        padding: 4vw 0px;
    }
    .lowerpage .top_blog {
        margin: 4vw auto 6vw;
    }
        .top_blog .categorylink {
            margin: 4vw auto;
            text-align: center;
        }
        .top_blog .categorylink a {
            display: inline-block;
            width: 45%;
            background: #FFFFFF;
            margin: 0 2vw;
            font-size: 12px;
            line-height: 30px;
            text-decoration: none;
        }
        .top_blog .categorylink a:nth-of-type(1) { border: 1px solid #e60012; color: #e60012; }
        .top_blog .categorylink a:nth-of-type(2) { border: 1px solid #22ac38; color: #22ac38; }
        .top_blog .categorylink a:nth-of-type(1):hover { background: #e60012; color: #FFFFFF; }
        .top_blog .categorylink a:nth-of-type(2):hover { background: #22ac38; color: #FFFFFF; }
        .top_blog ul {
            margin: 4vw auto;
        }
        .top_blog ul li {
            width: 80%;
            max-width: 314px;
            margin: 2vw auto 4vw;
        }
        .top_blog ul li .image {
            margin-bottom: 1.5vw;
        }
        .top_blog ul li .date {
            float: left;
            font-size: 10px;
            line-height: 20px;
            text-align: left;
        }
        .top_blog ul li .category {
            float: right;
            font-size: 10px;
            line-height: 20px;
            color: #FFFFFF;
            padding: 0px 6px;
        }
        .top_blog ul li .title {
            padding: 1.2vw 0px;
            border-bottom: 1px solid #000000;
            font-size: 14px;
            line-height: 20px;
            text-align: left;
            font-weight: 600;
            height: 70px;
        }
        .top_blog ul li .comment {
            font-size: 12px;
            line-height: 16px;
            text-align: left;
            margin: 1.5vw auto;
        }
        .top_blog ul li a {
            color: #000000;
            text-decoration: none;
        }
        .ct27 { background: #e60012; }
        .ct29 { background: #22AC38; }
    /************ TOP 4MENU ************/
    .top_4menu {
        background: url('/images/bg/bg_top_4menu_s.png');
        padding: 4.5vw 0px;
    }
        .top_4menu ul {
            font-size: 0px;
            text-align: center;
        }
        .top_4menu ul li {
            width: 100%;
            margin: 1.5vw auto;
            background: #FFFFFF;
        }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          下層共通PC
/* ******************************************* */
@media(min-width:737px){
    /************ anchorリンク1 *************/
    .common_anchor,
    .common_anchor4 {
        margin: 40px auto;
    }
        .common_anchor ul,
        .common_anchor4 ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
        }
        .common_anchor ul li {
            width: 292px;
            height: 64px;
            margin: 0px 10px 10px;
        }
        .common_anchor4 ul li {
            width: 225px;
            height: 64px;
            margin: 0px 10px 10px;
        }
        .common_anchor ul li a,
        .common_anchor4 ul li a {
            display: block;
            width: 292px;
            height: 64px;
            border: 1px solid #f2008d;
            background: #FFFFFF;
            color: #f2008d;
            font-size: 20px;
            line-height: 30px;
            padding: 17px 20px;
            border-radius: 32px;
            text-align: center;
            text-decoration: none;
        }
        .common_anchor4 ul li a {
            width: 225px;
        }
        .common_anchor ul li a.current,
        .common_anchor ul li a:hover,
        .common_anchor4 ul li a.current,
        .common_anchor4 ul li a:hover {
            text-decoration: none;
            background: #f2008d;
            color: #FFFFFF;
        }
    .arrow_anchor {
        margin: 40px auto;
    }
    .arrow_anchor.access {
        margin: 40px auto 60px;
    }
        .arrow_anchor ul {
            display: flex;
            flex-wrap: wrap;
            padding: 0 19px;
        }
        .arrow_anchor ul li {
            width: 294px;
            height: 65px;
            margin: 0px 10px 10px;
        }
        .arrow_anchor ul li:nth-of-type(n+4) { margin-top: 20px; }
        .arrow_anchor ul li a {
            display: block;
            position: relative;
            width: 294px;
            height: 65px;
            border: 1px solid #f2008d;
            background: #FFFFFF;
            color: #f2008d;
            font-size: 20px;
            line-height: 30px;
            padding: 17px 0px 18px;
            text-align: center;
            text-decoration: none;
        }
        .arrow_anchor.access ul li a {
            display: block;
            position: relative;
            width: 294px;
            height: 90px;
            border: 1px solid #f2008d;
            background: #FFFFFF;
            color: #f2008d;
            font-size: 20px;
            line-height: 30px;
            padding: 17px 20px 18px;
            text-align: center;
            text-decoration: none;
            box-sizing:border-box;
        }
        .arrow_anchor.access ul li:first-child a {
            padding-top:30px;
        }
        .arrow_anchor.access ul li:first-child a.current,
        .arrow_anchor.access ul li:first-child a:hover {
            padding-top:26px;
        }
        .arrow_anchor ul li a.current,
        .arrow_anchor ul li a:hover {
            text-decoration: none;
            padding: 13px 16px 14px;
            border: 5px solid #f2008d;
        }
        .arrow_anchor ul li a::after {
            position: absolute;
            content: "";
            background: url('/images/bg/access_linkarrow.png') no-repeat;
            width: 6px;
            height: 36px;
            left: 50%;
            margin-left: -1px;
            bottom: -25px;
        }
        .arrow_anchor ul li a.current::after,
        .arrow_anchor ul li a:hover::after {
            bottom: -29px;
        }
    /************ アンカーボタン ************/
    .gallery_anchor {
        margin: 20px auto;
    }
        .gallery_anchor ul {
            position: relative;
        }
        .gallery_anchor ul li {
            position: relative;
            float: left;
            width: 246px;
            height: 55px;
            margin-left: -1px;
            margin-top: -1px;
        }
        .gallery_anchor ul li:nth-of-type(4n+1) {
            width: 245px;
            margin-left: 0px;
        }
        .gallery_anchor ul li a {
            display: inline-block;
            font-feature-settings: "palt";
            text-align: center;
            color: #F2008D;
            border: 1px solid #F2008D;
            background: #FFFFFF;
            text-decoration: none;
            font-weight: 600;
            font-size: 20px;
            line-height: 22px;
            width: 100%;
            height: 55px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
        }
        .gallery_anchor ul li a.current,
        .gallery_anchor ul li a:hover {
            background: #F2008D;
            color: #FFFFFF;
        }
        .gallery_anchor ul li a span {
            display: block;
            color: #000;
            text-align: center;
            font-size: 10px;
            font-weight: 400;
            line-height: 12px;
        }
        .gallery_anchor ul li a.current span,
        .gallery_anchor ul li a:hover span {
            color: #FFFFFF;
        }
    /************ 下層リンクボタン ************/
    .lowerpage .linkbutton {
        margin: 40px auto;
    }
        .lowerpage .linkbutton > a {
            display: inline-block;
            font-size: 30px;
            font-weight: 600;
            letter-spacing: 0.080em;
            color: #FFFFFF;
            line-height: 47px;
            padding: 27px 20px 26px 45px;
            background: #ffbed2;
            border: 1px solid #FFBED2;
            text-decoration: none;
            vertical-align: middle;
        }
        .lowerpage .linkbutton > a::after {
            display: inline-block;
            width: 47px;
            height: 47px;
            content: "";
            background: url('/images/bg/arrow_off.png');
            margin-left: 32px;
            vertical-align: middle;
        }
        .lowerpage .linkbutton > a:hover {
            border: 1px solid #f2008d;
            background: #FFFFFF;
            color: #f2008d;
        }
        .lowerpage .linkbutton > a:hover::after {
            background: url('/images/bg/arrow_on.png');
        }
    .lowerpage .linkbutton2 {
        margin: 40px auto;
        text-align: center;
    }
        .lowerpage .linkbutton2 > a {
            position: relative;
            display: inline-block;
            width: 392px;
            height: 80px;
            font-size: 25px;
            font-weight: 600;
            letter-spacing: 0.080em;
            color: #FFFFFF;
            line-height: 30px;
            margin: 0 15px;
            padding: 25px 30px 25px 20px;
            background: #f2008d;
            border: 1px solid #f2008d;
            text-decoration: none;
        }
        .lowerpage .linkbutton2 > a.pt2 {
            background: #797979;
            border: 1px solid #797979;
            padding: 25px 20px 25px 30px;
        }
        .lowerpage .linkbutton2 > a::after {
            position: absolute;
            width: 16px;
            height: 26px;
            content: "";
            background: url('/images/bg/bg_btnarrow_off.png');
            top: 27px;
            right: 18px;
        }
        .lowerpage .linkbutton2 > a.pt2::after {
            background: url('/images/bg/bg_btnarrow_off.png');
            top: 27px;
            left: 18px;
            right: auto;
            transform: rotate( 180deg );
        }
        .lowerpage .linkbutton2 > a:hover {
            border: 1px solid #f2008d;
            background: #FFFFFF;
            color: #f2008d;
        }
        .lowerpage .linkbutton2 > a.pt2:hover {
            border: 1px solid #797979;
            background: #FFFFFF;
            color: #797979;
        }
        .lowerpage .linkbutton2 > a:hover::after {
            background: url('/images/bg/bg_btnarrow_on.png');
        }
        .lowerpage .linkbutton2 > a.pt2:hover::after {
            background: url('/images/bg/bg_btnarrow_on2.png');
        }
    .lowerpage .backlink {
        margin: 40px auto;
        text-align: right;
    }
        .lowerpage .backlink > a {
            position: relative;
            display: inline-block;
            height: 60px;
            font-size: 22px;
            font-weight: 600;
            color: #FFFFFF;
            line-height: 30px;
            padding: 15px 45px 15px 30px;
            background: #797979;
            border: 1px solid #797979;
            text-decoration: none;
        }
        .lowerpage .backlink > a::after {
            position: absolute;
            width: 13.5px;
            height: 22px;
            content: "";
            background: url('/images/bg/bg_btnarrow_off.png');
            background-size: 100% 100%;
            top: 19px;
            right: 16px;
        }
        .lowerpage .backlink > a:hover {
            border: 1px solid #797979;
            background: #FFFFFF;
            color: #797979;
        }
        .lowerpage .backlink > a:hover::after {
            background: url('/images/bg/bg_btnarrow_on2.png');
            background-size: 100% 100%;
        }
    ul.triple_images {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin: 20px auto;
    }
        ul.triple_images li {
            width: 314px;
            height: 182px;
            background: #F0F0F0;
        }
        ul.triple_images li:nth-of-type(n+4) { margin-top: 20px; }
}
/* ******************************************* */
/*          SP
/* ******************************************* */
@media(max-width:736px){
    /************ anchorリンク1 *************/
    .common_anchor, .common_anchor4 {
        margin: 4vw auto;
    }
        .common_anchor ul,
        .common_anchor4 ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-start;
        }
        .common_anchor ul li,
        .common_anchor4 ul li {
            width: 48%;
            max-width: 220px;
            height: 44px;
            margin: 0px 1% 1%;
        }
        .common_anchor ul li a,
        .common_anchor4 ul li a {
            display: flex;
            height: 44px;
            border: 1px solid #f2008d;
            background: #FFFFFF;
            color: #f2008d;
            font-size: 12px;
            line-height: 14px;
            padding: 10px 10px;
            border-radius: 22px;
            text-align: center;
            text-decoration: none;
            align-items: center;
            justify-content: center;
        }
        .common_anchor ul li a.current,
        .common_anchor4 ul li a.current {
            text-decoration: none;
            background: #f2008d;
            color: #FFFFFF;
        }
    .arrow_anchor {
        margin: 4vw auto;
    }
        .arrow_anchor ul {
            display: flex;
            flex-wrap: wrap;
            padding: 0 2vw;
        }
        .arrow_anchor ul li {
            width: 48%;
            height: 44px;
            max-width: 220px;
            margin: 0px 1% 2vw;
        }
        .arrow_anchor ul li:nth-of-type(n+3) { margin-top: 2vw; }
        .arrow_anchor ul li a {
            display: flex;
            height: 44px;
            position: relative;
            border: 1px solid #f2008d;
            background: #FFFFFF;
            color: #f2008d;
            font-size: 12px;
            line-height: 18px;
            padding: 0px 10px;
            text-align: center;
            text-decoration: none;
            align-items: center;
            justify-content: center;
            text-decoration: none;
        }
        .arrow_anchor ul li a.current {
            text-decoration: none;
            padding: 7px 10px 7px;
            border: 4px solid #f2008d;
        }
        .arrow_anchor ul li a::after {
            position: absolute;
            content: "";
            background: url('/images/bg/access_linkarrow.png') no-repeat;
            background-size: 100% 100%;
            width: 4px;
            height: 18px;
            left: 50%;
            margin-left: -1px;
            bottom: -12px;
        }
        .arrow_anchor ul li a.current::after {
            bottom: -8px;
        }
    /************ アンカーボタン ************/
    .gallery_anchor {
        margin: 4vw auto;
    }
        .gallery_anchor ul {
            position: relative;
        }
        .gallery_anchor ul li {
            position: relative;
            float: left;
            width: 50%;
            height: 45px;
            margin-left: -1px;
            margin-top: -1px;
        }
        .gallery_anchor ul li:nth-of-type(2n+1) {
            width: calc( 50% - 1px );
            margin-left: 0px;
        }
        .gallery_anchor ul li a {
            display: inline-block;
            font-feature-settings: "palt";
            text-align: center;
            color: #F2008D;
            border: 1px solid #F2008D;
            background: #FFFFFF;
            text-decoration: none;
            font-weight: 600;
            font-size: 14px;
            line-height: 20px;
            width: 100%;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
        }
        .gallery_anchor ul li a.current {
            background: #F2008D;
            color: #FFFFFF;
        }
        .gallery_anchor ul li a span {
            display: block;
            color: #000;
            text-align: center;
            font-size: 9px;
            font-weight: 400;
            line-height: 10px;
        }
        .gallery_anchor ul li a.current span {
            color: #FFFFFF;
        }
    /************ 下層リンクボタン ************/
    .lowerpage .linkbutton2,
    .lowerpage .linkbutton {
        margin: 2vw auto 5vw ;
    }
        .lowerpage .linkbutton > a {
            display: inline-block;
            font-size: 18px;
            font-weight: 600;
            letter-spacing: 0.080em;
            color: #FFFFFF;
            line-height: 35px;
            padding: 5px 10px 5px 20px;
            background: #ffbed2;
            border: 1px solid #FFBED2;
            text-decoration: none;
            vertical-align: middle;
            width: 90%;
        }
        .lowerpage .linkbutton > a::after {
            display: inline-block;
            width: 20px;
            height: 20px;
            content: "";
            background: url('/images/bg/arrow_off.png');
            background-size: 100% 100%;
            margin-left: 12px;
            vertical-align: middle;
        }
        .lowerpage .linkbutton2 > a {
            position: relative;
            display: inline-block;
            width: 80%;
            max-width: 392px;
            height: 60px;
            font-size: 20px;
            font-weight: 600;
            color: #FFFFFF;
            line-height: 30px;
            margin: 0 15px;
            padding: 15px 20px 15px 10px;
            background: #f2008d;
            border: 1px solid #f2008d;
            text-decoration: none;
        }
        .lowerpage .linkbutton2 > a.pt2 {
            background: #797979;
            border: 1px solid #797979;
            padding: 15px 20px 15px 10px;
        }
        .lowerpage .linkbutton2 > a::after {
            position: absolute;
            width: 12px;
            height: 20px;
            content: "";
            background: url('/images/bg/bg_btnarrow_off.png');
            background-size: 100% 100%;
            top: 20px;
            right: 18px;
        }
        .lowerpage .linkbutton2 > a.pt2::after {
            background-size: 100% 100%;
            top: 20px;
            left: 18px;
            right: auto;
            transform: rotate( 180deg );
        }
        .lowerpage .linkbutton2 > a:hover {
            border: 1px solid #f2008d;
            background: #FFFFFF;
            color: #f2008d;
        }
        .lowerpage .linkbutton2 > a.pt2:hover {
            border: 1px solid #797979;
            background: #FFFFFF;
            color: #797979;
        }
        .lowerpage .linkbutton2 > a:hover::after {
            background: url('/images/bg/bg_btnarrow_on.png');
        }
        .lowerpage .linkbutton2 > a.pt2:hover::after {
            background: url('/images/bg/bg_btnarrow_on2.png');
        }
    .lowerpage .backlink {
        margin: 4vw auto;
        text-align: right;
    }
        .lowerpage .backlink > a {
            position: relative;
            display: inline-block;
            font-size: 12px;
            font-weight: 600;
            color: #FFFFFF;
            line-height: 22px;
            padding: 5px 20px 5px 10px;
            background: #797979;
            border: 1px solid #797979;
            text-decoration: none;
        }
        .lowerpage .backlink > a::after {
            position: absolute;
            width: 7px;
            height: 12px;
            content: "";
            background: url('/images/bg/bg_btnarrow_off.png');
            background-size: 100% 100%;
            top: 10px;
            right: 6px;
        }
    ul.triple_images {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin: 2vw auto;
    }
        ul.triple_images li {
            margin: 2vw auto;
            max-width: 314px;
            background: #F0F0F0;
        }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          下層ページ PC
/* ******************************************* */
@media(min-width:737px){
    /************ コンセプト *************/
    .concept_top {
        background: url('/images/bg/bg_concept.png') no-repeat;
        background-position: 50% 50%;
        background-color: #FFFFFF;
        min-height: 675px;
        padding: 62px 0px 0px;
    }
        .concept_top .topmessage {
            margin-bottom: 62px;
            text-align: center;
        }
        .concept_top .mainbody {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .concept_top .message {
            text-align: left;
            margin: 20px auto;
        }
        .concept_top .message p {
            font-size: 18px;
            line-height: 30px;
            margin: 18px auto 30px;
        }
    .concept_unusual {
        background: url('/images/bg/bg_unusual.png') no-repeat;
        background-position: 50% -12px;
        background-color: #FFFFFF;
        padding: 1px 0px 1px;
    }
        .concept_unusual h3 {
            padding-bottom: 30px !important;
        }
        .concept_unusual .message {
            width: 470px;
            margin: 35px auto 80px 0px;
            text-align: left;
        }
        .concept_unusual .message p {
            font-size: 14px;
            line-height: 20px;
            margin-bottom: 20px;
        }
        .concept_unusual .wrapper {
            padding-bottom: 15px;
            border-bottom: 1px solid #000;
        }
    .concept_parts {
        background: #FFFFFF;
        padding: 1px 0px;
    }
        .concept_parts .bottomborder {
            border-bottom: 1px solid #000;
        }
        .concept_parts .mainbody {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin: 40px auto;
        }
        .concept_parts .mainbody .image {
            width: 490px;
        }
        .concept_parts .mainbody .message {
            width: 470px;
            text-align: left;
        }
        .concept_parts .mainbody .message p {
            font-size: 14px;
            line-height: 20px;
            margin-bottom: 20px;
        }
        .concept_parts .imageright .image { order: 2; }
        .concept_parts .imageright .message { order: 1; }
    /************ フォトグラファー紹介 *************/
    .photographer {
        position: relative;
        margin: 40px auto 60px;
        padding-left: 380px;
    }
        .photographer .image {
            position: absolute;
            top: 0px;
            left: 22px;
        }
        .photographer .image .name {
            font-family: "Mplus 1p";
            position: absolute;
            font-size: 30px;
            line-height: 30px;
            padding: 8px 20px;
            color: #808080;
            background: #FFFFFF;
            transform: rotate( -10deg );
            letter-spacing: 0.100em;
            bottom: -6px;
            right: -20px;
        }
        .photographer .profile {
            padding-left: 134px;
            color: #4b4b4b;
            text-align: left;
        }
        .photographer .profile .name {
            font-size: 30px;
            line-height: 40px;
            margin: 0px auto 22px;
            padding-top: 18px;
            letter-spacing: 0.100em;
            font-weight: 600;
        }
        .photographer .profile .name span {
            font-size: 15px;
        }
        .photographer .profile .detail {
            font-size: 15px;
            line-height: 25px;
            font-weight: 600;
            margin: 20px auto;
            letter-spacing: 0.100em;
        }
        .photographer .comment {
            background: #eeeeee;
            padding: 40px 50px 15px 134px;
            text-align: left;
        }
        .photographer .comment p {
            font-size: 14px;
            line-height: 25px;
            color: #4b4b4b;
            margin-bottom: 25px;
        }
    /************ アクセス *************/
    .studio_infomation {
        position: relative;
        background: url('/images/bg/bg_top_news.png');
        margin-top: 100px;
    }
        .studio_infomation .inner {
            background: #f681a5;
            position: relative;
            left: 50%;
            margin-left: -260px;
            width: 1500px;
            padding-top: 60px;
            padding-left: 260px;
            padding-bottom: 55px;
        }
        .studio_infomation .inner .image {
            position: absolute;
            top: -60px;
            left: -177px;
            width: 354px;
            height: 354px;
            background: #f681a5;
            color: #f681a5;
            border: 5px solid #FFFFFF;
            border-radius: 50%;
            overflow: hidden;
            z-index: 10;
        }
        .studio_infomation .inner .stripebg {
            position: absolute;
            left: 294px;
            top: -40px;
            height: 132px;
            width: 1500px;
            background: url('/images/bg/bg_stripe.png');
            z-index: 10;
        }
        .studio_infomation .inner .mainbody {
            position: relative;
            width: 490px;
            z-index: 100;
            min-height: 200px;
        }
        .studio_infomation .inner .mainbody .title {
            font-size: 25px;
            line-height: 30px;
            padding: 15px;
            background: #FFFFFF;
            color: #f2008d;
            font-weight: 400;
            text-align: center;
            margin-bottom: 28px;
        }
        .studio_infomation .inner .mainbody .info {
            font-size: 18px;
            line-height: 30px;
            text-align: left;
            padding-left: 15px;
            color: #FFFFFF;
        }
        .studio_map {
            background: #f2008d;
            position: relative;
            height: 370px;
        }
        .studio_map #map_canvas {
            position: absolute;
            top: 0px;
            left: 50%;
            margin-left: -490px;
            width: 490px;
            height: 370px;
        }
        .studio_map #map_canvas iframe {
            max-width:100%;
            height:100%;
        }
        .studio_map .illustmap {
            position: absolute;
            top: 0px;
            left: 50%;
            background: #FFFFFF;
            width: 492px;
            height: 370px;
            display: flex;
            justify-content: center;
            align-items: center;
        }
    .access_flow {

    }
        .access_flow ul {
            display: flex;
            flex-wrap: wrap;
            counter-reset: access;
            margin: 0px auto 40px;
        }
        .access_flow ul li {
            position: relative;
            counter-increment: access;
            margin-bottom: 20px;
            margin-left: 40px;
        }
        .access_flow ul li:nth-of-type(3n+1) {
            margin-left: 0px;
        }
        .access_flow ul li::before {
            content: "";
            position: absolute;
            background: url('/images/bg/access_arrow.png') no-repeat;
            background-position: 50% 50%;
            width: 40px;
            height: 200px;
            top: 0px;
            left: -40px;
        }
        .access_flow ul li:nth-of-type(3n+1)::before {
            background: none;
        }
        .access_flow ul li .image {
            width: 300px;
            height: 200px;
            margin-bottom: 4px;
        }
        .access_flow ul li .caption {
            text-align: left;
            color: #707070;
            font-size: 14px;
            line-height: 22px;
            width: 300px;
        }
        .access_flow ul li .caption p::before {
            display: inline-block;
            content: counter(access);
            font-size: 11px;
            line-height: 16px;
            margin-right: 2px;
            width: 18px;
            text-align: center;
            color: #FFFFFF;
            background: #707070;
            position: relative;
            top: -1px;
        }
    /************ スタジオ内装 *************/
    .lower_interior {
        margin: 0 auto 80px !important;
    }
        .lower_interior h3 {
            margin: 20px auto 0px !important;
        }
        .lower_interior h3::after, .lower_interior h3::before {
            background: none !important;
        }
    .studio_interior {
        height: 450px;
        text-align: left;
    }
    .studio_interior .inner {
        position: relative;
    }
        .studio_interior .image {
            position: absolute;
            top: 0px;
            left: 344px;
            width: 900px;
            background: #f681a5;
            text-align: left;
        }
        .studio_interior .mainbody {
            position: absolute;
            top: 0px;
            left: 0px;
            width: 344px;
            height: 450px;
        }
        .studio_interior .title {
            font-size: 25px;
            line-height: 30px;
            padding: 45px 0px 22px;
            border-bottom: 3px solid #f2008d;
            color: #f2008d;
            margin-bottom: 25px;
        }
        .studio_interior .comment {
            font-size: 16px;
            line-height: 25px;
            letter-spacing: 0.010em;
            padding-right: 34px;
            color: #000000;
        }
    .studio_interior2 {
        height: 490px;
        padding: 20px 0px;
        background: #FFFFFF;
        text-align: left;
    }
    .studio_interior2 .inner {
        position: relative;
    }
        .studio_interior2 .image {
            position: absolute;
            top: 0px;
            right: 340px;
            width: 900px;
            background: #f681a5;
            text-align: right;
        }
        .studio_interior2 .mainbody {
            position: absolute;
            top: 0px;
            right: 0px;
            width: 340px;
            height: 450px;
        }
        .studio_interior2 .title {
            font-size: 25px;
            line-height: 30px;
            padding: 45px 0px 22px 34px;
            border-bottom: 3px solid #f2008d;
            color: #f2008d;
            margin-bottom: 25px;
        }
        .studio_interior2 .comment {
            font-size: 16px;
            line-height: 25px;
            padding-left: 34px;
            letter-spacing: 0.010em;
            color: #000000;
        }
    /************ プラン *************/
    .plan_top {
        background: #FFFFFF;
        padding: 0px 0px 1px;
    }
    .plan_top .plan_top_bg {
        background: url('/images/bg/bg_plan.png') no-repeat;
        background-position: 50% 30%;
        background-color: #f6f6f5;
        padding: 1px 0px;
    }
        .plan_patern {
            margin: 40px auto 25px;
            display: flex;
            justify-content: center;
        }
        .plan_patern .parts {
            margin: 0px 28px;
            width: 400px;
/*            height: 200px;
*/
            padding: 10px;
            background: #ffbed2;
/*            display: flex;
*/
            justify-content: center;
            align-items: center;
        }
        .plan_patern .parts p {
            font-size: 25px;
            line-height: 40px;
            color: #FFFFFF;
            text-align: center;
        }
        .plan_patern .parts p strong {
            font-size: 40px;
            font-weight: 600;
        }
        .plan_patern .parts .richtext{
            display: block;
        }
        .plan_patern .parts .richtext + .richtext,
        .plan_patern .parts .richtext + .richtext p{
            line-height: 20px;
            text-align: left;
        }
        .plan_detail {
            width: 855px;
            margin: 0 auto;
            font-size: 20px;
            line-height: 30px;
            text-align: left;
            color: #4b4b4b;
        }
        .plan_coma {
            width: 855px;
            margin: 0 auto;
            font-size: 25px;
            line-height: 40px;
            text-align: left;
            color: #4b4b4b;
        }
        .plan_spec ul {
            display: flex;
            justify-content: space-between;
            margin: 85px auto 50px;
        }
        .plan_spec ul li {
            width: 314px;
            border-left: 1px solid #000;
            border-right: 1px solid #000;
            border-bottom: 1px solid #000;
        }
        .plan_spec ul li .catch {
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
            position: relative;
            width: 230px;
            height: 100px;
            background: rgba( 255, 255, 255, 0.5 );
            font-feature-settings: "palt";
            border: 1px solid #7b7b7b;
            margin: -50px auto 15px;
        }
        .plan_spec ul li .catch::before,
        .plan_spec ul li .catch::after {
            position: absolute;
            content: "";
            width: 27px;
            height: 1px;
            top: 49px;
            background: #000;
        }
        .plan_spec ul li .catch .small { font-size: 14px; line-height: 20px; }
        .plan_spec ul li .catch .large { font-size: 22px; line-height: 30px; font-weight: 600; }
        .plan_spec ul li .catch::before {
            left: -43px;
        }
        .plan_spec ul li .catch::after {
            right: -43px;
        }
        .plan_spec ul li .comment {
            font-size: 16px;
            text-align: left;
            line-height: 25px;
            color: #555555;
            padding: 0px 30px 30px;
        }
    .plan_topic ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 40px auto 0px;
    }
        .plan_topic ul li {
            width: 470px;
            margin-bottom: 40px;
        }
        .plan_topic ul li h4 {
            margin: 0px auto 20px;
        }
        .plan_topic ul li .image {
            margin: 0px auto 12px;
        }
        .plan_topic ul li .comment {
            font-size: 14px;
            line-height: 20px;
            text-align: left;
            color: #4b4b4b;
        }
    .plan_special {
        background: #FFFFFF;
        padding: 1px 0px;
    }
    .plan_special .special753 {
        background: url('/images/bg/bg_sp753.png') no-repeat right 30px;
        width: 980px;
        min-height: 400px;
        padding-top: 30px;
        margin: 32px auto 50px;
    }
    .plan_special .border_wrap {
     border:1px solid #d2d2d2;
     margin-bottom:30px;
     padding-bottom:4px;
     position: relative;
    }
    .plan_special .special753.baby {
    	background: url('/images/bg/plan_baby_bg.jpg') no-repeat top 0 right 30px;
    	background-size:398px;
    	padding-top:0;
    }
    .plan_special .special753.baby .border_wrap {
     border:1px solid #d2d2d2;
     margin-bottom:30px;
     padding-bottom:0;
    }
    .plan_special .special753.baby .border_wrap .description {
        margin-top:30px;
    }
    .plan_special .special753.friend {
    	background: url('/images/bg/friend_bg.jpg') no-repeat right 30px;
    	background-size:500px;
    	padding-top:0;
    }
    .plan_special .special753.friend .border_wrap {
     border:1px solid #d2d2d2;
     margin-bottom:30px;
    }
    .plan_special .special753.friend .border_wrap .description {
        margin-top:30px;
    }
    .plan_special .special753.trip {
    	background: url('/images/bg/trip_bg.jpg') no-repeat right 30px;
    	background-size:500px;
    	padding-top:0;
    }
    .plan_special .special753.trip .border_wrap {
     border:1px solid #d2d2d2;
     margin-bottom:30px;
    }
    .plan_special .special753.trip .border_wrap .description {
        margin-top:30px;
    }
    .plan_special .specialmake {
        padding-top: 30px;
        background: url('/images/bg/bg_spmake.png') no-repeat;
        width: 980px;
        min-height: 400px;
        padding-top: 30px;
        margin: 32px auto 80px;
    }
    .plan_special .no_bg {
        background: none;
    }
    .plan_special .image {
        position: absolute;
        right: 0;
        top: 0;
        max-width: 500px;
    }
    .plan_special .description {
        width: 430px;
        margin: 0px auto 0px 0px;
        padding: 16px 25px 23px 30px;
        background: rgba( 255, 0, 150, 0.07 );
        text-align: left;
        color: #000;
    }
    .plan_special .special753.memorial {
        background: url('/images/bg/bg_memorial.png') no-repeat right 30px;
    }
        .plan_special .description .title {
            font-size: 20px;
            line-height: 40px;
            font-weight: 600;
        }
        .plan_special .description .subtitle {
            font-size: 18px;
            line-height: 20px;
            margin-bottom: 28px;
        }
        .plan_special .description .comment {
            font-size: 14px;
            line-height: 20px;
        }
        .plan_special .description .caption {
            font-size: 14px;
            line-height: 21px;
            font-feature-settings: "palt";
        }
        .plan_special .description .text {
            font-size: 16px;
            line-height: 24px;
        }
        .plan_special .description .borderline {
            background: #000000;
            height: 1px;
            margin: 13px auto;
        }
    .plan_special .bottombox .caution {
        width: 430px;
        margin: 0px auto 0px 0px;
        padding: 8px 26px 20px 30px;
    }
        .plan_special .bottombox .caution {
            font-size: 12px;
            line-height: 15px;
            text-align: left;
        }
    .plan_special .information {
        border: 1px solid #d2d2d2;
        background: #EEEEEE;
        padding: 17px 25px 20px;
        text-align: left;
    }
        .plan_special .information .title {
            font-size: 20px;
            line-height: 29px;
            font-weight: 600;
        }
        .plan_special .information .comment {
            font-size: 14px;
            line-height: 21px;
        }
        .plan_special .information .caution {
            font-size: 12px;
            line-height: 21px;
        }
    /************ FLOW *************/
    .photoflow {

    }
    .flow_wrapper {
        position: relative;
        left: 50%;
        width: 1040px;
        padding: 5px 30px 30px;
        margin-top: 60px;
        margin-left: -520px;
        margin-bottom: 80px;
        background: #FFFFFF;
    }
    .flow_wrapper .flow_step1 h3, .flow_wrapper .flow_step2 h3,
    .flow_wrapper .flow_step3 h3, .flow_wrapper .flow_step4 h3,
    .flow_wrapper .flow_step5 h3, .flow_wrapper .flow_step6 h3 {
        margin: 30px auto;
        padding: 26px 26px 26px 190px;
        text-align: left;
        font-size: 28px;
        line-height: 40px;
        background-repeat: no-repeat;
    }
        .flow_wrapper .flow_step1 h3 { background-image: url('/images/bg/step1.png'); }
        .flow_wrapper .flow_step2 h3 { background-image: url('/images/bg/step2.png'); }
        .flow_wrapper .flow_step3 h3 { background-image: url('/images/bg/step3.png'); }
        .flow_wrapper .flow_step4 h3 { background-image: url('/images/bg/step4.png'); }
        .flow_wrapper .flow_step5 h3 { background-image: url('/images/bg/step5.png'); }
        .flow_wrapper .flow_step6 h3 { background-image: url('/images/bg/step6.png'); }
        .flow_wrapper h3::after, .flow_wrapper h3::before { background: none !important; }
    .flow_step1 .parts1 {
        display: flex;
        justify-content: space-between;
    }
        .flow_step1 .parts1 .text {
            font-size: 16px;
            line-height: 28px;
            text-align: left;
        }
        .flow_step1::after, .flow_step2::after,
        .flow_step3::after, .flow_step4::after, .flow_step5::after {
            display: block;
            height: 34px;
            background: url('/images/bg/trigray.png') no-repeat;
            background-position: 50% 0px;
            border-top: 1px solid #dcdcdc;
            margin-top: 40px;
            content: "";
        }
    .photoflow_text {
        font-size: 16px;
        line-height: 28px;
        text-align: left;
        margin: 10px auto 20px;
    }
    .flow_rightimage,
    .flow_leftimage {
        margin: 20px auto;
        display: flex;
        justify-content: space-between;
    }
        .flow_rightimage .image,
        .flow_leftimage .image {
            width: 465px;
        }
        .flow_rightimage .text,
        .flow_leftimage .text {
            font-size: 16px;
            line-height: 28px;
            text-align: left;
            width: 465px;
        }
        .flow_rightimage .image { order: 2; }
        .flow_rightimage .text { order: 1; }
    .photoflow ul.flow_scene {
        display: flex;
        justify-content: space-between;
        margin: -5px auto 20px;
    }
        .photoflow ul.flow_scene li {
            width: 230px;
        }
        .photoflow ul.flow_scene li .image {
            width: 230px;
            height: 120px;
        }
        .photoflow ul.flow_scene li .caption {
            font-size: 12px;
            line-height: 22px;
            text-align: left;
            margin: 10px auto;
        }
    .photoflow .slider_interior {
        padding: 0px;
        background: none;
    	margin-bottom: 20px;
    	position: relative;
        width: 980px;
        left: 50%;
        margin-left: -490px;
        overflow: hidden;
    }
        .photoflow .slider_interior .wrapper {
            position: relative;
            width: 980px;
            left: 50%;
            margin-left: -490px;
        }
        /************ スライダー矢印 *************/
        .photoflow .slider_interior .bx-wrapper .bx-prev { left: 4px; }
        .photoflow .slider_interior .bx-wrapper .bx-next { right: 4px; }
        .photoflow .slider_interior .bx-wrapper .bx-controls-direction a {
            position: absolute;
            top: 88px;
            width: 51px;
            height: 51px;
            text-indent: -9999px;
            z-index: 9999;
        }
    /************ アルバム *************/
    .albumpage {
        background: #FFFFFF;
        padding: 1px 0px 80px;
    }
    .album_goods {
        position: relative;
        width: 100vw;
        left: 50%;
        margin-left: -50vw;
        background: url('/images/bg/bg_albumparts.png');
    }
        .album_goods .inner {
            width: 980px;
            padding: 30px 0px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: start;
        }
        .album_goods .infobox {
            border: 1px solid #f2008d;
            background: #FFFFFF;
            padding: 50px 34px;
            display: flex;
            justify-content: center;
            width: 314px;
            align-items: center;
        }
        .album_goods .infobox h4 {
            font-size: 20px;
            color: #F2008D;
            line-height: 25px;
            margin: 0px auto 22px;
            padding: 0px;
            text-align: left;
            font-weight: 600;
            background: none;
        }
        .album_goods .infobox .comment {
            font-size: 14px;
            line-height: 20px;
            text-align: left;
            color: #000;
        }
        .album_goods .image {
            width: 648px;
        }
    .album_info {
        position: relative;
        width: 100vw;
        left: 50%;
        margin-left: -50vw;
        background: url('/images/bg/bg_album.png');
    }
        .album_info .inner {
            width: 980px;
            padding: 15px 0px;
            margin: 0 auto;
        }
        .album_info table {
            border: 1px solid #d2d2d2;
            width: 100%;
            margin: 15px auto;
        }
        .album_info table th {
            background: #EEEEEE;
            width: 312px;
            vertical-align: middle;
            text-align: center;
            color: #545454;
            font-size: 20px;
            line-height: 30px;
            font-weight: 600;
        }
        .album_info table td {
            background: #FFFFFF;
            padding: 20px 22px;
            vertical-align: middle;
            text-align: left;
            width: 666px;
            font-size: 14px;
            line-height: 20px;
            color: #000000;
        }
        .album_info table td .size {
            background: #EEEEEE;
            text-align: center;
            padding: 10px 20px;
            margin: 10px auto 15px;
        }
        .album_info table td .price {
            font-size: 20px;
            text-align: left;
            line-height: 30px;
            color: #545454;
            font-weight: 600;
        }
    ul.album_type,
    ul.album_detail {
        display: flex;
        justify-content: space-between;
        margin: 0px auto 40px;
    }
        ul.album_detail li {
            width: 314px;
        }
        ul.album_type li {
            width: 480px;
        }
        ul.album_detail li .image {
            width: 314px;
            height: 182px;
        }
        ul.album_type li .image {
            width: 480px;
            height: 240px;
        }
        ul.album_type li .type,
        ul.album_detail li .type {
            background: #8f8f8f;
            color: #FFFFFF;
            text-align: center;
            font-size: 18px;
            line-height: 20px;
            padding: 10px;
            margin-bottom: 6px;
        }
        ul.album_type li .comment,
        ul.album_detail li .comment {
            color: #707070;
            font-size: 18px;
            line-height: 25px;
            text-align: left;
        }
    table.album_table {
        width: 100%;
        margin: 20px auto 8px;
        border: 1px solid #E0E0E0;
    }
        table.album_table th {
            font-size: 20px;
            line-height: 28px;
            padding: 10px 10px;
            text-align: center;
            vertical-align: middle;
            background: #d2d2d2;
            color: #FFFFFF;
            border: 1px solid #E0E0E0;
        }
        table.album_table td {
            font-size: 16px;
            line-height: 18px;
            padding: 10px 28px;
            text-align: left;
            vertical-align: middle;
            background: #FFFFFF;
            border: 1px solid #E0E0E0;
        }
    .album_comment {
        margin: 8px auto 40px;
        color: #707070;
        font-size: 18px;
        line-height: 25px;
        text-align: left;
    }
    /************ サイトマップ *************/
    .sitemap {
        margin: 20px 100px;
        text-align: left;
        font-size: 16px;
        font-weight: bold;
    }
    .sitemap > ul {
        border-bottom: 1px dotted #C0C0C0;
    }
        .sitemap > ul > li {
            border-top: 1px dotted #C0C0C0;
        }
        .sitemap > ul > li > ul {

        }
        .sitemap > ul > li > ul > li {
            border-top: 1px dotted #C0C0C0;
            padding-left: 2em;
        }
        .sitemap > ul > li > ul > li > ul {
            padding-left: 2em;
        }
        .sitemap > ul > li > ul > li > ul > li {
            border-top: 1px dotted #C0C0C0;
        }
        .sitemap a {
            display: inline-block;
            padding: 8px 0px;
            background: none;
        }
        .sitemap > ul > li > a,
        .sitemap > ul > li > ul > li > a,
        .sitemap > ul > li > ul > li > ul > li > a {
            padding: 12px 0px;
            background: url('/images/bg/sitemap_arrow.png') no-repeat 0px 50%;
            background-size: 22px 22px;
            padding-left: 28px;
        }


    .studio_viewer {
        background: url('/images/bg/bg_border.png');
        margin: 20px auto;
        padding: 20px 0px;
    }
        .studio_viewer .text {
            text-align: center;
            border: 1px solid rgba( 0, 0, 0, 0.3 );
            background: #ffecf7;
            padding: 8px;
            margin-bottom: 20px;
        }
        .studio_viewer ul {
            display: flex;
            flex-wrap: wrap;
        }
        .studio_viewer .viewer_wrapper {
            max-height: 100px;
            transition: 0.3s;
            overflow: hidden;
        }
        .studio_viewer ul li {
            width: 110px;
            height: 84px;
            margin: 8px 6px;
            border: 1px solid #DDD;
        }
        .studio_viewer .keyboard {
            width: 180px;
            height: 40px;
            margin: 20px auto;
            background: url('/images/open1.png');
            cursor: pointer;
        }
        .studio_viewer .keyboard.open {
            width: 180px;
            height: 40px;
            margin: 20px auto;
            background: url('/images/close1.png');
        }
}
/* ******************************************* */
/*          下層ページ SP
/* ******************************************* */
@media(max-width:736px){
    .concept_top {
        background: url('/images/bg/bg_concept.png') no-repeat;
        background-position: 50% 50%;
        background-color: #FFFFFF;
        padding: 5vw 0px 5vw;
    }
        .concept_top .topmessage {
            margin-bottom: 4vw;
            text-align: center;
        }
        .concept_top .mainbody {
            width: 80%;
            max-width: 400px;
            margin: 2vw auto;
        }
        .concept_top .message {
            text-align: left;
            margin: 2vw auto;
        }
        .concept_top .message p {
            font-size: 14px;
            line-height: 20px;
            margin: 2vw auto 2vw;
        }
    .concept_unusual {
        background: url('/images/bg/bg_unusual2.png') no-repeat;
        background-position: 0% 0%;
        background-color: #FFFFFF;
        padding: 1px 0px 1px;
    }
        .concept_unusual .message {
            margin: 3vw auto 8vw;
            text-align: left;
            text-shadow: 0 0 3px #FFF, 0 0 10px #FFF, 0 0 3px #FFF;
        }
        .concept_unusual .message p {
            font-size: 12px;
            line-height: 16px;
            margin-bottom: 12px;
        }
        .concept_unusual .wrapper {
            padding-bottom: 2vw;
            border-bottom: 1px dotted #666;
        }
    .concept_parts {
        background: #FFFFFF;
        padding: 1px 0px;
    }
        .concept_parts .bottomborder {
            border-bottom: 1px dotted #666;
        }
        .concept_parts .mainbody {
            margin: 4vw auto;
        }
        .concept_parts .mainbody .image {
            width: 80%;
            max-width: 400px;
            margin: 2vw auto;
        }
        .concept_parts .mainbody .message {
            width: 80%;
            max-width: 400px;
            margin: 2vw auto;
            text-align: left;
        }
        .concept_parts .mainbody .message p {
            font-size: 12px;
            line-height: 16px;
            margin-bottom: 16px;
        }
    /************ フォトグラファー紹介 *************/
    .photographer {
        position: relative;
        margin: 2vw auto 6vw;
    }
        .photographer .image {
            width: 75%;
            margin: 0 auto 2vw;
            position: relative;
        }
        .photographer .image .name {
            font-family: "Mplus 1p";
            position: absolute;
            font-size: 15px;
            line-height: 15px;
            padding: 8px 10px;
            color: #808080;
            background: #FFF2F5;
            transform: rotate( -6deg );
            letter-spacing: 0.100em;
            bottom: -3px;
            right: -10px;
        }
        .photographer .profile {
            color: #4b4b4b;
            text-align: left;
        }
        .photographer .profile .name {
            font-size: 16px;
            line-height: 20px;
            width: 85%;
            margin: 3vw auto 2vw;
            font-weight: 600;
            text-align: center;
        }
        .photographer .profile .name span {
            font-size: 13px;
        }
        .photographer .profile .detail {
            font-size: 13px;
            line-height: 20px;
            font-weight: 600;
            margin: 2vw auto;
            text-align: center;
        }
        .photographer .comment {
            width: 85%;
            margin: 0px auto 2vw;
            background: #eeeeee;
            padding: 3vw;
            text-align: left;
        }
        .photographer .comment p {
            font-size: 12px;
            line-height: 16px;
            color: #4b4b4b;
            margin-bottom: 16px;
        }
    /************ アクセス *************/
    .studio_infomation {
        position: relative;
        background: url('/images/bg/bg_top_news.png');
        margin-top: 5vw;
    }
        .studio_infomation .inner {
            background: #f681a5;
            width: 100%:auto;
            padding: 2vw 0vw;
        }
        .studio_infomation .inner .image {
            width: 75%;
            max-width: 380px;
            border: 5px solid #FFFFFF;
            border-radius: 50%;
            overflow: hidden;
            z-index: 10;
            margin: 2vw auto;
        }
        .studio_infomation .inner .stripebg {
        }
        .studio_infomation .inner .mainbody {
            z-index: 100;
            margin: 4vw auto;
        }
        .studio_infomation .inner .mainbody .title {
            font-size: 17px;
            line-height: 25px;
            padding: 15px 8px;
            background: #FFFFFF;
            color: #f2008d;
            font-weight: 400;
            text-align: center;
            margin-bottom: 2vw;
        }
        .studio_infomation .inner .mainbody .info {
            font-size: 11px;
            line-height: 21px;
            text-align: left;
            padding-left: 3vw;
            color: #FFFFFF;
        }
        .studio_map {
            background: #f2008d;
            position: relative;
        }
        .studio_map #map_canvas {
            width: 100vw;
            height: 70vw;
        }
        .studio_map #map_canvas iframe {
            max-width:100%;
            height:100%;
        }
        .studio_map .illustmap {
            background: #FFFFFF;
            padding: 1vw 4vw 3vw;
        }
    .access_flow {

    }
        .access_flow ul {
            display: flex;
            flex-wrap: wrap;
            counter-reset: access;
            margin: 0px auto 5vw;
        }
        .access_flow ul li {
            width: 47%;
            position: relative;
            counter-increment: access;
            margin-bottom: 2vw;
            margin-left: 6%;
        }
        .access_flow ul li:nth-of-type(2n+1) {
            margin-left: 0px;
        }
        .access_flow ul li::before {
            content: "";
            position: absolute;
            background: url('/images/bg/access_arrow.png') no-repeat;
            background-size: 100% auto;
            background-position: 50% 50%;
            width: 10%;
            height: 30vw;
            top: 0px;
            left: -11%;
        }
        .access_flow ul li:nth-of-type(2n+1)::before {
            background: none;
        }
        .access_flow ul li .image {
            margin-bottom: 4px;
        }
        .access_flow ul li .caption {
            text-align: left;
            color: #707070;
            font-size: 9px;
            line-height: 14px;
        }
        .access_flow ul li .caption p::before {
            display: inline-block;
            content: counter(access);
            font-size: 9px;
            line-height: 12px;
            margin-right: 2px;
            width: 12px;
            text-align: center;
            color: #FFFFFF;
            background: #707070;
            position: relative;
            top: -1px;
        }
    /************ スタジオ内装 *************/
    .lower_interior {
        margin: 0 auto 8vw !important;
    }
        .lower_interior h3 {
            margin: 2vw auto 0px !important;
        }
        .lower_interior h3::after, .lower_interior h3::before {
            background: none !important;
        }
    .studio_interior {
        width: 90%;
        max-width: 350px;
        margin: 4vw auto 6vw;
        text-align: left;
    }
        .studio_interior .image {
            margin: 0 auto;
        }
        .studio_interior .mainbody {
        }
        .studio_interior .title {
            font-size: 20px;
            line-height: 25px;
            padding: 3vw 0px 2vw;
            border-bottom: 3px solid #f2008d;
            color: #f2008d;
            margin-bottom: 2.5vw;
        }
        .studio_interior .comment {
            font-size: 14px;
            line-height: 20px;
            color: #000000;
        }
    .studio_interior2 {
        width: 90%;
        max-width: 350px;
        margin: 4vw auto 6vw;
        text-align: left;
    }
        .studio_interior2 .image {
            margin: 0 auto;
        }
        .studio_interior2 .mainbody {
        }
        .studio_interior2 .title {
            font-size: 20px;
            line-height: 25px;
            padding: 3vw 0px 2vw;
            border-bottom: 3px solid #f2008d;
            color: #f2008d;
            margin-bottom: 2.5vw;
        }
        .studio_interior2 .comment {
            font-size: 14px;
            line-height: 20px;
            color: #000000;
        }
    /************ プラン *************/
    .plan_top {
        background: #FFFFFF;
        padding: 0px 0px 1px;
    }
    .plan_top .plan_top_bg {
        background: url('/images/bg/bg_plan.png') no-repeat;
        background-position: 50% 30%;
        background-color: #f6f6f5;
        padding: 1px 0px;
    }
        .plan_patern {
            margin: 4vw auto;
        }
        .plan_patern .parts {
            margin: 2vw auto;
/*            height: 78px;
*/
            background: #ffbed2;
/*            display: flex;
*/
            justify-content: center;
            align-items: center;
            padding: 10px;
        }
        .plan_patern .parts p {
            font-size: 18px;
            line-height: 30px;
            color: #FFFFFF;
            text-align: center;
        }
        .plan_patern .parts p strong {
            font-size: 30px;
            font-weight: 600;
        }
        .plan_patern .parts .richtext + .richtext,
        .plan_patern .parts .richtext + .richtext p{
            line-height: 20px;
            text-align: left;
        }
        .plan_detail {
            margin: 0 auto;
            font-size: 12px;
            line-height: 18px;
            text-align: left;
            color: #4b4b4b;
        }
        .plan_coma {
            margin: 0 auto;
            font-size: 14px;
            line-height: 22px;
            text-align: left;
            color: #4b4b4b;
        }
        .plan_spec ul {
            margin: 4vw auto 6vw;
        }
        .plan_spec ul li {
            width: 90%;
            max-width: 350px;
            margin: 2vw auto 4vw;
        }
        .plan_spec ul li .catch {
            text-align: center;
            position: relative;
            background: rgba( 255, 255, 255, 0.5 );
            font-feature-settings: "palt";
            border: 1px solid #7b7b7b;
            margin: 2vw auto;
            padding: 0.5em 1em;
        }
        .plan_spec ul li .catch .small { font-size: 12px; line-height: 16px; }
        .plan_spec ul li .catch .large { font-size: 18px; line-height: 24px; font-weight: 600; }
        .plan_spec ul li .comment {
            font-size: 12px;
            text-align: left;
            line-height: 18px;
            color: #555555;
            padding: 0px 3vw;
        }
    .plan_topic ul {
        margin: 4vw auto;
    }
        .plan_topic ul li {
            width: 90%;
            max-width: 350px;
            margin: 2vw auto 2vw;
        }
        .plan_topic ul li h4 {
            margin: 0px auto 2vw;
        }
        .plan_topic ul li .image {
            margin: 0px auto 2vw;
        }
        .plan_topic ul li .comment {
            font-size: 14px;
            line-height: 20px;
            text-align: left;
            color: #4b4b4b;
        }
    .plan_special {
        background: #FFFFFF;
        padding: 1px 0px;
    }
    .plan_special .special753 {
        margin: 2vw auto 8vw;
        border: 1px dotted #A0A0A0;
    }
    .plan_special .specialmake {
        margin: 2vw auto 8vw;
        border: 1px dotted #A0A0A0;
    }
    .plan_special .description {
        margin: 0px auto 0px;
        padding: 5vw 7vw;
        background: rgba( 255, 0, 150, 0.07 );
        text-align: left;
        color: #000;
    }
        .plan_special .description .title {
            font-size: 16px;
            line-height: 24px;
            font-weight: 600;
        }
        .plan_special .description .subtitle {
            font-size: 14px;
            line-height: 20px;
            margin-bottom: 2vw;
        }
        .plan_special .description .comment {
            font-size: 12px;
            line-height: 16px;
        }
        .plan_special .description .caption {
            font-size: 14px;
            line-height: 20px;
            font-feature-settings: "palt";
        }
        .plan_special .description .text {
            font-size: 12px;
            line-height: 16px;
        }
        .plan_special .description .borderline {
            background: #3F3F3F;
            height: 1px;
            margin: 2vw auto;
        }
    .plan_special .bottombox .caution {
        margin: 0px auto 4vw;
        padding: 2vw 5vw;
    }
        .plan_special .bottombox .caution {
            font-size: 12px;
            line-height: 15px;
            text-align: left;
        }
    .plan_special .information {
        background: #EEEEEE;
        padding: 3vw 5vw;
        text-align: left;
    }
        .plan_special .information .title {
            font-size: 16px;
            line-height: 24px;
            font-weight: 600;
        }
        .plan_special .information .comment {
            font-size: 12px;
            line-height: 16px;
        }
        .plan_special .information .caution {
            font-size: 12px;
            line-height: 16px;
            color: #888;
        }
    /************ FLOW *************/
    .photoflow {

    }
    .flow_wrapper {
        padding: 1vw 3vw 3vw;
        margin-top: 4vw;
        margin-bottom: 6vw;
        background: #FFFFFF;
    }
    .flow_wrapper .flow_step1 h3, .flow_wrapper .flow_step2 h3,
    .flow_wrapper .flow_step3 h3, .flow_wrapper .flow_step4 h3,
    .flow_wrapper .flow_step5 h3, .flow_wrapper .flow_step6 h3 {
        margin: 2vw auto;
        padding: 13px 0px 14px 100px;
        text-align: left;
        font-size: 22px;
        line-height: 30px;
        background-repeat: no-repeat;
    }
        .flow_wrapper .flow_step1 h3 { background-image: url('/images/bg/step1.png'); background-size: 100px 57px; }
        .flow_wrapper .flow_step2 h3 { background-image: url('/images/bg/step2.png'); background-size: 100px 57px; }
        .flow_wrapper .flow_step3 h3 { background-image: url('/images/bg/step3.png'); background-size: 100px 57px; }
        .flow_wrapper .flow_step4 h3 { background-image: url('/images/bg/step4.png'); background-size: 100px 57px; }
        .flow_wrapper .flow_step5 h3 { background-image: url('/images/bg/step5.png'); background-size: 100px 57px; }
        .flow_wrapper .flow_step6 h3 { background-image: url('/images/bg/step6.png'); background-size: 100px 57px; }
        .flow_wrapper h3::after, .flow_wrapper h3::before { background: none !important; }
    .flow_step1 .parts1 {

    }
        .flow_step1 .parts1 .text {
            font-size: 14px;
            line-height: 20px;
            text-align: left;
        }
        .flow_step1 .parts1 a {
            display: block;
            width: 80%;
            margin: 4vw auto 4vw;
            max-width: 300px;
        }
        .flow_step1::after, .flow_step2::after,
        .flow_step3::after, .flow_step4::after, .flow_step5::after {
            display: block;
            height: 17px;
            background: url('/images/bg/trigray.png') no-repeat;
            background-size: 25px 15px;
            background-position: 50% 0px;
            border-top: 1px solid #dcdcdc;
            margin-top: 4vw;
            content: "";
        }
    .photoflow_text {
        font-size: 14px;
        line-height: 20px;
        text-align: left;
        margin: 2vw auto 4vw;
    }
    .flow_rightimage,
    .flow_leftimage {
        margin: 2vw auto;
    }
        .flow_rightimage .image,
        .flow_leftimage .image {
            width: 90%;
            max-width: 350px;
            margin: 2vw auto;
        }
        .flow_rightimage .text,
        .flow_leftimage .text {
            font-size: 14px;
            line-height: 20px;
            text-align: left;
            width: 90%;
            max-width: 350px;
            margin: 2vw auto;
        }
    .photoflow ul.flow_scene {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 2vw auto 4vw;
    }
        .photoflow ul.flow_scene li {
            width: 48%;
            margin-bottom: 2vw;
        }
        .photoflow ul.flow_scene li .image {

        }
        .photoflow ul.flow_scene li .caption {
            font-size: 10px;
            line-height: 15px;
            text-align: left;
            margin: 0.5vw auto 2vw;
        }
    .photoflow .slider_interior {
        width: 100vw;
    	margin-bottom: 5vw;
    	position: relative;
        left: 50%;
        margin-left: -50vw;
    }
        .photoflow .slider_interior .wrapper {
            padding: 0;
            width: 100vw;
        }
    /************ アルバム *************/
    .albumpage {
        background: #FFFFFF;
        padding: 1px 0px 7vw;
    }
    .album_goods {
        position: relative;
        width: 100vw;
        left: 50%;
        margin-left: -50vw;
        padding: 3vw;
        background: url('/images/bg/bg_albumparts.png');
    }
        .album_goods .inner {

        }
        .album_goods .infobox {
            border: 1px solid #f2008d;
            background: #FFFFFF;
            padding: 3vw;
            align-items: center;
        }
        .album_goods .infobox h4 {
            font-size: 16px;
            color: #F2008D;
            line-height: 20px;
            margin: 0px auto 2vw;
            padding: 0px;
            text-align: left;
            font-weight: 600;
            background: none;
        }
        .album_goods .infobox .comment {
            font-size: 12px;
            line-height: 16px;
            text-align: left;
            color: #000;
        }
        .album_goods .image {
            margin: 2vw auto;
            max-width: 648px;
        }
    .album_info {
        position: relative;
        width: 100vw;
        left: 50%;
        margin-left: -50vw;
        background: url('/images/bg/bg_album.png');
    }
        .album_info .inner {
            padding: 3vw;
        }
        .album_info table {
            border: 1px solid #d2d2d2;
            width: 100%;
            margin: 15px auto;
        }
        .album_info table th {
            display: block;
            background: #EEEEEE;
            vertical-align: middle;
            text-align: center;
            color: #545454;
            font-size: 18px;
            line-height: 24px;
            font-weight: 600;
            padding: 1em;
        }
        .album_info table td {
            display: block;
            background: #FFFFFF;
            padding: 2vw 3vw;
            vertical-align: middle;
            text-align: left;
            font-size: 14px;
            line-height: 20px;
            color: #000000;
        }
        .album_info table td .size {
            background: #EEEEEE;
            text-align: center;
            padding: 2vw;
            margin: 1.2vw auto;
        }
        .album_info table td .price {
            font-size: 16px;
            text-align: left;
            line-height: 22px;
            color: #545454;
            font-weight: 600;
        }
    ul.album_type,
    ul.album_detail {
        margin: 0px auto 4vw;
    }
        ul.album_detail li {
            max-width: 314px;
            margin: 2vw auto;
        }
        ul.album_type li {
            max-width: 314px;
            margin: 2vw auto;
        }
        ul.album_detail li .image {
            margin: 2vw auto;
        }
        ul.album_type li .image {
            margin: 2vw auto;
        }
        ul.album_type li .type,
        ul.album_detail li .type {
            background: #8f8f8f;
            color: #FFFFFF;
            text-align: center;
            font-size: 14px;
            line-height: 18px;
            padding: 4px;
            margin-bottom: 1vw;
        }
        ul.album_type li .comment,
        ul.album_detail li .comment {
            color: #707070;
            font-size: 12px;
            line-height: 16px;
            text-align: left;
        }
    table.album_table {
        width: 100%;
        margin: 2vw auto 2vw;
        border: 1px solid #E0E0E0;
    }
        table.album_table th {
            font-size: 14px;
            line-height: 20px;
            padding: 8px;
            text-align: center;
            vertical-align: middle;
            background: #d2d2d2;
            color: #FFFFFF;
            border: 1px solid #E0E0E0;
        }
        table.album_table td {
            font-size: 12px;
            line-height: 16px;
            padding: 8px;
            text-align: left;
            vertical-align: middle;
            background: #FFFFFF;
            border: 1px solid #E0E0E0;
        }
    .album_comment {
        margin: 4vw auto 4vw;
        color: #707070;
        font-size: 12px;
        line-height: 16px;
        text-align: left;
    }
    /************ サイトマップ *************/
    .sitemap {
        margin: 4vw auto;
        text-align: left;
        font-size: 16px;
        font-weight: bold;
    }
    .sitemap > ul {
        border-bottom: 1px dotted #A0A0A0;
    }
        .sitemap > ul > li {
            padding-left: 1em;
            border-top: 1px dotted #A0A0A0;
        }
        .sitemap > ul > li > ul {

        }
        .sitemap > ul > li > ul > li {
            padding-left: 1em;
        }
        .sitemap > ul > li > ul > li > ul {
            padding-left: 1em;
        }
        .sitemap > ul > li > ul > li > ul > li {

        }
        .sitemap a {
            display: block;
            padding: 12px 0px;
            background: none;
        }
        .sitemap ul li a {
            padding: 12px 0px;
            background: url('/images/bg/sitemap_arrow.png') no-repeat 0px 50%;
            background-size: 20px 20px;
            padding-left: 25px;
        }

    .studio_viewer {
        background: url('/images/bg/bg_border.png');
        margin: 4vw auto;
        padding: 2vw 0px;
    }
        .studio_viewer .text {
            text-align: center;
            border: 1px solid rgba( 0, 0, 0, 0.3 );
            background: #ffecf7;
            padding: 8px;
            margin-bottom: 2.5vw;
        }
        .studio_viewer ul {
            display: flex;
            flex-wrap: wrap;
            margin: 0 auto;
            width: 292px;
        }
        .studio_viewer .viewer_wrapper {
            max-height: 100px;
            transition: 0.5s;
            overflow: hidden;
        }
        .studio_viewer .viewer_wrapper.accordion {
            max-height: 600px;
        }
        .studio_viewer ul li {
            width: 130px;
            height: 98px;
            margin: 8px;
            border: 1px solid #DDD;
        }
        .studio_viewer .keyboard {
            width: 180px;
            height: 40px;
            margin: 2.5vw auto;
            background: url('/images/open1.png');
            cursor: pointer;
        }
        .studio_viewer .keyboard.open {
            background: url('/images/close1.png');
        }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          Article PC
/* ******************************************* */
@media(min-width:737px){
    .atviewpage {
        margin: 30px auto 60px;
    }
    .atviewpage .bigmessage {
        font-size: 25px;
        line-height: 30px;
        text-align: center;
        margin: 40px auto 25px;
    }
    /************ 衣装 *************/
    .atview_cloth ul {
        display: flex;
        flex-wrap: wrap;
        background: #FFFFFF;
        padding: 10px;
        margin: 40px auto 60px;
    }
        .atview_cloth ul li {
            width: 300px;
            height: 510px;
            overflow: hidden;
            margin: 10px;
        }
        .atview_cloth ul li .image {
            position: relative;
            width: 300px;
            height: 450px;
        }
        .atview_cloth ul li .image .category {
            position: absolute;
            left: 0px;
            bottom: 0px;
            background: #f2008d;
            color: #FFFFFF;
            font-size: 10px;
            line-height: 10px;
            padding: 10px 8px;
        }
        .atview_cloth ul li .title {
            position: relative;
            border: 1px solid #dcdcdc;
            background: #FFFFFF;
            font-size: 12px;
            text-align: left;
            line-height: 23px;
            padding: 6px 12px;
            height: 60px;
            z-index: 100;
        }
    /************ ギャラリー *************/
    .atview_gallery ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        background: #FFFFFF;
        padding: 10px;
        margin: 40px auto 60px;
    }
        .atview_gallery ul li {
            width: 300px;
            height: 300px;
            overflow: hidden;
            margin: 10px;
        }
        .atview_gallery ul li .image {
            position: relative;
            width: 300px;
            height: 300px;
        }
    /************ atview NEWS ************/
    .atview_news {
        margin: 40px auto 80px;
    }
        .atview_news ul {
            margin: 40px auto;
        }
        .atview_news ul li {
            padding: 22px 20px;
            border-bottom: 1px dotted #a1a1a1;
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
        }
        .atview_news ul li .date {
            font-size: 14px;
            line-height: 22px;
            margin-right:10px;
        }
        .atview_news ul li .category {
            font-size: 11px;
            width: 120px;
            margin-right:10px;
            color: #FFFFFF;
            line-height: 22px;
            text-align: center;
            background: #f2008d;
        }
        .atview_news ul li .title {
            width: 730px;
            text-align: left;
        }
        .atview_news ul li .title a {
            color: #000000;
            font-size: 14px;
            line-height: 22px;
        }
    .atview_faq {
        margin: 40px auto;
    }
        .atview_faq ul {
            margin: 20px auto 40px;
        }
        .atview_faq ul li {
            padding: 0px 40px;
            text-align: left;
            padding-bottom: 20px;
            border-bottom: 1px dotted #A0A0A0;
            margin-bottom: 20px;
        }
        .atview_faq ul li:last-of-type { border-bottom: none; }
        .atview_faq ul li .question {
            background: url('/images/bg/faq_q.png') no-repeat;
            padding-left: 50px;
            font-size: 25px;
            line-height: 40px;
            margin-bottom: 22px;
        }
        .atview_faq ul li .answer {
            background: url('/images/bg/faq_a.png') no-repeat;
            padding-left: 50px;
            font-size: 18px;
            line-height: 25px;
            min-height: 50px;
        }
}
/* ******************************************* */
/*          Article SP
/* ******************************************* */
@media(max-width:736px){
    /************ アーティクル *************/
    .atviewpage {
        margin: 3vw auto 6vw;
    }
    .atviewpage .bigmessage {
        font-size: 18px;
        line-height: 22px;
        text-align: center;
        margin: 4vw auto;
    }
    /************ 衣装 *************/
    .atview_cloth ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        background: #FFFFFF;
        padding: 1px 2vw 1px;
        margin: 4vw auto 6vw;
    }
        .atview_cloth ul li {
            width: 48%;
            overflow: hidden;
            margin: 2vw 0vw;
            border: 1px solid #dcdcdc;
        }
        .atview_cloth ul li .image {
            position: relative;
        }
        .atview_cloth ul li .image .category {
            position: absolute;
            left: 0px;
            bottom: 0px;
            background: #f2008d;
            color: #FFFFFF;
            font-size: 8px;
            line-height: 8px;
            padding: 2px 4px;
        }
        .atview_cloth ul li .title {
            position: relative;
            background: #FFFFFF;
            font-size: 10px;
            text-align: left;
            line-height: 12px;
            padding: 4px 6px;
            z-index: 100;
        }
    /************ ギャラリー *************/
    .atview_gallery ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        background: #FFFFFF;
        padding: 1px 2vw 1px;
        margin: 4vw auto 6vw;
    }
        .atview_gallery ul li {
            width: 48%;
            overflow: hidden;
            margin: 2vw 0vw;
            border: 1px solid #dcdcdc;
        }
        .atview_gallery ul li .image {
            position: relative;
        }
    /************ atview NEWS ************/
    .atview_news_wrapper {
        margin-bottom: 8vw !important;
    }
    .atview_news {
        margin: 4vw auto 8vw;
    }
        .atview_news ul {
            margin: 4vw auto;
        }
        .atview_news ul li {
            padding: 2vw;
            border-bottom: 1px dotted #a1a1a1;
            display: flex;
            align-items: flex-start;
            flex-wrap: wrap;
            justify-content: space-between;
        }
        .atview_news ul li .date {
            font-size: 12px;
            line-height: 20px;
        }
        .atview_news ul li .category {
            font-size: 10px;
            width: 92px;
            color: #FFFFFF;
            line-height: 20px;
            text-align: center;
            background: #f2008d;
        }
        .atview_news ul li .title {
            margin: 1.5vw auto;
            width: 100%;
            text-align: left;
        }
        .atview_news ul li .title a {
            color: #000000;
            font-size: 12px;
            line-height: 18px;
        }
    .atview_faq {
        margin: 4vw auto;
    }
        .atview_faq ul {
            margin: 2vw auto 4vw;
        }
        .atview_faq ul li {
            text-align: left;
            padding-bottom: 2.5vw;
            border-bottom: 1px dotted #A0A0A0;
            margin-bottom: 2.5vw;
        }
        .atview_faq ul li:last-of-type { border-bottom: none; }
        .atview_faq ul li .question {
            background: url('/images/bg/faq_q.png') no-repeat;
            background-size: 30px 30px;
            padding-top: 5px;
            padding-left: 35px;
            font-size: 20px;
            line-height: 24px;
            margin-bottom: 2vw;
            min-height: 35px;
        }
        .atview_faq ul li .answer {
            background: url('/images/bg/faq_a.png') no-repeat;
            background-size: 30px 30px;
            padding-left: 35px;
            font-size: 14px;
            line-height: 20px;
            min-height: 35px;
        }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          アーティクル記事
/* ******************************************* */
@media(min-width:737px){
    /************ NEWS *************/
    .posts_news {
        margin: 40px auto 60px;
    }
        .posts_news .toparea {
            display: flex;
            justify-content: space-between;
            margin: 40px auto;
        }
        .posts_news .toparea .date {
            font-size: 15px;
            line-height: 30px;
            color: #606566;
            text-align: left;
        }
        .posts_news .toparea .category {

        }
        .posts_news .toparea .category a {
            display: inline-block;
            font-size: 12px;
            line-height: 30px;
            padding: 0px 10px;
            color: #FFFFFF;
            text-decoration: none;
            background: #f2008d;
            border: 1px solid #F2008D;
        }
        .posts_news .toparea .category a:hover {
            color: #F2008D;
            background: #FFFFFF;
        }
        .posts_news .textarea {
            margin: 40px auto;
            font-size: 14px;
            line-height: 20px;
            color: #4b4b4b;
            text-align: left;
        }
        .posts_news .contentsarea {
            margin: 40px auto;
        }
    /************** POSTS BLOG **************/
    .posts_blog {

    }
        .lowerpage .posts_blog h2 {
            position: relative;
            z-index: 2000;
            font-size: 35px;
            font-weight: 400;
            line-height: 40px;
            margin: 10px auto;
            text-align: center;
            color: #f2008d;
            box-shadow: none;
        }
        .posts_blog .toparea {
            display: flex;
            justify-content: space-between;
            margin: 20px auto 40px;
        }
        .posts_blog .toparea .image {
            width: 460px;
            height: 300px;
        }
        .posts_blog .toparea .mainbody {
            width: 490px;
        }
        .posts_blog .toparea .mainbody .category {
            float: left;
            margin-right: 20px;
        }
        .posts_blog .toparea .mainbody .category a {
            display: inline-block;
            font-size: 12px;
            line-height: 30px;
            padding: 0px 10px;
            color: #FFFFFF;
            text-decoration: none;
            background: #f2008d;
            border: 1px solid #F2008D;
        }
        .posts_blog .toparea .mainbody .category a:hover {
            color: #F2008D;
            background: #FFFFFF;
        }
        .posts_blog .toparea .mainbody .date {
            float: left;
            font-size: 15px;
            line-height: 30px;
            color: #606566;
            text-align: left;
        }
        .posts_blog .toparea .mainbody .textarea {
            margin: 14px auto;
            font-size: 18px;
            line-height: 26px;
            color: #4b4b4b;
            text-align: left;
        }
        .posts_blog .toptext {
            margin: 40px auto;
        }
        .posts_blog .contentsarea {
            margin: 40px auto;
        }
    /************** POSTS BLOG **************/
    .posts_voice {
        margin-bottom: 60px;
    }
        .posts_voice .toparea {
            background: #f681a5;
            width: 100vw;
            position: relative;
            left: 50%;
            margin-left: -50vw;
            margin-top: -1px;
        }
        .posts_voice .toparea .inner {
            width: 980px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
        }
        .posts_voice .toparea .image {
            width: 460px;
            height: 320px;
        }
        .posts_voice .toparea .mainbody {
            width: 490px;
            padding-top: 36px;
        }
        .posts_voice .toparea .mainbody h2 {
            position: relative;
            font-size: 25px;
            font-weight: 400;
            line-height: 30px;
            text-align: left;
            color: #f2008d;
            padding: 15px;
            background: #FFFFFF;
            box-shadow: none;
        }
        .posts_voice .toparea .mainbody .textarea {
            margin: 25px auto;
            font-size: 18px;
            line-height: 30px;
            color: #FFFFFF;
            text-align: left;
            padding: 0px 15px;
        }
        .posts_voice .toptext {
            margin: 40px auto;
        }
        .posts_voice .contentsarea {
            margin: 40px auto;
        }
}
/* ******************************************* */
/*          SP
/* ******************************************* */
@media(max-width:736px){
    /************ NEWS *************/
    .posts_news {
        margin: 4vw auto 6vw;
    }
        .posts_news .toparea {
            display: flex;
            justify-content: space-between;
            margin: 4vw auto;
        }
        .posts_news .toparea .date {
            font-size: 12px;
            line-height: 20px;
            color: #606566;
            text-align: left;
        }
        .posts_news .toparea .category {

        }
        .posts_news .toparea .category a {
            display: inline-block;
            font-size: 12px;
            line-height: 20px;
            padding: 0px 8px;
            color: #FFFFFF;
            text-decoration: none;
            background: #f2008d;
            border: 1px solid #F2008D;
        }
        .posts_news .toparea .category a:hover {
            color: #F2008D;
            background: #FFFFFF;
        }
        .posts_news .textarea {
            margin: 4vw auto;
            color: #4b4b4b;
        }
        .posts_news .textarea p {
            font-size: 12px;
            line-height: 16px;
            margin: 1.0em auto;
            text-align: left;
        }
        .posts_news .contentsarea {
            margin: 4vw auto;
        }
    /************** POSTS BLOG **************/
    .posts_blog {

    }
        .lowerpage .posts_blog h2 {
            position: relative;
            z-index: 2000;
            font-size: 22px;
            font-weight: 400;
            line-height: 28px;
            margin: 1.5vw auto;
            text-align: center;
            color: #f2008d;
            box-shadow: none;
        }
        .posts_blog .toparea {

        }
        .posts_blog .toparea .image {
            width: 90%;
            margin: 2vw auto;
            max-width: 350px;
        }
        .posts_blog .toparea .mainbody {
            width: 90%;
            margin: 2vw auto;
            max-width: 350px;
        }
        .posts_blog .toparea .mainbody .category {
            float: right;
        }
        .posts_blog .toparea .mainbody .category a {
            display: inline-block;
            font-size: 10px;
            line-height: 20px;
            padding: 0px 4px;
            color: #FFFFFF;
            text-decoration: none;
            background: #f2008d;
            border: 1px solid #F2008D;
        }
        .posts_blog .toparea .mainbody .date {
            float: left;
            font-size: 12px;
            line-height: 20px;
            color: #606566;
            text-align: left;
        }
        .posts_blog .toparea .mainbody .textarea {
            margin: 2vw auto;
            color: #4b4b4b;
        }
        .posts_blog .toparea .mainbody .textarea p {
            font-size: 14px;
            line-height: 20px;
            margin: 1.0em auto;
            text-align: left;
            padding-bottom: 2em;
            border-bottom: 1px dotted #EEE;
        }
        .posts_blog .toptext {
            margin: 4vw auto;
        }
        .posts_blog .contentsarea {
            margin: 4vw auto;
        }
    /************** POSTS BLOG **************/
    .posts_voice {
        margin-bottom: 6vw;
    }
        .posts_voice .toparea {
            background: #f681a5;
            padding: 4vw 2vw;
            margin: 0 -5vw;
        }
        .posts_voice .toparea .inner {
            margin: 0 auto;
        }
        .posts_voice .toparea .image {
            width: 90%;
            margin: 2vw auto;
            max-width: 350px;
        }
        .posts_voice .toparea .mainbody {
            width: 90%;
            margin: 2vw auto;
            max-width: 350px;
        }
        .posts_voice .toparea .mainbody h2 {
            position: relative;
            font-size: 20px;
            font-weight: 400;
            line-height: 25px;
            text-align: left;
            color: #f2008d;
            padding: 10px 8px;
            background: #FFFFFF;
            box-shadow: none;
        }
        .posts_voice .toparea .mainbody .textarea {
            margin: 2vw auto;
            color: #4b4b4b;
        }
        .posts_voice .toparea .mainbody .textarea p {
            font-size: 12px;
            line-height: 16px;
            margin: 1.0em auto;
            text-align: left;
        }
        .posts_voice .toptext {
            margin: 4vw auto;
        }
        .posts_voice .contentsarea {
            margin: 4vw auto;
        }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          開発関連　PC
/* ******************************************* */
@media(min-width:737px){
    .reservepage {

    }
        .reservepage h3.reserve {
            display: block;
            font-size: 18px;
            font-weight: 600;
            line-height: 28px;
            color: #FFFFFF;
            background: #F2008D;
            margin: 10px auto;
            padding: 0px;
        }
        .reservepage h3.reserve::before, .reservepage h3.reserve::after {
            position: absolute;
            background: none !important;
        }
    /************ 撮影ご予約フロー *************/
    .reserveflow {
        background: #FFFFFF;
        padding: 10px;
        margin: 0px -10px;
    }
        .reserveflow ul {
            display: flex;
        }
        .reserveflow ul li {
            position: relative;
            background: #cbcbcb;
            font-size: 15px;
            line-height: 40px;
            color: #FFFFFF;
            width: 196px;
            padding-left: 10px;
        }
        .reserveflow ul li.current {
            background: #969696;
        }
        .reserveflow ul li::after {
            content: "";
            width: 21px;
            height: 40px;
            position: absolute;
            top: 0px;
            right: -15px;
            z-index: 1000;
            background: url('/images/bg/reserveflow_off.png');
        }
        .reserveflow ul li.current::after {
            background: url('/images/bg/reserveflow_on.png');
        }
        .reserveflow ul li:last-of-type::after {
            background: none !important;
        }
    /************ 撮影ご予約フロー *************/
    .reserveflow2 {
        background: #FFFFFF;
        padding: 10px;
        margin: 40px auto 20px;
        width: 860px;
        border: 1px solid #CBCBCB;
    }
        .reserveflow2 ul {
            display: flex;
        }
        .reserveflow2 ul li {
            position: relative;
            background: #cbcbcb;
            font-size: 15px;
            line-height: 40px;
            color: #FFFFFF;
            width: 215px;
            padding-left: 10px;
        }
        .reserveflow2 ul li.current {
            background: #969696;
        }
        .reserveflow2 ul li::after {
            content: "";
            width: 21px;
            height: 40px;
            position: absolute;
            top: 0px;
            right: -15px;
            z-index: 1000;
            background: url('/images/bg/reserveflow_off.png');
        }
        .reserveflow2 ul li.current::after {
            background: url('/images/bg/reserveflow_on.png');
        }
        .reserveflow2 ul li:last-of-type::after {
            background: none !important;
        }
    /************ 撮影ご予約 *************/
    .reserve_top {
        border: 1px solid #F2008D;
        background: #FFFFFF;
        padding: 25px;
        margin: 25px auto 40px;
        text-align: center;
    }
        .reserve_top .toptext {
            font-size: 18px;
            line-height: 22px;
            letter-spacing: 0.050em;
            margin-bottom: 15px;
        }
        .reserve_top .telno {
            font-size: 50px;
            line-height: 50px;
            letter-spacing: 0.050em;
            color: #F2008D;
            font-weight: 900;
        }
        .reserve_top .telno a { text-decoration: none; }
        .reserve_top .telno strong {
            font-size: 16px;
            line-height: 50px;
            letter-spacing: 0.050em;
            color: #000000;
            margin-right: 18px;
        }
        .reserve_top .comment {
            font-size: 16px;
            line-height: 22px;
            letter-spacing: 0.050em;
            color: #000000;
            margin: -8px auto 16px;
        }
        .reserve_top .loginbox {
            padding: 12px 0px 12px 0px;
            display: flex;
            justify-content: space-around;
            align-items: center;
        }
        .reserve_top .loginbox .text {
            font-size: 14px;
            line-height: 22px;
            width: 480px;
            color: #4E4E4E;
            background: #EEEEEE;
            padding: 18px 10px;
            margin-right: 28px;
        }
        .reserve_top .loginbox .button {
            margin-right: 5px;
        }
    /************  **************/
    .reserve_studio {

    }
    .reserve_option ul,
    .reserve_plan ul,
    .reserve_shot ul,
    .reserve_studio ul {
        margin: 0px auto 40px;
    }
    		.reserve_option ul li,
        .reserve_plan ul li,
        .reserve_shot ul li,
        .reserve_studio ul li {
            position: relative;
            background: #FFFFFF;
            border: 10px solid #d3d3d3;
            margin: 0px -10px 10px;
            display: flex;
        }/*
        .reserve_option ul li {
            position: relative;
            background: #FFFFFF;
            border: 10px solid #d3d3d3;
            margin: 0 0 10px;
            width:24%;
            margin-right: 1.3%;
            float:left;
        }
        .reserve_option ul li:nth-child(4n) {
          margin-right: 0;
        }*/
        .reserve_option ul li .checkbox,
        .reserve_plan ul li .checkbox,
        .reserve_shot ul li .checkbox,
        .reserve_studio ul li .checkbox {
            width: 50px;
            background: #eeeeee;
            display: flex;
            justify-content: center;
            align-items: center;
        }/*
        .reserve_option ul li .checkbox {
            width: 100%;
            padding:10px 0;
            background: #eeeeee;
            display: flex;
            justify-content: center;
            align-items: center;
        }*/
        .reserve_option ul li .inner,
        .reserve_plan ul li .inner,
        .reserve_studio ul li .inner {
            width: 930px;
            background: #FFFFFF;
            padding: 27px 22px;
        }
        .reserve_option ul li .inner {
            width: 100%;
            background: #FFFFFF;
            padding: 10px;
        }
        .reserve_option ul li .image,
        .reserve_plan ul li .image,
        .reserve_studio ul li .image {
            float: left;
            width: 220px;
            margin-right: 40px;
        }/*
        .reserve_option ul li .image {
            width: 100%;
            margin-right: 0;
        }*/
        .reserve_option ul li .mainbody,
        .reserve_plan ul li .mainbody,
        .reserve_studio ul li .mainbody {
            float: left;
            width: 600px;
            background: #FFFFFF;
            text-align: left;
        }
        /*
        .reserve_option ul li .mainbody {
            width: 100%;
            background: #FFFFFF;
            text-align: left;
        }*/
        .reserve_shot ul li .mainbody {
            width: 930px;
            background: #FFFFFF;
            padding: 15px;/*27px 22px*/
        }
        .reserve_option ul li .mainbody .name,
        .reserve_plan ul li .mainbody .name,
        .reserve_shot ul li .mainbody .name,
        .reserve_studio ul li .mainbody .name {
            font-size: 16px;
            line-height: 18px;
            color: #f2008d;
            margin-bottom: 12px;
        }
        .reserve_option ul li .mainbody .status,
        .reserve_plan ul li .mainbody .status,
        .reserve_shot ul li .mainbody .status,
        .reserve_studio ul li .mainbody .status {
            font-size: 14px;
            line-height: 18px;
            color: #000000;
        }
    .reserve_calendar {
        margin: 0 auto 40px;
    }
        .reserve_calendar .inner {
            background: #FFFFFF;
            padding: 10px;
        }
        .reserve_calendar .calendartop {
            display: flex;
            justify-content: space-between;
            height: 40px;
        }
        .reserve_calendar .calendartop .parts,
        .reserve_calendar .calendartop select {
            width: 230px;
            height: 40px;
        }
        .reserve_calendar .calendartop .parts a {
            display: block;
            background: #D2D2D2;
            color: #000000;
            text-align: center;
            font-size: 16px;
            line-height: 40px;
        }
        .reserve_calendar .calendartop .parts a:hover { opacity: 0.6; }
        .reserve_calendar table.reserve {
            margin: 10px 8px;
            border: 1px solid #aaaaaa;
            font-size: 12px;
            line-height: 18px;
            text-align: center;
            width: 944px;
        }
        .reserve_calendar table.reserve tr th {
            background: #FFFFFF;
            border: 1px solid #bfbfbf;
            padding: 10px;
            text-align: center;
            vertical-align: middle;
        }
        .reserve_calendar table.reserve tr td {
            background: #dcdcdc;
            border: 1px solid #bfbfbf;
            padding: 7px 4px;
            text-align: center;
            vertical-align: middle;
        }
        .reserve_calendar table.reserve tr td.poss {
            background: #00ffff;
            text-decoration: underline;
        }
        .reserve_calendar table.view {
            margin: 8px;
            border: 1px solid #aaaaaa;
        }
        .reserve_calendar table.view td {
            padding: 18px 36px;
            border: 1px solid #bfbfbf;
        }
        .reserve_calendar table.view tr td:nth-of-type(1) { background: #00FFFF; }
        .reserve_calendar table.view tr td:nth-of-type(3) { background: #DCDCDC; }
    .reservebutton {
        margin: 40px auto;
        text-align: center;
    }
        .reservebutton a,
        .reservebutton form {
            display: inline-block;
    	    vertical-align: top;
            margin-left: 20px;
            margin-right: 20px;
        }
}
/* ******************************************* */
/*          開発関連　SP
/* ******************************************* */
@media(max-width:736px){
    .reservepage {

    }
        .reservepage h3.reserve {
            display: block;
            font-size: 16px;
            font-weight: 600;
            line-height: 22px;
            color: #FFFFFF;
            background: #F2008D;
            margin: 1.5vw auto;
            padding: 0px;
        }
        .reservepage h3.reserve::before, .reservepage h3.reserve::after {
            position: absolute;
            background: none !important;
        }
    /************ 撮影ご予約フロー *************/
    .reserveflow {
        background: #FFFFFF;
        padding: 4px;
        margin: 4vw -20px;
    }
        .reserveflow ul {
            display: flex;
        }
        .reserveflow ul li {
            position: relative;
            background: #cbcbcb;
            font-size: 7px;
            line-height: 12px;
            color: #FFFFFF;
            width: 20vw;
            height: 30px;
            padding: 3px 0px 3px 9px;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .reserveflow ul li.current {
            background: #969696;
            font-weight: bold;
        }
        .reserveflow ul li::after {
            content: "";
            width: 11px;
            height: 30px;
            position: absolute;
            top: 0px;
            right: -11px;
            z-index: 1000;
            background: url('/images/bg/reserveflow_off.png');
            background-size: 100% 100%;
        }
        .reserveflow ul li.current::after {
            background: url('/images/bg/reserveflow_on.png');
            background-size: 100% 100%;
        }
        .reserveflow ul li:last-of-type::after {
            background: none !important;
        }
    /************ 撮影ご予約フロー *************/
    .reserveflow2 {
        background: #FFFFFF;
        padding: 4px;
        margin: 4vw -20px;
        border: 1px solid #CBCBCB;
    }
        .reserveflow2 ul {
            display: flex;
        }
        .reserveflow2 ul li {
            position: relative;
            background: #cbcbcb;
            font-size: 7px;
            line-height: 12px;
            height: 30px;
            color: #FFFFFF;
            width: 26.5vw;
            padding: 3px 0px 3px 9px;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .reserveflow2 ul li.current {
            background: #969696;
            font-weight: bold;
        }
        .reserveflow2 ul li::after {
            content: "";
            width: 11px;
            height: 30px;
            position: absolute;
            top: 0px;
            right: -11px;
            z-index: 1000;
            background: url('/images/bg/reserveflow_off.png');
            background-size: 100% 100%;
        }
        .reserveflow2 ul li.current::after {
            background: url('/images/bg/reserveflow_on.png');
            background-size: 100% 100%;
        }
        .reserveflow2 ul li:last-of-type::after {
            background: none !important;
        }
    /************ 撮影ご予約 *************/
    .reserve_top {
        border: 1px solid #F2008D;
        background: #FFFFFF;
        padding: 2vw;
        margin: 4vw auto 4vw;
        text-align: center;
    }
        .reserve_top .toptext {
            font-size: 15px;
            line-height: 20px;
            margin-bottom: 1vw;
        }
        .reserve_top .telno {
            font-size: 30px;
            line-height: 38px;
            color: #F2008D;
            font-weight: 900;
        }
        .reserve_top .telno a { text-decoration: none; }
        .reserve_top .telno strong {
            font-size: 16px;
            line-height: 50px;
            color: #000000;
            margin-right: 5px;
        }
        .reserve_top .comment {
            font-size: 12px;
            line-height: 18px;
            color: #000000;
            margin: -1vw auto 2vw;
        }
        .reserve_top .loginbox {

        }
        .reserve_top .loginbox .text {
            font-size: 14px;
            line-height: 20px;
            color: #4E4E4E;
            background: #EEEEEE;
            padding: 2vw;
            margin: 2vw auto;
        }
        .reserve_top .loginbox .button {
            display: inline-block;
            margin: 5px;
        }
    /************  **************/
    .reserve_studio {

    }
    .reserve_option ul,
    .reserve_plan ul,
    .reserve_shot ul,
    .reserve_studio ul {
        margin: 0px auto 3vw;
    }
        .reserve_option ul li,
        .reserve_plan ul li,
        .reserve_shot ul li,
        .reserve_studio ul li {
            position: relative;
            background: #FFFFFF;
            border: 5px solid #d3d3d3;
            margin: 0px auto 2vw;
            display: flex;
        }
        .reserve_option ul li .checkbox,
        .reserve_plan ul li .checkbox,
        .reserve_shot ul li .checkbox,
        .reserve_studio ul li .checkbox {
            width: 24px;
            background: #eeeeee;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .reserve_option ul li .inner,
        .reserve_plan ul li .inner,
        .reserve_studio ul li .inner {
            background: #FFFFFF;
            padding: 4vw;
            width: 84vw;
        }
        .reserve_option ul li .image,
        .reserve_plan ul li .image,
        .reserve_studio ul li .image {
            width: 75%;
            margin: 0 auto;
        }
        .reserve_option ul li .mainbody,
        .reserve_plan ul li .mainbody,
        .reserve_studio ul li .mainbody {
            background: #FFFFFF;
            text-align: left;
            padding: 2vw 3vw;
        }
        .reserve_shot ul li .mainbody {
            background: #FFFFFF;
            text-align: left;
            padding: 2vw 3vw;
        }
        .reserve_option ul li .mainbody .name,
        .reserve_plan ul li .mainbody .name,
        .reserve_shot ul li .mainbody .name,
        .reserve_studio ul li .mainbody .name {
            font-size: 14px;
            line-height: 18px;
            color: #f2008d;
            margin-bottom: 12px;
        }
        .reserve_option ul li .mainbody .status,
        .reserve_plan ul li .mainbody .status,
        .reserve_shot ul li .mainbody .status,
        .reserve_studio ul li .mainbody .status {
            font-size: 12px;
            line-height: 16px;
            color: #000000;
        }
    .reserve_calendar {
        margin: 0 auto 4vw;
    }
        .reserve_calendar .inner {
            background: #FFFFFF;
            padding: 2vw;
        }
        .reserve_calendar .calendartop {
            display: flex;
            justify-content: space-between;
            height: 8vw;
        }
        .reserve_calendar .calendartop .parts,
        .reserve_calendar .calendartop select {
            width: 25vw;
            height: 8vw;
            font-size: 10px;
        }
        .reserve_calendar .calendartop .parts a {
            display: block;
            background: #D2D2D2;
            color: #000000;
            text-align: center;
            font-size: 10px;
            line-height: 8vw;
        }
        .reserve_calendar .calendartop .parts a:hover { opacity: 0.6; }
        .reserve_calendar table.reserve {
            margin: 10px 8px;
            border: 1px solid #aaaaaa;
            font-size: 12px;
            line-height: 18px;
            text-align: center;
            width: 944px;

        }
        .reserve_calendar .rwd_scroll {
            overflow: auto;
        }
        .reserve_calendar .rwd_scroll::-webkit-scrollbar {
            height: 5px;
        }
        .reserve_calendar .rwd_scroll::-webkit-scrollbar-track {
            background: #F1F1F1;
        }
        .reserve_calendar .rwd_scroll::-webkit-scrollbar-thumb {
            background: #BCBCBC;
        }

        .reserve_calendar table.reserve tr th {
            background: #FFFFFF;
            border: 1px solid #bfbfbf;
            padding: 10px;
            text-align: center;
            vertical-align: middle;
        }
        .reserve_calendar table.reserve tr td {
            background: #dcdcdc;
            border: 1px solid #bfbfbf;
            padding: 7px 4px;
            text-align: center;
            vertical-align: middle;
        }
        .reserve_calendar table.reserve tr td.poss {
            background: #00ffff;
            text-decoration: underline;
        }
        .reserve_calendar table.view {
            margin: 8px;
            border: 1px solid #aaaaaa;
        }
        .reserve_calendar table.view td {
            padding: 2vw;
            border: 1px solid #bfbfbf;
        }
        .reserve_calendar table.view tr td:nth-of-type(1) { background: #00FFFF; }
        .reserve_calendar table.view tr td:nth-of-type(3) { background: #DCDCDC; }
    .reservebutton {
        margin: 4vw auto;
        text-align: center;
    }
        .reservebutton a {
            display: inline-block;
    	    vertical-align: top;
            max-width: 40%;
            margin-left: 2vw;
            margin-right: 2vw;
        }
    /************  *************/
}

/* ******************************************* */
/*          Footer PC
/* ******************************************* */
@media(min-width:737px){
    #footer {
        position: relative;
        z-index: 8000;
    }
    .footer_top {
        background: #f2008d;
    }
        .footer_top .tel {
            float: left;
            margin: 43px 38px 42px 60px;
        }
        .footer_top .reserve {
            float: left;
            margin-top: 9px;
        }
    .footer_main {
        background: #FFFFFF;
        padding: 50px 0px 45px;
    }
        .footer_main .mainbody {
            float: left;
            text-align: left;
            font-family: "游ゴシック", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
        }
        .footer_main .mainbody .logo {
            margin: 5px 0px 25px;
            padding-bottom: 32px;
            border-bottom: 1px solid #f2008d;
            width: 435px;
        }
        .footer_main .mainbody .text {
            text-align: left;
            font-size: 15px;
            line-height: 20px;
        }
        .footer_main .mainbody .tel {
            font-size: 30px;
            color: #606566;
            font-weight: 600;
            line-height: 45px;
            letter-spacing: 0.020em;
        }
        .footer_main .mainbody .comment {
            font-size: 13px;
            line-height: 17px;
        }
        .footer_main .fb_area {
            float: right;
            width: 462px;
            height: 262px;
        }
    .footer_insta {
        position: relative;
        left: 50%;
        margin-left: -750px;
    }
    .footer_bottom {
        background: #ffecf7;
        padding: 40px 0px 32px;
        border-bottom: 1px solid #FFFFFF;
    }
        .footer_bottom .inner {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
        }
        .footer_bottom ul {
            padding: 0px 40px 0px 26px;
        }
        .footer_bottom ul li {
            padding: 6px 0px;
        }
        .footer_bottom ul li a {
            display: block;
            font-size: 13px;
            line-height: 18px;
            letter-spacing: 0.025em;
            color: #000000;
            padding-left: 14px;
            background: url('/images/bg/fnav_arrow.png') no-repeat;
            background-position: 0px 50%;
            text-decoration: none;
            text-align: left;
        }
        .footer_bottom ul li a:hover {
            text-decoration: underline;
            color: #F2008D;
        }
    .footer_copyright {
        background: #000000;
        font-size: 12px;
        line-height: 25px;
        text-align: center;
        color: #FFFFFF;
    }
    /************ pagetop *************/
    #pagetop {
        position: fixed;
        bottom: 50px;
        left: 50%;
        width: 79px;
        height: 79px;
        margin-left: 545px;
        z-index: 1000;
    }
        #pagetop:hover {
            opacity: 0.7;
        }
}
/* ******************************************* */
/*          Footer SP
/* ******************************************* */
@media(max-width:736px){
    #footer {
        position: relative;
        z-index: 8000;
    }
    .footer_main {
        background: #FFFFFF;
        text-align: center;
        padding: 1px 0px 1px;
    }
        .footer_main .title {
            font-size: 3.125vw;
            line-height: 1.7em;
            text-align: center;
            margin: 4vw auto 2vw;
        }
        .footer_main .logo {
            margin: 2vw auto 3vw;
            text-align: center;
        }
        .footer_main .text {
            text-align: center;
            font-size: 2.1875vw;
            line-height: 1.7em;
        }
        .footer_main .banner {
            margin: 2vw auto 6vw;

        }
    .footer_bottom {
        background: #ffdcf0;
    }
        .footer_bottom .inner {
            display: flex;
            align-items: flex-start;
            padding: 2vw 6.5vw;
        }
        .footer_bottom ul {
            width: 50%;
        }
        .footer_bottom ul li {
            padding: 6px 0px;
        }
        .footer_bottom ul li a {
            display: block;
            position: relative;
            font-size: 2.1875vw;
            line-height: 1.8em;
            color: #1B1B1B;
            padding-left: 1.4em;
            text-decoration: underline;
            text-align: left;
        }
        .footer_bottom ul li a::before {
            position: absolute;
            top: 0;
            left: 0;
            content: "・";
            text-decoration: none;
            color: #a40b0a;
        }
        .footer_bottom ul li ul li a {
            padding-left: 2.2em;
        }
        .footer_bottom ul li ul li a::before {
            content: " ＞";
            text-decoration: none;
            color: #a40b0a;
        }
    .footer_copyright {
        background: #1b1b1b;
        font-size: 2.1875vw;
        line-height: 2em;
        text-align: center;
        color: #f3ebde;
    }
    /************ pagetop *************/
    #pagetop {
        position: fixed;
        right: 2vw;
        bottom: 2vw;
        width: 60px;
        height: 60px;
        z-index: 1000;
    }
        #pagetop img {
            width: 60px;
            height: 60px;
        }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          Breadcrumb PC
/* ******************************************* */
@media(min-width:737px){
    #breadcrumb {
        font-size: 12px;
        line-height: 20px;
        color: #3D3D3D;
    }
    #breadcrumb ul {
        display: block;
        text-align: left;
        margin: 24px auto 30px;
    }
    #breadcrumb ul li {
        display: inline;
        padding: 0em 0em;
    }
    #breadcrumb ul li:nth-of-type(n+2)::before{
        display: inline-block;
        text-align: center;
        content: ">";
        color: #f2008d;
        width: 18px;
        height: 12px;
        padding: 0em 0.5em;
    }
    #breadcrumb ul li a {
        color: #f2008d;
        text-decoration: none;
    }
    #breadcrumb ul li a:hover{
        color: #f2008d;
        text-decoration: underline;
    }
}
/* ******************************************* */
/*          Breadcrumb SP
/* ******************************************* */
@media(max-width:736px){
    #breadcrumb {
        font-size: 12px;
        line-height: 24px;
        color: #3D3D3D;
    }
    #breadcrumb ul {
        display: block;
        text-align: left;
        padding: 2vw 0vw;
    }
    #breadcrumb ul li {
        display: inline;
        padding: 0em 0em;
    }
    #breadcrumb ul li:nth-of-type(n+2)::before{
        display: inline;
        text-align: center;
        content: ">";
        color: #f2008d;
        width: 18px;
        height: 12px;
        padding: 0em 0.5em;
    }
    #breadcrumb ul li a {
        color: #f2008d;
        text-decoration: none;
    }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          INPUT MAILFORM PC
/* ******************************************* */
@media(min-width:737px){
    /************ TABLE *************/
    .mailform {
        margin: 40px auto 60px;
    }
    .mailform .topmessage {
        font-size: 18px;
        line-height: 24px;
        text-align: left;
    }
    .mailform .teleform {
        margin: 40px auto;
    }
    /************ TABLE *************/
    .mailform table {
        margin: 40px auto 40px;
    }
        .mailform table tr {
            display: flex;
            margin: 4px auto;
        }
        .mailform table th {
            font-size: 20px;
            line-height: 28px;
            width: 300px;
            padding: 14px 10px;
            background: #d2d2d2;
            color: #FFFFFF;
            display: flex;
            text-align: center;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
        }
        .mailform table td {
            font-size: 16px;
            line-height: 18px;
            width: 680px;
            padding: 19px 28px;
            text-align: left;
            background: #FFFFFF;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
        }

    .mailform input[type="text"] {
        padding: 2px;
    }
    .mailform input[name="input[address_address]"],
    .mailform input[name="input[address_address2]"] {
        margin-bottom: 4px;
        margin-left: 10px;
    }
    .mailform input[name="input[company]"],
    .mailform input[name="input[address]"],
    .mailform input[name="input[mail]"],
    .mailform input[name="email_address"],
    .mailform input[name="tmp_email_address"],
    .mailform input[name="input[mail_confirm]"],
    .mailform input[name="input[phonetic]"],
    .mailform input[name="input[tel]"],
    .mailform input[name="input[fax]"] {
        width: 30em;
    }
    .mailform textarea {
        width: 30em;
        height: 6em;
    }
    /************ OWLETデフォルト *************/
    .alert {
        display: block;
        color: #ff0000;
        font-weight: bold;
    }
    .require {
        display: block;
        padding: 4px 0px;
        width: 100%;
        line-height: 1.0;
        color: #ce0000;
        font-size: 14px;
        text-align: center;
        font-weight: bold;
        letter-spacing: 0.050em;
    }
    .owlet-input-sample {
        width: 100%;
        font-size: 12px;
        margin-top: 6px;
        color: #A0A0A0;
    }
    .owlet-input-name-sei,
    .owlet-input-name-mei {
        padding: 0.5em;
        width: 13em;
        margin: 0 5px;
    }
    .zip1,.zip2 {
        width: 60px;
        margin-bottom: 5px;
    }
    .zip2addr {
        margin-bottom: 5px;
    }
    select.prefectures,
    select.city {
        margin: 0 5px 5px;
    }
    .owl-datepicker {
        width:150px;
        margin-right: 5px;
    }
    select[name="input[datetime_hour]"],
    select[name="input[datetime_minute]"] {
        margin-right: 5px;
    }
    /*電話番号*/
    .owlet-input-tel1,
    .owlet-input-tel2,
    .owlet-input-tel3 {
        width: 100px;
    }
    .owlet-input-tel2,
    .owlet-input-tel3 {
        margin-left:5px;
    }
    /*ラジオ・チェックボックス縦並びにする場合*/
    .mailform table tr td label {
        display: block;
        width: 100%;
    }
    /*セレクト選択*/
    select[name="input[select]"] {
        display: block;
    }
    /*ラジオボタンにスタイルあてる場合*/
    .mailform label input[type="radio"] {}
    /*チェックボックスにスタイルあてる場合*/
    .mailform label input[type="check"] {}
    .form_button {
        text-align: center;
        margin-bottom: 20px;
    }
    .form_button *[class="owl-img-roll"] {
        display: block;
        margin: 10px auto;
    }
    .form_button form {
        display: inline;
    }
    .owlet-rules {
        width: 1040px;
        padding: 20px;
        border: 1px solid #A0A0A0;
        margin: 20px auto 40px;
    }
    .owlet-rules-title {
        font-size: 18px;
        font-weight: bold;
        display: block;
        text-align: center;
    }
    .owlet-rules-title::before {
        font-size: 14px;
        font-weight: normal;
        display: block;
        text-align: left;
        content: "このフォームからのデータ送信は、SSLにより保護されています。";
        text-align: left;
    }
    .owlet-rules-body {
        margin: 0 auto;
        border: 1px solid #323232;
        height: 120px;
        padding: 20px 40px;
        overflow-y: scroll;
    }
    .owlet-rules-body p {
        text-align: left;
        margin-bottom: 20px;
    }
    .owlet-rules-agree {
        margin: 20px auto;
    }
    /************* フォームボタン *************/
    .form_button {
		text-align: center;
	}
	.form_button form,
	.mailform .form_button a {
	    display: inline-block;
	    vertical-align: top;
        margin-left: 20px;
        margin-right: 20px;
	}
}
/* ******************************************* */
/*          INPUT MAILFORM SP
/* ******************************************* */
@media(max-width:736px){
    .mailform .topmessage {
        margin: 2vw auto;
        font-size: 14px;
        line-height: 20px;
        text-align: left;
    }
    .mailform .teleform {
        margin: 0 -30vw;
    }
    /************ table *************/
    .mailform {
        margin: 4vw auto 6vw;
    }
    .mailform table {
        font-size: 14px;
        line-height: 22px;
        width: 100%;
        margin: 4vw auto 4vw;
        border: 1px solid #D2D2D2;
	}
	.mailform table tr th {
        font-size: 12px;
        line-height: 18px;
        padding: 0.5em 1em;
        display: block;
        width: 100%;
        text-align: center;
        font-weight: bold;
        background: #d2d2d2;
        color: #FFFFFF;
	}
	.mailform table tr td {
        font-size: 12px;
        line-height: 18px;
        display: block;
        width: 100%;
        padding: 1em;
        text-align: left;
        background: #FFFFFF;
	}
	.mailform table tr:first-child th {
        border: none;
	}
    .mailform input[type="text"] {
        width: 100%;
    }
    .mailform input[name="input[address_address]"],
    .mailform input[name="input[address_address2]"] {
        width: 80%;
        margin-bottom: 4px;
        margin-left: 6px;
    }
    .mailform input[name="input[address_zip1]"],
    .mailform input[name="input[address_zip2]"],
    .mailform input[name="input[name_sei]"],
    .mailform input[name="input[name_mei]"],
    .mailform input[name="input[phonetic_sei]"],
    .mailform input[name="input[phonetic_mei]"],
    .mailform input[name="input[tel1]"],
    .mailform input[name="input[tel2]"],
    .mailform input[name="input[tel3]"],
    .mailform input[name="input[fax]"] {
        width: 30%;
    }
    .mailform textarea {
        width: 100%;
        height: 6em;
    }
    /************ OWLETデフォルト *************/
    .alert {
        display: block;
        color: #ff0000;
        font-weight: bold;
    }
    .require {
        display: inline-block;
        margin: 0 8px;
        line-height: 1.0;
        color: #ce0000;
        font-size: 12px;
        font-weight: bold;
    }
    .owlet-input-sample {
        color: #909090;
    }
    .zip1,.zip2 {
        width: 60px;
        margin-bottom: 5px;
    }
    .zip2addr {
        margin-bottom: 5px;
    }
    select.prefectures,
    select.city {
        margin: 0 5px 5px;
    }
    .owl-datepicker {
        width:150px;
        margin-right: 5px;
    }
    select[name="input[datetime_hour]"],
    select[name="input[datetime_minute]"] {
        margin-right: 5px;
    }
    /*電話番号*/
    .owlet-input-tel1,
    .owlet-input-tel2,
    .owlet-input-tel3 {
        width: 100px;
    }
    .owlet-input-tel2,
    .owlet-input-tel3 {
        margin-left:5px;
    }
    /*ラジオ・チェックボックス縦並びにする場合*/
    .mailform table tr td label {
        display: block;
    }
    /*セレクト選択*/
    select[name="input[select]"] {
        display: block;
    }
    /*ラジオボタンにスタイルあてる場合*/
    .inquiry_form label input[type="radio"] {}
    /*チェックボックスにスタイルあてる場合*/
    .inquiry_form label input[type="check"] {}


    /************* フォームボタン *************/
    .form_button {
		display: flex;
        justify-content: center;
	}
	.form_button a {
        margin: 0vw 2vw;
	}
    .form_button form {
        margin: 0vw 2vw;
	}
    input[type="button"],input[type="submit"],input[type="image"] {
 		-webkit-appearance: none;
 		border-radius: 0;
	}
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          スライダー関連 PC
/* ******************************************* */
@media(min-width:737px){
    /************ スライダー枠 *************/
    .top_slide {
        margin: 20px auto 40px;
        position: relative;
        left: 50%;
        width: 1500px;
        margin-left: -750px;
    }
    .slider_interior {
        padding: 20px 0px;
        background: url('/images/bg/bg_border.png');
    	margin-bottom: 50px;
    	position: relative;
        width: 1500px;
        left: 50%;
        margin-left: -750px;
        overflow: hidden;
    }
    .slider_interior .img_slider {
    	overflow: hidden;
    }
    .slider_interior .wrapper {
    	position: relative;
        width: 1660px;
        left: 50%;
        margin-left: -830px;
    }
    .slider_interior .wrapper::before,
    .slider_interior .wrapper::after {
    	content: "";
    	width: 100%;
    	height: 100%;
    	position: absolute;
    	top: 0px;
    	z-index: 1;
    }
    .slider_interior .wrapper:before {
    	left: -1200px;
    }
    .slider_interior .wrapper:after {
    	right: -1200px;
    }
    .slider_interior .bx-wrapper {
    	margin-bottom: 0px;
    }
    .slider_interior .bx-wrapper .bx-viewport {
    	overflow: visible !important;
    }
    .slider_interior .bx-wrapper .bx-viewport ul {}
    .slider_interior .bx-wrapper .bx-viewport ul li {}

    .slider_interior .bx-controls {
    	position: absolute;
        top: 0px;
        left: 50%;
        width: 980px;
        margin-left: -490px;
    }
    /************ スライダー矢印 *************/
    .slider_interior .bx-wrapper .bx-prev {
        left: 4px;
        background: url('/images/st_prev.png') 0 0 no-repeat;
    }
    .slider_interior .bx-wrapper .bx-next {
        right: 4px;
        background: url('/images/st_next.png') 0 0 no-repeat;
    }
    .slider_interior .bx-wrapper .bx-prev:hover {
        opacity: 0.6;
    }
    .slider_interior .bx-wrapper .bx-next:hover {
        opacity: 0.6;
    }
    .slider_interior .bx-wrapper .bx-controls-direction a {
        position: absolute;
        top: 124px;
        width: 51px;
        height: 51px;
        text-indent: -9999px;
        z-index: 9999;
    }
    /************ スライダーページャ *************/
    .slider_interior .bx-wrapper .bx-pager {
    	position: absolute;
    	top: 425px;
        padding: 0px; /* だいじ */
    }
    .slider_interior .bx-wrapper .bx-pager .bx-pager-item,
    .slider_interior .bx-wrapper .bx-controls-auto .bx-controls-auto-item {}
    .slider_interior .bx-wrapper .bx-pager .bx-pager-item + .bx-pager-item,
    .slider_interior .bx-wrapper .bx-controls-auto .bx-controls-auto-item + .bx-controls-auto-item {
    	margin-left: 12px;
    }
    .slider_interior .bx-wrapper .bx-pager.bx-default-pager a {
    	margin: 0;
    	width: 12px;
    	height: 12px;
        border: 1px solid #FFFFFF;
    	border-radius: 50%;
    	background: none;
    }
    .slider_interior .bx-wrapper .bx-pager.bx-default-pager a:hover,
    .slider_interior .bx-wrapper .bx-pager.bx-default-pager a.active {
    	background: #FFFFFF;
    }
}
/* ******************************************* */
/*          スライダー関連 SP
/* ******************************************* */
@media(max-width:736px){
    /************ スライダー枠 *************/
    .top_slide {
        margin: 4vw auto 4vw;
        position: relative;
        width: 320px;
    }
    .slider_interior {
    	width: 100vw;
    	margin-bottom: 5vw;
    	position: relative;
    }
    .slider_interior:after {
    	content: "";
    	width: 100vw;
    	height: 10px;
    	position: absolute;
    	bottom: -10px;
    	left: 0px;
    }
    .slider_interior .img_slider {
    	overflow: hidden;
    }
    .slider_interior .wrapper {
        padding: 0;
    	width: 100vw;
    }
    .slider_interior .bx-wrapper {
    	margin-bottom: 0px;
    }
    .slider_interior .bx-wrapper .bx-viewport {
    	overflow: visible !important;
    }
    .slider_interior .bx-wrapper .bx-viewport ul {}
    .slider_interior .bx-wrapper .bx-viewport ul li {}

    .slider_interior .bx-controls {
        display: none;
    	position: absolute;
        width: 100vw;
    	right: 0px;
    	bottom: 0px;
    }
    .slider_interior .bx-wrapper .bx-pager {
        display: none;
    	position: absolute;
        bottom: 2vw;
    	padding: 0;
        font-size: 0px;
        line-height: 0px;
    }
    .slider_interior .bx-wrapper .bx-pager .bx-pager-item,
    .slider_interior .bx-wrapper .bx-controls-auto .bx-controls-auto-item {}
    .slider_interior .bx-wrapper .bx-pager .bx-pager-item + .bx-pager-item,
    .slider_interior .bx-wrapper .bx-controls-auto .bx-controls-auto-item + .bx-controls-auto-item {
    	margin-left: 12px;
    }
    .slider_interior .bx-wrapper .bx-pager.bx-default-pager a {
    	margin: 0;
    	width: 8px;
    	height: 8px;
    	border-radius: 50%;
    	background: none;
        border: 1px solid #FFFFFF;
    }
    .slider_interior .bx-wrapper .bx-pager.bx-default-pager a:hover,
    .slider_interior .bx-wrapper .bx-pager.bx-default-pager a.active {
    	background: #FFFFFF;
    }
    //
    .slider_interior .bx-wrapper .bx-controls-direction a {
        display: none;
    }
    .slider_interior img {
        height: auto;
    }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          アーティクルページャー PC
/* ******************************************* */
@media(min-width:737px){
    .pagenation {
    	display: table;
    	text-align: center;
    	margin: 30px auto 30px;
    	font-size: 0px;
    }
    .pagenation span {
    	line-height: 40px;
    	font-size: 14px;
    	display: inline-block;
    	margin: 0px 8px;
    	vertical-align: top;
    }
    .pagenation span.prev a,
    .pagenation span.prev.current {
        background: url( '/images/pager_prev_roll_off.png' ) 50% 50% no-repeat;
        text-indent: -9999px;
        width: 45px;
    	height: 45px;
    	border-radius: 2px;
    	margin-right: 26px;
    }
    .pagenation span.next a,
    .pagenation span.next.current {
        background: url( '/images/pager_next_roll_off.png' ) 50% 50% no-repeat;
        text-indent: -9999px;
    	width: 45px;
    	height: 45px;
    	border-radius: 2px;
    	margin-left: 26px;
    }
    .pagenation span.prev.current,
    .pagenation span.next.current {
        display: none;
    }
    .pagenation span.prev a:hover {
        background: url( '/images/pager_prev_roll_on.png' ) 50% 50% no-repeat;
    }
    .pagenation span.next a:hover {
        background: url( '/images/pager_next_roll_on.png' ) 50% 50% no-repeat;
    }
    .pagenation span.prev.current,
    .pagenation span.next.current {
        background-color: #BCBCBC;
    }
    .pagenation span.current {
    	width: 40px;
    	font-size: 14px;
    	line-height: 40px;
    	display: inline-block;
    	color: #000000;
    }
    .pagenation span.scope_limit {
    	width: 40px;
    	font-size: 14px;
    	line-height: 40px;
    	display: inline-block;
    	color: #000000;
     }
    .pagenation span a {
    	width: 40px;
    	font-size: 14px;
    	line-height: 40px;
    	display: inline-block;
    	color: #f2008d;
    	text-decoration: underline;
    }
    .pagenation span a:hover {
    	color: #f2008d;
    	text-decoration: none;
    }
}
/* ******************************************* */
/*          アーティクルページャー SP
/* ******************************************* */
@media(max-width:736px){
    .pagenation {
    	display: table;
    	text-align: center;
    	margin: 5vw auto;
    	font-size: 0px;
    }
    .pagenation span {
    	line-height: 30px;
    	font-size: 14px;
    	display: inline-block;
    	margin: 0px 8px;
    	vertical-align: top;
    }
    .pagenation span.prev a,
    .pagenation span.prev.current {
        background: url( '/images/pager_prev_roll_on.png' ) 50% 50% no-repeat;
        background-size: 100% 100%;
        text-indent: -9999px;
    	width: 30px;
    	height: 30px;
    	border-radius: 2px;
    }
    .pagenation span.next a,
    .pagenation span.next.current {
        background: url( '/images/pager_next_roll_on.png' ) 50% 50% no-repeat;
        background-size: 100% 100%;
        text-indent: -9999px;
    	width: 30px;
    	height: 30px;
    	border-radius: 2px;
    }
    .pagenation span.prev.current,
    .pagenation span.next.current {
        display: none;
    }
    .pagenation span.current {
    	width: 15px;
    	font-size: 14px;
    	line-height: 30px;
    	display: inline-block;
    	color: #A0A0A0;
    }
    .pagenation span.scope_limit {
    	width: 15px;
    	font-size: 14px;
    	line-height: 30px;
    	display: inline-block;
    	color: #A0A0A0;
     }
    .pagenation span a {
    	width: 15px;
    	font-size: 14px;
    	line-height: 30px;
    	display: inline-block;
    	color: #CF000D;
    	text-decoration: underline;
    }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          iframe
/* ******************************************* */

.googlemap_wrap{
	position: relative;
	padding-bottom: 70.35%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.googlemap_wrap img.fitimage{
	max-width: 900px;
}
.googlemap_wrap iframe,
.googlemap_wrap object,
.googlemap_wrap embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
