@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, /*strong,*/

sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    word-break: break-all;
}
/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
*, *:before, *:after {
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
/*---------
/*default
------------*/

* {
    margin: 0;
    padding: 0;
}
body {
    /*font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;*/
    /*font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;*/
	font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',sans-serif;
    font-size: 14px;
    line-height: 1.35em;
    color: #1a1a1a;
    background: #fff;
    width: 100%;
    -webkit-text-size-adjust: 100%;
    min-width: 1200px;
}
.cf::after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
a {
    outline: none;
    vertical-align: bottom;
    text-decoration: none;
}
a:hover {
    text-decoration: none;
    cursor: pointer;
    opacity: 0.8;
}
a:link, visited, active {
    color: #333;
}
img {
    vertical-align: baseline;
}
[href^="tel"] {
    text-decoration: none;
    color: #333;
    cursor: default;
    pointer-events: none;
}
@media screen and (max-width: 768px) {
    [href^="tel"] {
        pointer-events: auto;
    }
}
/*---
float
------*/

.left {
    float: left;
}
.right {
    float: right;
}
/*-------
[common]
---------*/

#containerWrap {
    width: 100%;
    margin: 0 auto;
}
.btn {
    display: inline-block;
    padding: 35px 0;
    border-radius: 100px;
    vertical-align: middle;
}
.btn.orange {
    font-size: 26px;
    border: solid 0.3rem #ff9933;
    box-shadow: 3px 3px #ce7e15;
    letter-spacing: 4px;
    color: #fff;
}
.btn.white {
    display: block;
    width: 700px;
    margin: 0 auto;
    padding: 35px 0;
    font-size: 30px;
    font-weight: bold;
    box-shadow: 3px 4px #00837f;
    letter-spacing: 8px;
    color: #ff9933;
    background-color: #fff;
    text-align: center;
    text-indent: 0;
}
.twoArrows {
    background-image: url(/img/arrow_ico_right_white.png), url(/img/arrow_ico_right_white.png), url(/img/catch_btn.png), linear-gradient(90deg, #fff 0%, #fff 20%, #ff9933 20%, #ff9933 100%);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    background-position: 95% 50%, 90% 50%, 6% 50%, center bottom;
    background-size: 2%, 2%, 13%, auto;
}
.oneArrow {
    background-image: url(/img/arrow_ico_right_white.png), url(/img/catch_btn.png), linear-gradient(90deg, #fff 0%, #fff 20%, #ff9933 20%, #ff9933 100%);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: 95% 50%, 7% 50%, center bottom;
    background-size: 2%, 10%, auto;
}
.btn:hover {
    filter: alpha(opacity=65);
    -moz-opacity: 0.65;
    opacity: 0.65;
    cursor: pointer;
}
.oneBlueArrow {
    background: url(/img/arrow_ico_right_blue.png) 90% center no-repeat;
}
.w100 {
    width: 100%;
}
.w9 {
    width: 9%;
}
.w90 {
    width: 90%;
}
.w8 {
    width: 8%;
}
.w80 {
    width: 80%;
}
.w7 {
    width: 7%;
}
.w70 {
    width: 70%;
}
.w6 {
    width: 6%;
}
.w60 {
    width: 60%;
}
.w55 {
    width: 55%;
}
.w50 {
    width: 50%;
}
.w45 {
    width: 45%;
}
.w40 {
    width: 40%;
}
.w35 {
    width: 35%;
}
.w30 {
    width: 30%;
}
.w25 {
    width: 25%;
}
.w20 {
    width: 20%;
}
.w15 {
    width: 15%;
}
.w10 {
    width: 10%;
}
.w5 {
    width: 5%;
}
.outer {
    width: 1200px;
    margin: 0 auto;
}

.red {
    color: #f33;
}

/*-----------------------------------------------
form Reset(iPhone)
-----------------------------------------------*/
input[type="submit"],
input[type="button"],
input[type="reset"] {
    -webkit-appearance: none;
    border-radius: 0;
}

/*-----------------------------------------------
form
-----------------------------------------------*/
input[type="text"],textarea,select,button {
    border: 1px solid #ccc;
    outline: none;
}
textarea {
    resize: vertical;
    line-height: 1.2;
}
label {
    cursor: pointer;
    line-height: 2;
}
select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"]{
    padding: 8px;
    font-size: 16px;
    border-radius: 4px;
    background-color: #ffffff;
    border: 1px solid #ccc;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 1px 0 #FAFAFA;
    transition: border linear 0.2s, box-shadow linear 0.2s;
}
select:focus,
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus{
    border-color: #8fb8fa;
    outline: 0;
    /* IE6-9 */
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #cde0ff;
}
input[type="radio"],
input[type="checkbox"] {
    vertical-align: middle;
    margin-right: 3px;
    cursor: pointer;
}
input[type="submit"],
input[type="button"] {
    outline: none;
    cursor: pointer;
}


/*-------
[header]
---------*/

header {
    width: 100%;
    height: auto;
	padding: 40px 0 0;
    background: url(/img/header_bg.png) 0 0 no-repeat;
    background-size: cover;
}
header .container {
    width: 1200px;
	margin: 0 auto;
	position:relative;
}
header h1 {
    font-size: 16px;
    margin: 0 0 40px;
	color: #fff;
}
header aside {
    display: none;
    padding: 2% 4%;
    border: solid 1px #1a1a1a;
    font-size: 1.5vw;
    text-align: center;
    letter-spacing: 1.4vw;
}
header h2 {
    width: 65%;
    margin: 4% 0;
    padding: 0 0 10% 0;
    font-size: 4.6vw;
    font-weight: normal;
    letter-spacing: 1.8vw;
    line-height: 1.5;
    /*background: url(/img/header_logo_bg.png) center bottom no-repeat;*/
    background-size: contain;
}
header div .heading {
    text-align: center;
	padding: 50px 0 200px;
}
header .headerBox img {
    width: 50%;
}
.container a {
    display: block;
}
header .link {
	display: flex;
	justify-content: space-around;
	position:absolute;
	bottom: -60px;
}
header .link li {
	margin: 0 10px 0 0;
}
header .link li:last-child {
    margin: 0 0 0 0;
}

/*-------
[future]
---------*/

#future {
    width: 100%;
    height: auto;
    padding: 220px 0 140px;
    background: #f8f7f0 url(/img/future_bg.png) center bottom no-repeat;
    background-size: 100%;
}
#future h2 {
    font-size: 36px;
    text-align: center;
    letter-spacing: 0.2vw;
    line-height: 2.0;
}
#future aside {
    display: block;
    margin: 0 auto 40px;
    font-size: 24px;
    letter-spacing: 4px;
    line-height: 1.3;
    text-align: center;
	position:relative;
}
#future aside:before {
	content:"＼";
	font-size:40px;
	display: block;
	position: absolute;
	left: 15%;
	top: -5px;
}
#future aside:after {
	content:"／";
	font-size:40px;
	display: block;
	position: absolute;
	right: 15%;
	top: -5px;
}
#future h2 br {
    display: none;
}
#future .container div {
    margin: 0 auto;
    line-height: 1.6;
}
#future ul {
    overflow: hidden;
    margin: 5% 0 0 0;
}
#future li {
    width: 25%;
    padding: 280px 0 0;
    font-size: 22px;
    text-align: center;
	color: #fff;
}
#future li:nth-of-type(1) {
    background: url(/img/worry_01.png) center top no-repeat;
    background-size: 85%;
}
#future li:nth-of-type(2) {
    background: url(/img/worry_02.png) center top no-repeat;
    background-size: 85%;
}
#future li:nth-of-type(3) {
    background: url(/img/worry_03.png) center top no-repeat;
    background-size: 85%;
}
#future li:nth-of-type(4) {
    background: url(/img/worry_04.png) center top no-repeat;
    background-size: 85%;
}
/*--------
[support]
----------*/

#support {
    width: 100%;
    padding: 100px 0 10px;
    color: #fff;
	background-color:#005987;
	position:relative;
}
#support:after {
	content:"";
	display:block;
	background: url(/img/support_bg.png) center bottom no-repeat;
    background-size: 100%;
    position: absolute;
    bottom: -150px;
    left: 0;
    width: 100%;
    height: 150px;
}

#support aside {
    display: block;
    margin: 0 auto 40px;
    font-size: 24px;
    letter-spacing: 4px;
    line-height: 1.3;
    text-align: center;
	color: #fff;
	position:relative;
}
#support aside:before {
	content:"＼";
	font-size:40px;
	display: block;
	color: #fff;
	position: absolute;
	left: 0;
	top: -5px;
}
#support aside:after {
	content:"／";
	font-size:40px;
	display: block;
	color: #fff;
	position: absolute;
	right: 0;
	top: -5px;
}
#support h2 {
    margin: 0 auto 20px;
    font-size: 36px;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 4px;
}
#support h2 .support-newLine01 {
    display: none;
}
#support .inner {
    margin: 0 auto;
    overflow: hidden;
    width: 1200px;
}
#support .inner ul {
    display: flex;
    overflow: hidden;
    margin: 2% 0 0 0;
}
#support li {
    width: 33%;
    text-align: center;
    flex-flow: row wrap;
    justify-content: space-between;
}
#support .inner div {
    display: inline-block;
    width: 370px;
    height: 370px;
    padding: 20px;
    border: solid 1px #fff;
    border-radius: 50%;
}
#support h3 {
    font-size: 18px;
    font-weight: bold;
    padding: 74px 0 0 0;
    background: url(/img/finger_ico.png) center top no-repeat;
    border-bottom: solid 1px #fff;
    width: 310px;
    margin: 20px auto 0;
    letter-spacing: -1px;
}
#support h3 span {
    font-size: 26px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: -1px;
    display: block;
}
#support p {
    margin: 10px 0 0 0;
    padding: 0 15px;
    font-size: 14px;
    line-height: 1.75;
    text-align: left;
    letter-spacing: 0.5px;
}

/*-----
[reason]
--------*/
#shop {
    width: 100%;
	background-color:#f8f7f0;
}
#shop .innerBox {
    padding:200px 0 120px;
}
#shop .innerBox aside {
    font-size: 54px;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 15px;
}
#shop .innerBox h2 {
    font-size: 36px;
    text-align: center;
    line-height: 1.6;
	margin: 0 auto 20px;
	color: #007b9b;
}
#shop .innerBox p {
    font-size: 24px;
    text-align: center;
	margin: 0 auto 40px;
	width: 1200px;
	position: relative;
}
#shop .innerBox p:before {
	content:"＼";
	font-size:40px;
	display: block;
	position: absolute;
	left: 30%;
	top: -5px;
}
#shop .innerBox p:after {
	content:"／";
	font-size:40px;
	display: block;
	position: absolute;
	right: 30%;
	top: -5px;
}
#shop .innerImg {
    width: 1200px;
	height: 452px;
    margin: -25px auto 0;
    background: url(/img/bg_logo_01.png) no-repeat top right;
	position:relative;
}
#shop .no2 .innerImg {
    background: url(/img/bg_logo_04.png) no-repeat top right;
}
#shop .no3 .innerImg {
    background: url(/img/bg_logo_03.png) no-repeat top right;
}
#shop .no4 .innerImg {
    background: url(/img/bg_logo_02.png) no-repeat top right;
}

#shop .innerImg > img{
	position:absolute;
	top: 80px;
}
#shop .innerImg .left {
    padding: 110px 0 0;
}
#shop .innerImg .right {
    position: relative;
}
#shop .innerImg h3 {
    line-height: 1.6;
    font-size: 40px;
	padding: 0 0 0 20px;
	border-left:5px solid #007b9b;
}
#shop .innerImg h3 span{
    font-size: 20px;
}
#shop .innerImg a{
	padding:10px 0 0 150px;
	font-size:20px;
	color:#777;
}
#shop .innerImg p {
    padding: 50px 0 20px;
    font-size: 16px;
    line-height: 1.8;
	width: 630px;
}
#shop .innerImg p span{
    color: #df7b6f;
    font-weight: bold;
}
#shop .inner {
    width: 1200px;
    margin: auto;
}
#shop .thumbnailLink {
    display: block;
    width: 80%;
    position: absolute;
    bottom: 5%;
    right: 10%;
    padding: 4% 4%;
    border: solid 1px #fff;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    box-shadow: 0 0 5px #fff, 0 0 5px #dbdbdb, 0 0 5px #aaa;
    border-radius: 10px;
    letter-spacing: 0.08em;
    background: url(/img/ico_search.png) no-repeat;
    background-position: right 30px center;
    background-size: 6%;
    background-color: rgba(255,153,6,0.95);
}
#shop .shopBox {
	padding-bottom:200px;
}
#shop table{
	font-size:16px;
	margin-bottom:70px;
	background:#fff;
	width: 50%;
	box-shadow:3px 3px 10px 3px rgba(28,26,26,0.1);
}
#shop th,#shop td{
	border-bottom:1px solid #b4b5b6;
	padding:20px 20px 18px;
	vertical-align: middle;
	line-height:1.7;
}
#shop .tableLast th,#shop .tableLast td {
	border-bottom: none;
}
#shop th{
	border-right:1px solid #b4b5b6;
	text-align: left;
}


#shop td.rank{
	font-size:24px;
}
#shop td span{
	color:#df7b6f;
	font-weight:bold;
}
#shop .tagTtl{
	font-size:26px;
	margin-bottom:30px;
	letter-spacing:3px;
}
#shop .tagTtl span{
	font-size:36px;
	color:#9b8158;
	font-weight:bold;
}
#shop ul{
	display:flex;
	flex-wrap: wrap;
	margin-bottom:50px;
}
#shop li{
	border:1px solid #9b8158;
	color:#9b8158;
	padding:12px 30px;
	font-size:20px;
	margin: 0 10px 10px 0;
	background:#fff;
}
#shop li{
	border:1px solid #9b8158;
	color:#9b8158;
	padding:12px 30px;
	font-size:20px;
	margin: 0 10px 10px 0;
}

#shop .siteImg {
	text-align: right;
    margin: -240px auto;
    width: 1200px;
}
#shop .btn{
	text-align:center;
	display:block;
	padding:350px 0 0;
}
#shop .btn a {
    background: url(/img/site_arrow.png) no-repeat right 60px top 32px #007b9b;
    color: #fff;
    font-size: 26px;
    display: inline-block;
    text-align: center;
    padding: 34px 200px;
    letter-spacing: 4px;
}

/*------------
[consultation]
--------------*/

#consultation {
    width: 100%;
    height: auto;
    padding: 100px 0;
    background: url(/img/list_bg.png) top center / cover no-repeat #e59690;
    color: #fff;
}
#consultation aside {
    font-size: 26px;
    text-align: center;
    line-height: 1.7;
    letter-spacing: 1px;

}
#consultation h2 {
    font-size: 42px;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 6px;
}
#consultation p {
    font-size: 16px;
    margin: 30px auto 40px;
    text-align: center;
}
#consultation ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#consultation li {
	margin-bottom:20px;
}

/*------------
[conclude]
--------------*/
#conclude {
    background: url(/img/footer_bg.png) no-repeat top 0 left 50%;
    background-size: cover;
    padding: 100px 0;
}
#conclude .telImg {
    display: block;
    margin: 40px 0 0;
}
#conclude .container {
    text-align: center;
    width: 1200px;
    margin: auto;
}
#conclude .container h2 {
    font-size: 30px;
    line-height: 1.75;
	text-align: center;
	text-shadow:1px 1px 6px #ffffff,0px -1px 6px #ffffff;
}

#conclude .container p {
    letter-spacing: 1px;
    font-size: 16px;
    line-height: 1.9;
    text-align: centert;
    margin: 50px 0;
	text-shadow:1px 1px 6px #ffffff,0px -1px 6px #ffffff;
}
#conclude .container h2 p.sp_text {
    display: none;
}
#conclude .container a {
    padding: 0;
}



/*------------
[footer]
--------------*/

footer {
    padding: 50px;
    text-align: center;
    font-size: 12px;
    line-height: 2;
}
footer .footerNewline-sp {
    display: none;
}
.sp,
.site_links_btn p.btn {
    display: none;
}

#site_links {
    width:80%;
    margin:10px 10% 0 10%;
    text-align:center;
    font-size:0.6em;
}

#site_links a{
    color:#333;
    text-align:center;
}

/*---------
/*フォーム
------------*/

.memberBoxForm {
    border: double #ccc;
    padding: 15px;
    margin: 30px 0;
}
.memberBoxForm .membertitle {
    font-weight: bold;
    font-size: 20px;
    margin: 0;
}
.memberBoxForm .membertxt {
    margin-bottom: 15px;
}

/**/
.tdContent .select {
    display: flex;
    flex-wrap: wrap;
}
.tdContent .select .checkbox {
    width: 50%;
}

@media screen and (max-width: 767px) {
    .memberBoxForm {
        border: none;
        margin: 0;
        padding: 3% 1%;
        text-align: justify;
    }
}

/*table*/

#mainColumn {
    width:1200px;
    margin: 0 auto;
}
#mainColumn table.contentTable {
    width:100%;
    line-height: 20px;
    font-size : 16px;
    letter-spacing: 0.1em;
}

#mainColumn table.contentTable td {
    padding: 10px;
    vertical-align: middle;
}

table.contentTable th,
table.contentTable td {
    border: #ccc 1px solid;
}

table.contentTable .smallTitle {
    font-weight: bold;
    background: #f7f7f7;
    width: 25%;
    text-align: center;
}

table.contentTable .smallTitle2 {
    font-weight: bold;
    background: #f7f7f7;
    width: 30%;
    text-align: center;
}

#mainColumn table.contentTable th {
    font-weight: bold;
    background: #EFFFF0;
    width: 25%;
    text-align: center;
    padding: 5px 0;
}

input.text,
textarea.text {
    padding: 10px;
    font-size: 16px;
    width: 100%;
}

input[type="reset"],
input[type="submit"],
input[type="button"] {
    padding: 10px 30px;
    font-size: 18px;
    border-radius: 3px;
    letter-spacing: 1px;
    margin: 0 5px;
    cursor: pointer;
}

input[type="reset"]:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    opacity: .8;
}

input[type="reset"],
input[type="button"] {
    border: #ccc 1px solid;
    background: #fff;
    margin: 0 0
}
input[type="submit"] {
    border: #f18527 1px solid;
    background: #fd9840;
    color: #fff;
}


table.contentTable .tdTitle {
    background: #EFFFF0;
}

table.contentTable .ora_cen {
    background: #ffe6c7;
    text-align: center;
}

table.contentTable .yel_cen {
    background: #fffec6;
    text-align: center;
}

table .w50per {
    width: 55%;
}

table.type01 {
    width: 92%;
    margin: 0 auto;
    border-collapse: collapse;
    border: 1px solid #999;
    font-size: 150%;
}

table.type01 th {
    padding: 15px;
    border: 1px solid #999;
    font-weight: bold;
    text-align: center;
    background: #EFFFF0;
}

table.type01 td {
    padding: 15px;
    border: 1px solid #999;
}

td.top {
    vertical-align: top !important;
}
div.mainBox .title {
    font-size: 24px;
    color: black;
    line-height: 1.25;
    padding: 10px;
    margin: 10px 0;
    margin-top: 20px;
    border-left: solid 8px #fd9840;
    background: #ffe8d5;
}
div.mainBox h2 {
    padding: 0;
    margin: 20px 5px 15px 5px;
    font-size: 20px;
    color: black;
    line-height: 160%;
    text-indent: 18px;
    border-bottom: solid 1px #fd9840;
    border-left: solid 4px #fd9840;
    clear: both;
    font-weight: normal;
}
div.mainBox p {
    margin: 10px 0;
    font-size: 16px;
    line-height: 165%;
}
.checkbox label {
    padding: 3px;
}
@media screen and (max-width: 768px) {
    div.mainBox p {
        margin: 0;
    }
}



/* ===========
* 共通クラス
* =========== */

.clearFloat {
    clear: both;
}

.date,
.notes {
    color: gray;
    font-size: 0.8em;
}

.notes_plus {
    color: black;
    font-size: 0.8em;
    background: #FFEFF1;
    padding: 5px;
    border: 1px solid #FF6F82;
}

.clearFloat {
    clear: both;
}

.floatLeft {
    float: left;
}

.floatRight {
    float: right;
}

.bold {
    font-weight: bold;
}

.message {
    color: #FC7E53;
}

.error-message {
    color: #f33;
    width: 100%;
}

.fin_color {
    color: #f33;
    font-weight: bold;
}

.center {
    text-align: center;
}

.large {
    font-size: 1.8em !important;
}

.small {
    font-size: 0.75em;
}

.underline {
    text-decoration: underline;
}

.right {
    text-align: right;
}

.separate {
    margin-bottom: 50px;
}

#mainColumn div.mainBox .about_list+p.separate {
    margin: -40px 0 50px;
    padding: 0 30px;
}

.unapproval,
.del_flg_on/*,
.required*/ {
    color: red;
    font-weight: bold
}

.lead p {
    margin: 0 0 1em;
}

.form_button {
    text-align: center;
    margin: 30px 0 60px;
}

div.mainBox .form_button p {
    margin: 0 0 20px;
}


/*------------
[レスポンシブ]
--------------*/

@media screen and (max-width: 767px) {
    body {
        min-width: initial;
    }
    /*-------------------------------------------------------------------------------
    common
    -------------------------------------------------------------------------------*/
    .outer,
    #shop .inner,
    #shop .innerImg,
    #shop .inner li a img,
    #shop a img,
    #conclude .container,
    #support .inner,
    #future aside {
        width: 100%;
        height: auto;
        float: none;
    }
    .pc,
    #conclude .telImg {
        display: none;
    }
    .sp {
        display: inline-block;
    }
    /*-------------------------------------------------------------------------------
    header
    -------------------------------------------------------------------------------*/
    header {
		background: url(/img/header_bg.png) center 0 no-repeat;
        background-size: cover;
        position: relative;
		padding: 0;
    }
    header .container {
        padding: 2% 5%;
		width: 100%;
    }
    header h1 {
        font-size: 12px;
        text-align: left;
        letter-spacing: 0.2vw;
        line-height: 6vw;
        padding: 0;
    }
    header aside {
        display: block;
        width: 61%;
        font-size: 5vw;
        letter-spacing: 1vw;
        text-align: left;
        line-height: 5vw;
        padding: 3% 6%;
    }
    header h2 {
        width: 70%;
        font-size: 7vw;
    }
	header div .heading {
		padding:0;
	}
	header div .heading img {
		width: 100%;
		height: auto;
	}
    header .container a {
        left: 0;
        bottom: 10px;
        padding: 0;
    }
    .container a {
        width: 100%;
    }
    header .container a img {
        width: 100%;
		margin: 66vw 0 3vw;
    }
	header .link {
		position: inherit;
		margin: -65% 0 0px;
		bottom: 0;
	}
    .btn.orange {
        width: 100%;
        font-size: 5vw;
        letter-spacing: 0.3vw;
    }
    .headerBtn-sp {
        background-size: 3%, 3%, 16%, auto!important;
    }
    .headerBox .logo {
        width: 100%;
    }
    header .headerBox a {
        width: 100%;
    }
    header .headerBox:nth-child(2) {
        padding: 64% 0 0;
    }
    header .headerBox:nth-child(2) a {
        margin: 0;
    }
    /*-------------------------------------------------------------------------------
    future
    -------------------------------------------------------------------------------*/
    #future {
        padding: 5% 5% 0;
    }
    #future aside {
        font-size: 3vw;
        line-height: 7vw;
        margin: 0 auto 20px;
		letter-spacing: 0;
    }
	#future aside:before {
		font-size: 5vw;
		left: 0;
		top: 0;
	}
	#future aside:after {
		font-size: 5vw;
		right: 0;
		top: 0;
	}
    #future h2 {
        font-size: 5vw;
   		line-height: 8vw;
    }
    #future h2 br {
        display: block;
    }
    #future li {
        width: 50%;
        padding: 45% 0 10%;
        font-size: 3.5vw;
        letter-spacing: -0.1vw;
    }
	#future li:nth-of-type(1),
	#future li:nth-of-type(2) {
		color: inherit;
	}
    .twoArrows {
        background-image: url(/img/arrow_ico_right_white.png), url(/img/arrow_ico_right_white.png), url(/img/catch_btn.png), linear-gradient(90deg, #fff 0%, #fff 23%, #ff9933 20%, #ff9933 100%);
        background-position: 90% 50%, 85% 50%, 7% 50%, center bottom;
    }
    /*-------------------------------------------------------------------------------
    support
    -------------------------------------------------------------------------------*/
    #support {
        padding: 10% 5%;
        background-attachment: scroll;
		background-position: center;
		margin: -1px 0 0;
    }
    #support h2 {
        font-size: 5vw;
        line-height: 8vw;
        margin: 0;
		letter-spacing: 0;
    }
    #support h2 .support-newLine01 {
        display: block;
    }
	#support aside {
		display: block;
		margin: 0 auto 40px;
		font-size: 3vw;
		letter-spacing: 2px;
	}
	#support aside:before {
		font-size: 5vw;
		top:inherit;
		bottom:0;
	}
	#support aside:after {
		font-size: 5vw;
		top:inherit;
		bottom:0;
	}
    #support .inner ul {
        display: initial;
    }
    #support li {
        width: 100%;
    }
    #support .inner div {
        width: 100%;
        height: auto;
        margin: 4% 0;
        border-radius: 3vw;
        padding: 5%;
    }
    #support h3 {
        width: 100%;
        font-size: 4vw;
        padding: 1% 0 0 12%;
        margin: 3% 0 0;
        background-position: top 30% left;
        background-size: 23px;
        text-align: left;
    }
    #support h3 span {
        font-size: 6vw;
        padding-bottom: 5%;
        letter-spacing: 0;
    }
    #support p {
        font-size: 15px;
        margin: 5% 0 0;
        padding: 0;
        line-height: 1.6;
    }
	#support:after {
		display:none;
	}
    /*-------------------------------------------------------------------------------
    reason
    -------------------------------------------------------------------------------*/
    #shop .inner {
        padding: 0 5%;
    }
    #shop .innerBox aside {
        font-size: 3vw;
    }
    #shop .innerBox h2 {
		font-size: 5vw;
		width: 90%;
		background-image: none;
		margin-bottom: 10px;
		font-weight: bold;
	}
	#shop .innerBox p {
		font-size: 3vw;
		width: 90%;
		padding: 0 5%;
		margin: 0 auto 20px;
	}
	#shop .innerBox p:before {
		font-size: 5vw;
		top:0;
		left: 0;
	}
	#shop .innerBox p:after {
		font-size: 5vw;
		top:0;
		right: 0;
	}
    #shop .innerBox {
        padding: 10% 0 0;
    }
    #shop .innerImg {
        margin: 0;
        padding: 5% 5% 0 5%;
    }
    #shop .innerImg div {
        width: 100%;
    }
	#shop .innerImg > img {
		position: absolute;
		top: 5%;
		width: 60px;
	}
	#shop .shopBox p img {
		width: 90%;
		margin:0 5%;
		vertical-align: bottom;
	}
    #shop .innerImg h3 {
        font-size: 6.8vw;
        line-height: 9vw;
    }
	#shop .innerImg h3 span {
		font-size: 13px;
	}
	#shop .innerImg a {
		padding: 0 0 0 70px;
		font-size: 14px;
	}
    #shop .innerImg p {
        font-size: 15px;
        padding: 8% 0;
		width: 100%;
    }
	#shop .tableTtl, #shop table, #shop .tagTtl, #shop ul {
		width: 96%;
	}
	#shop .tableTtl {
		padding: 10px 0 8px;
		font-size: 18px;
	}
	#shop table {
		margin-bottom: 20px;
	}
	#shop th, #shop td {
		padding: 10px;
		line-height: 1.5;
		font-size:14px;
	}
	#shop th {
		font-size: 14px;
		width: 100px;
		text-align: left;
	}
	#shop th span {
	    display: block;
    	font-size: 1vw;
	}
	#shop td.rank {
		font-size: 16px;
		line-height: 1;
	}
	#shop .tagTtl {
		font-size: 16px;
		margin: 0 2% 10px;
		letter-spacing: 0;
	}
	#shop .tagTtl span {
		font-size: 20px;
	}
	#shop ul {
		margin-bottom: 20px;
	}
	#shop li {
		padding: 4px;
		font-size: 16px;
		margin: 0 4px 4px 0;
	}
	#shop .siteImg {
		text-align: center;
		margin: 0 auto;
		width: 100%;
	}
	#shop .siteImg img {
		width: 80%;
	}
	#shop .btn {
		margin: 0 5%;
		padding: 50px 0 0;
	}
	#shop .btn a {
		font-size: 15px;
		padding: 10px 24px 10px 10px;
		letter-spacing: 0;
		background-image: none;
	}

	#shop .spThumb {
        position: relative;
    }
    #shop .spThumb a {
        display: inline-block;
    }
    #shop .spThumb .thumbnailLink {
        position: absolute;
        bottom: 5%;
        right: 3%;
        width: 95%;
        padding: 3% 5%;
        font-size: 1.1rem;
        letter-spacing: 0.1em;
        line-height: 1.2;
        background-size: 10%;
    }

    #shop .innerImg {
        background: none;
        border: none;
    }
	#shop .no2 .innerImg,
	#shop .no3 .innerImg,
	#shop .no4 .innerImg,
	#shop .no5 .innerImg,
	#shop .no6 .innerImg {
		background: none;
	}
    #shop .innerImg .right,
    #shop .innerImg .left{
        float: none;
    }
    #shop .innerImg .left{
        padding: 0px;
    }
    #shop .innerImg .right img{
        width: 100%;
    }
    #shop .thumbnailLink{
        position: absolute;
        bottom: 5%;
        right: 3%;
        width: 95%;
        padding: 3% 5%;
        font-size: 1.1rem;
        letter-spacing: 0.1em;
        line-height: 1.2;
        background-size: 10%;
    }
    #shop .inner {
        padding: 0 5%;
    }
    #shop .inner li a img {
        margin: 0 0 5%;
    }

	#shop .shopBox,#shop .shopBox:nth-child(odd) {
		padding:0 0 18%;
	}

    .cvBox {
        margin: 0;
        padding: 20px 0 30px;
    }
    .cvBox .ttl01::before {
        background: url(/img/ico_01.png) no-repeat;
        background-size: cover;
        width: 40px;
        height: 44px;
        margin: 0 5px -15px 0;
    }
    .cvBox .ttl01::after {
        background: url(/img/ico_02.png) no-repeat;
        background-size: cover;
        width: 25px;
        height: 44px;
        margin: 0 0 -20px 5px;
    }
    .cvBox .ttl01 {
        font-size: 5.5vw;
    }
    .cvBox p {
        font-size: 14px;
    }
    .cvBox .cvBar {
        padding: 4%;
    }
    /*-------------------------------------------------------------------------------
    consultation
    -------------------------------------------------------------------------------*/
    #consultation aside {
        width: 100%;
        font-size: 4vw;
        text-align: left;
        background: none;
        line-height: 7vw;
		letter-spacing: 0;
    }
    #consultation h2 {
        font-size: 7vw;
		margin: 0;
		text-align: left;
		letter-spacing: 1vw;
    }
    #consultation {
        padding: 10% 5%;
    }
    #consultation p {
        width: 100%;
        font-size: 4vw;
        margin: 2% 0;
		text-align: left;
		line-height: 1.5;
    }
	#consultation li {
		margin-bottom: 10px;
	}
	#consultation li{
		width:49%;
		margin: 6px 0 0;
	}
	#consultation li img{
		width:100%;
	}
    .btn {
        padding: 4% 27%;
        background-size: 3%, 3%, 16%, auto;
        text-indent: 0;
    }
    .btn.white {
        width: 100%;
        padding: 8% 10%;
        margin: 5% 0 0;
        font-size: 5vw;
        letter-spacing: 3px;
    }
    /*-------------------------------------------------------------------------------
    congratulation
    -------------------------------------------------------------------------------*/
    #congratulation .container {
        padding: 10% 5%;
        background-image: none;
    }
    #congratulation .inner {
        margin: 0;
    }
    #congratulation img {
        width: 100%;
    }
    #congratulation aside.catch p.hundred-thousand {
        width: 86%;
        font-size: 4vw;
    }
    #congratulation aside.catch p.hundred-thousand strong {
        font-size: 7vw;
    }
    #congratulation aside.catch h2 {
        border: 5px solid #fff6bd;
        font-size: 6vw;
        line-height: 7vw;
        margin: 5% 0;
        padding: 5%;
        text-align: left;
    }
    #congratulation aside.catch p.premium {
        text-align: left;
        font-size: 4vw;
        line-height: 6vw;
        font-weight: normal;
    }
    /*-------------------------------------------------------------------------------
    conclude
    -------------------------------------------------------------------------------*/
    #conclude {
        padding: 10% 5%;
        background-size: cover;
    }
    #conclude .container {
        padding: 0;
    }
    #conclude .container h2 {
        font-size: 5vw;
        line-height: 9vw;
        text-align: left;
        letter-spacing: 1vw;
        font-weight: bold;
    }
    #conclude .container h2 img {
        display: none;
        width: 100%;
        height: auto;
    }
    #conclude .container h2 p.sp_text {
        display: block;
        font-size: 7vw;
        line-height: 9vw;/*letter-spacing:0.8vw;*/
    }
    #conclude .container span img {
        position: initial;
        width: 85px;
        vertical-align: middle;
    }
    #conclude .container span {
        line-height: 1.5;
    }
    #conclude .container p {
        letter-spacing: 1vw;
        font-size: 4vw;
        line-height: 6vw;
        margin: 5% 0;
		text-align:left;
    }
    #conclude .concludeBtn {
        width: 85%;
        background-size: 4%, 14%, 110%, auto;
        margin: 0 auto;
        text-align: center;
        display: block;
        padding: 4% 17%;
        background-position: 91% 50%, 7% 50%, center bottom;
        background-image: url(/img/arrow_ico_right_white.png), url(/img/catch_btn.png), linear-gradient(90deg, #fff 0%, #fff 23%, #ff9933 10%, #ff9933 100%);
        position: initial;
    }
    #conclude .container a {
        margin: 3% auto 0;
    }
    #conclude a {
        padding-left: 10px;
    }
    #conclude a img {
        text-align: center;
        margin: auto;
        width: 100%;
    }

    #voice {
        width:100%;
        padding:30px 0;
    }
    #voice .container{
        width:90%;
        margin:0 5%;
    }
    #voice .container h2{
        text-align:left;
        line-height:1.4;
        font-size:1.4em;
        margin-bottom:20px;
        padding-bottom:10px;
    }
    #voice .container li{
        font-size:1em;
        padding:20px;
        margin-bottom:20px;
    }
    footer {
        font-size: 3vw;
        line-height: 5vw;
        padding: 5%;
    }
    footer .footerNewline-sp {
        display: block;
    }
    .site_links_btn {
        border-bottom: #e5e5e5 1px solid;
    }
    .site_links_btn p.btn {
        display: block;
        padding: 5%;
        background: url(/img/ico_plus.png) no-repeat center right 5%;
        background-size: 17px;
    }
    .site_links_btn p.btn.active {
        display: block;
        padding: 5%;
        background: url(/img/ico_minus.png) no-repeat center right 5%;
        background-size: 17px;
    }
    #site_links {
        width: 100%;
        margin: 0;
        display: none;
    }
    #site_links .wrap {
        color: #fff;
        padding: 0 0 0 2%;
    }
    #site_links .wrap a {
        display: inline-block;
        width: 96%;
        padding: 5%;
        font-size: 14px;
        border-bottom: #e5e5e5 1px solid;
        background: url(/img/arrow_right_black.png) no-repeat center right 5%;
        background-size: 7px;
    }
    #shop .inner .left,
    #shop .inner .right {
        float: none;
    }
    #shop .inner .left{
        padding: 0px;
    }
    #shop .inner .right img{
        width: 100%;
    }
    #shop .thumbnailLink{
        font-size: 1.1rem;
        background: url(/img/ico_search.png) no-repeat;
        background-position: right 16px center;
        background-size: 13%;
        background-color: rgba(255,153,6,0.95);
    }
}



#blog {
    padding: 50px 0;
    background:#fbfaf7;
}
#blog .h2Ttl {
    width: 1200px;
    margin: auto;
    color: #9b8158;
    font-size: 30px;
    padding-bottom: 20px;
    margin-bottom: 40px;
    text-align: center;
    border-bottom: 1px dotted #9b8158;
    line-height: 1.5;
	font-family: 'Yu Mincho normal', '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
}
#blog .listBox {
    width: 1200px;
    margin: auto;
    max-height: 270px;
    overflow: auto;
    background: #fff;
    padding: 10px 50px 30px;
}
#blog dl {
    border-bottom: #e5e5e5 1px solid;
    padding: 20px 0;
}
#blog dt {
    display: inline-block;
    width: 15%;
    font-size: 17px;
}
#blog .corTxt {
    color: #ff9933;
    margin: 0 0 0 10px;
}
#blog dd {
    display: inline-block;
    width: 84%;
    font-size: 16px;
}
#blog dd a {
    color: #222;
}
#blog dd a:hover {
    text-decoration: underline;
}
#blog .btnBox {
    width: 1200px;
    margin: 30px auto 0;
    text-align: right;
}
#blog .btnBox a {
    position: relative;
    display: inline-block;
    font-size: 16px;
    letter-spacing: 2px;
    text-decoration: none;
    color: #9b8158;
    border: 1px solid #9b8158;
    padding: 10px 50px 10px 30px;
	font-family: 'Yu Mincho normal', '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
}
#blog .btnBox a::after {
    content: "»";
    position: absolute;
    top: 9px;
    right: 10px;
}
#blog .btnBox a:hover {
    color: #fff;
    background: #9b8158;
}
@media screen and (max-width: 767px) {
    #blog .h2Ttl,
    #blog .listBox,
    #blog .btnBox,
    #blog dt,
    #blog dd {
        width: 100%;
		font-size: 14px;
    }
    #blog{
        padding: 12% 4%;
    }
    #blog .h2Ttl {
        font-size: 20px;
        padding-bottom: 4%;
        margin-bottom: 4%;
    }
    #blog .listBox {
        max-height: initial;
        overflow: initial;
        padding: 0 4% 4%;
    }
    #blog dl {
        padding: 4% 0;
    }
    #blog dd a {
        padding: 2% 0 0;
        display: block;
    }
    #blog .btnBox {
        margin: 4% 0 0;
        text-align: center;
    }
    #blog .btnBox a {
        display: block;
		padding: 10px;
    }

    #mainColumn {
        width: 94%;
        margin: 3%;
    }
    #mainColumn table.contentTable {
        margin: 5% 0;
        border-bottom: #ccc 1px solid;
    }
    table.contentTable .smallTitle,
    #mainColumn table.contentTable td {
        display: block;
        width: 100%;
        text-align: left;
        border-bottom: none;
    }
    input.text,
    textarea.text {
        width: 100%;
    }
    .form_button input {
        padding: 5px 2vw;
    }
    div.mainBox .title,
    div.mainBox h2 {
        font-size: 20px;
        width:100%;
        display:inline-block;
        margin: 3% 0 0;
        text-indent: 10px;
    }
    .tdContent .select {
        display: block;
    }
    .tdContent .select .checkbox {
        width: 100%;
    }
    input[type="reset"],
    input[type="button"],
    input[type="submit"] {
        width: 100%;
        margin: 0 0 10px;
    }
    input[type="reset"],
    input[type="button"] {
        padding: 5px 2vw;
    }
    input[type="submit"] {
        padding: 15px 2vw;
    }
}

/*-----------------------------------------------
下層header
-----------------------------------------------*/
header.contact {
    border-bottom: 4px solid #FD9740;
    padding: 16px 0;
    background: none;
    margin-bottom: 50px;
}
header.contact .inner{
    width: 1200px;
    margin: 0 auto;
}
header.contact .hLogo {
    float: left;
}
header.contact .hLogo img {
    width:220px;
    height:auto;
}
header.contact .hTelBox {
    float: right;
}
header.contact .hTelBox a{
    display:block;
    background: url(/img/common/header_tel_bg.png) no-repeat center left;
    background-size: 40px;
    font-weight: bold;
    font-size: 44px;
    padding: 0 0 0 50px;
    line-height: 1;
}
header.contact .hTelBox .text {
    font-size: 16px;
    text-align: center;
    padding: 4px 0;;
    background: #FD9740;
    color: #fff;
    border-radius: 5px;
}

@media screen and (max-width: 768px) {
    header.contact {
        padding: 1%;
        margin-bottom: 10px;
        height: auto;
    }
    header.contact .inner{
        width: 100%;
        margin: 0 auto;
    }
    header.contact .hLogo {
        text-align:center;
        margin-bottom: 10px;
    }
    header.contact .hLogo img {
        width: 32vw;
        height: auto;
        padding: 1vw 0 0 0;
    }
    header.contact .hTelBox {
        text-align:center;
        border: 1px solid #FD9740;
        border-radius: 5px;
    }
    header.contact .hTelBox a{
        display: inline-block;
        background: url(/img/common/header_tel_bg.png) no-repeat top 65% left 1vw;
        background-size: 6vw;
        font-size: 7.5vw;
        padding: .5vw .5vw .5vw 8vw;
    }
    header.contact .hTelBox .text {
        font-size: 3vw;
        text-align: center;
        padding: .5vw 2vw;
        border-radius: 4px 4px 0 0;
    }
}



/*-------------------------------------------------------
popup
-------------------------------------------------------*/
#backGuide {
    display: none;
}
#backGuide .box01 {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 3;
    transition: .2s ease-in-out;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 20px 4% 30px;
    line-height: 1.5;
    width: 80%;
}
#backGuide .ttl01 {
    background: url(/img/ttl_ribon_bg.png) no-repeat bottom right;
    background-size: cover;
    padding: 10px;
    font-size: 6vw;
    color: #FFF;
    margin: 0 -45px 0 -40px;
    text-align: center;
}
#backGuide .txt01 {
    font-size: 16px;
    padding: 15px 0;
    text-align: center;
}
#backGuide .txt02 {
    font-weight: bold;
}
#backGuide .txt03 {
    font-weight: bold;
    color: #01b901;
}
#backGuide .btn01,
#backGuide .btn02 {
    text-align: center;
}
#backGuide .btn01 a,
#backGuide .btn02 a {
    font-size: 4.6vw;
    color: #fff;
    padding: 10px 18% 10px 10%;
    display: block;
    border-radius: 40px;
    position: relative;
}
#backGuide .btn01 a {
    background: #ff9933;
    box-shadow: 0 3px 0 #d46900;
    margin: 0 0 5%;
}
#backGuide .btn02 a {
    background: #e8616b;
    box-shadow: 0 3px 0 #931f28;
}
#backGuide .btn01 a::before,
#backGuide .btn01 a::after,
#backGuide .btn02 a::before,
#backGuide .btn02 a::after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    content: "";
    vertical-align: middle;
}
#backGuide .btn01 a::before,
#backGuide .btn02 a::before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
}
#backGuide .btn01 a::after,
#backGuide .btn02 a::after {
    content: "";
    right: 19px;
    box-sizing: border-box;
    width: 12px;
    height: 12px;
    border: 6px solid transparent;
}
#backGuide .btn01 a::after {
    border-left: 8px solid #ff9933;
}
#backGuide .btn02 a::after {
    border-left: 8px solid #e8616b;
}
#backGuide .overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
    opacity: 1;
    visibility: visible;
    transition: .3s linear;
}
.box01 .closeBtn {
    font-size: 24px;
    position: absolute;
    top: -17px;
    right: -10px;
    background: #fff;
    border-radius: 50%;
    width: 34px;
    height: 30px;
    padding: 0 2px 4px 2px;
    text-align: center;
    vertical-align: middle;
    display: table;
    line-height: 1;
    border: #555 3px solid;
}
