/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}
audio,
canvas,
video {
    display: inline-block;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
[hidden],
template {
    display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
html {
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
}
body {
    margin: 0;
}
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,table,pre {
   margin-top: 0;
}
ul{
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}
h1{
    margin-bottom: 0px;
}
/* ==========================================================================
   Links
   ========================================================================== */
a {
    background: transparent;
}
a:focus {
    outline: thin dotted;
}
a:active,
a:hover {
    outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
html {
   font-size: 100%;
}
p,li,dt,dd,th,td,pre {
   -ms-line-break: strict;
   line-break: strict;
   -ms-word-break: break-strict;
   word-break: break-strict;
}
abbr[title] {
    border-bottom: 1px dotted;
}
b,
strong {
    font-weight: bold;
}
dfn {
    font-style: italic;
}
hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}
mark {
    background: #ff0;
    color: #000;
}
code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}
pre {
    white-space: pre-wrap;
}
q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}
small {
    font-size: 80%;
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
img {
    border: 0;
    max-width: 100%;
    vertical-align: middle;
}
svg:not(:root) {
    overflow: hidden;
}
/* .ie8 img {
   width: auto;
   height: auto;
} */
/* ==========================================================================
   Figures
   ========================================================================== */
figure {
    margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}
legend {
    border: 0; /* 1 */
    padding: 0; /* 2 */
}
button,
input,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 2 */
    margin: 0; /* 3 */
}
button,
input {
    line-height: normal;
}
button,
select {
    text-transform: none;
}
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
}
button[disabled],
html input[disabled] {
    cursor: default;
}
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}
input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}
textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*
---------------------------------------
clear
---------------------------------------
*/

.clearfix:after{
	content: " ";
	display: block;
	height: 0;
	font-size:0;
		clear: both;
	visibility:hidden;
}

.clearfix{
	min-height:1px;
}

* html .clearfix{
	height:1px;
}

.clear,
.both{
clear:both;
}

*:first-child+html .clearfix{ zoom: 1; } /* IE7 */


/* ==========================================================================
   common
   ========================================================================== */
::selection {
  color: #e92429; /* WebKit/Blink Browsers */
}
::-moz-selection {
  color: #e92429; /* Gecko Browsers */
}

* {
    margin: 0px;
    padding: 0px;
}
html, body {
    position:relative;
    visibility: visible;
}

#wpadminbar{
    display: none;
}

a{
    text-decoration: none; 
}
a img{
    -moz-transition: opacity .5s ease;
    -webkit-transition: opacity .5s ease;
    transition: opacity .5s ease;
    opacity: 1;
}
a img:hover{
    opacity: 0.8;
}

img{
    max-width: 100%;
    display: block;
}

h1,h2,h3,h4{
    margin: 0px;
    padding: 0px;
}

ul li{
    list-style-type: none;
}

picture{
    max-width: 100%;
    display: block;
}

.page{
    overflow-x: hidden;
}
.kotei_page{
    position: relative;
    z-index: 2;
    background: #fff;
}

.site-content.top{
    padding: 0px;
}
.no-sidebar #primary{
    float: none!important;
    width: 100%!important;
}

.page:not(.home) #content{
    padding-bottom: 0px;
}

.menu_font{
    font-weight: 400;
    letter-spacing: 1px;
    color: #050505;
}
h1,h2,h3,h4,.ttl_font{
    font-family: 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    font-weight: 300;
    font-style: normal;
    letter-spacing: 1px;
    color: #e94980;
}
.font-ryumin{
    font-family: a-otf-ryumin-pr6n, serif;
    font-weight: 300;
    font-style: normal;
}
.font-poppins-regular{
    font-family: poppins, sans-serif;
    font-weight: 400;
    font-style: normal;
}
.font-poppins-semibold{
    font-family: poppins, sans-serif;
    font-weight: 600;
    font-style: normal;
}
.font-yugothic{
    font-family: 游ゴシック, "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}
.font-hira2{
    font-family: 'ヒラギノ角ゴ Pro W2', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
.font-hira3{
    font-family: 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
.font-hira4{
    font-family: 'ヒラギノ角ゴ Pro W4', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
.font-hira5{
    font-family: 'ヒラギノ角ゴ Pro W5', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
.font-hira6{
    font-family: 'ヒラギノ角ゴ Pro W6', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
.font-hira7{
    font-family: 'ヒラギノ角ゴ Pro W7', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

.font-ryogothic{
    font-family: ryo-gothic-plusn, sans-serif;
    font-style: normal;
}

.font-bebas{
    font-family: bebas-neue, sans-serif;
    font-style: normal;
}

p{
    letter-spacing:0;
    margin-bottom:0;
    color: #0b0b0b;
}

/* ==========================================================================
   radio
   ========================================================================== */

/* Customize the label (the container) */
label.radio {
    display: block;
    position: relative;
    padding-left: 2.5em;
    cursor: pointer;
    line-height: 1.5em;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

/* Hide the browser's default checkbox */
label.radio input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

/* Create a custom checkbox */
label.radio .checkmark {
    position: absolute;
    top: .7em;
    left: 0;
    transform: translateY(-50%);
    height: 2vw;
    width: 2vw;
    max-width: 30px;
    max-height: 30px;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 100px;
}

/* Create the checkmark/indicator (hidden when not checked) */
label.radio .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
label.radio input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
label.radio .checkmark:after {
    left: 50%;
    top: 50%;
    width: 60%;
    height: 60%;
    border-radius: 100px;
    background: #000;
    transform: translate(-50%, -50%);
}
label.radio .warning{
    color: #6e6e6e;
    display: block;
}

@media screen and (max-width: 750px) {
    label.radio .checkmark{
        height: 4vw;
        width: 4vw;
    }
}



/* ==========================================================================
   lp common
   ========================================================================== */
main.lp_part_area{
	max-width:none;
}

.lp_part_area a{
    text-decoration: none; 
}
.lp_part_area a img{
    -moz-transition: opacity .5s ease;
    -webkit-transition: opacity .5s ease;
    transition: opacity .5s ease;
    opacity: 1;
}
.lp_part_area a img:hover{
    opacity: 0.8;
}

.lp_part_area img{
    max-width: 100%;
    display: block;
}

.lp_part_area h1, .lp_part_area h2, .lp_part_area h3, .lp_part_area h4{
    margin: 0px;
    padding: 0px;
}

.lp_part_area ul li{
    list-style-type: none;
}

.lp_part_area picture{
    max-width: 100%;
    display: block;
}

.content_box{
    max-width: 1200px;
    margin: 0 auto;
    display: block;
    width: 95%;
    font-family: 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    position: relative;
}
.lp_part_area p{
    letter-spacing:0;
    margin-bottom:0;
    color: #0b0b0b;
	font-weight: normal;
}
.lp_part_area p{font-size:18px;font-size:1.4vw;line-height:2em}
.lp_part_area .p_10{font-size:10px;font-size:.8vw;line-height:2em}
.lp_part_area .p_12{font-size:12px;font-size:.93vw;line-height:2em}
.lp_part_area .p_13{font-size:13px;font-size:1.0vw;line-height:2em}
.lp_part_area .p_14{font-size:14px;font-size:1.08vw;line-height:2em}
.lp_part_area .p_15{font-size:15px;font-size:1.16vw;line-height:2em}
.lp_part_area .p_16{font-size:16px;font-size:1.24vw;line-height:2em}
.lp_part_area .p_17{font-size:17px;font-size:1.3vw;line-height:2em}
.lp_part_area .p_18{font-size:18px;font-size:1.4vw;line-height:1.8em}
.lp_part_area .p_19{font-size:19px;font-size:1.48vw;line-height:2em}
.lp_part_area .p_20{font-size:20px;font-size:1.56vw;line-height:2em}
.lp_part_area .p_21{font-size:21px;font-size:1.61vw;line-height:2em}
.lp_part_area .p_22{font-size:22px;font-size:1.72vw;line-height:2em}
.lp_part_area .p_24{font-size:24px;font-size:1.84vw;line-height:2em}
.lp_part_area .p_26{font-size:26px;font-size:2vw;line-height:2em}
.lp_part_area .p_27{font-size:27px;font-size:2.07vw;line-height:2em}
.lp_part_area .p_28{font-size:28px;font-size:2.2vw;line-height:1em}
.lp_part_area .p_30{font-size:30px;font-size:2.31vw;line-height:1em}
.lp_part_area .p_31{font-size:31px;font-size:2.38vw;line-height:1em}
.lp_part_area .p_32{font-size:32px;font-size:2.46vw;line-height:1em}
.lp_part_area .p_34{font-size:34px;font-size:2.62vw;line-height:1em}
.lp_part_area .p_36{font-size:36px;font-size:2.77vw;line-height:1em}
.lp_part_area .p_38{font-size:38px;font-size:2.93vw;line-height:1em}
.lp_part_area .p_40{font-size:40px;font-size:3.1vw;line-height:1em}
.lp_part_area .p_42{font-size:42px;font-size:3.23vw;line-height:1em}
.lp_part_area .p_44{font-size:44px;font-size:3.39vw;line-height:1em}
.lp_part_area .p_46{font-size:46px;font-size:3.54vw;line-height:1em}
.lp_part_area .p_48{font-size:48px;font-size:3.7vw;line-height:1em}
.lp_part_area .p_50{font-size:50px;font-size:3.9vw;line-height:1em}
.lp_part_area .p_55{font-size:55px;font-size:3.9vw;line-height:1em}
.lp_part_area .p_60{font-size:60px;font-size:4.62vw;line-height:1em}
.lp_part_area .p_70{font-size:70px;font-size:5.4vw;line-height:1em}

@media screen and (min-width: 1300px) {
    .lp_part_area p{font-size:18px}
    .lp_part_area .p_10{font-size:10px}
    .lp_part_area .p_12{font-size:12px}
    .lp_part_area .p_13{font-size:13px}
    .lp_part_area .p_14{font-size:14px}
    .lp_part_area .p_15{font-size:15px}
    .lp_part_area .p_16{font-size:16px}
    .lp_part_area .p_17{font-size:17px}
    .lp_part_area .p_18{font-size:18px}
    .lp_part_area .p_19{font-size:19px}
    .lp_part_area .p_20{font-size:20px}
    .lp_part_area .p_21{font-size:21px}
    .lp_part_area .p_22{font-size:22px}
    .lp_part_area .p_24{font-size:24px}
    .lp_part_area .p_26{font-size:26px}
    .lp_part_area .p_27{font-size:27px}
    .lp_part_area .p_28{font-size:28px}
    .lp_part_area .p_30{font-size:30px}
    .lp_part_area .p_31{font-size:31px}
    .lp_part_area .p_32{font-size:32px}
    .lp_part_area .p_34{font-size:34px}
    .lp_part_area .p_36{font-size:36px}
    .lp_part_area .p_38{font-size:38px}
    .lp_part_area .p_40{font-size:40px}
    .lp_part_area .p_42{font-size:42px}
    .lp_part_area .p_44{font-size:44px}
    .lp_part_area .p_46{font-size:46px}
    .lp_part_area .p_48{font-size:48px}
    .lp_part_area .p_50{font-size:50px}
    .lp_part_area .p_55{font-size:55px}
    .lp_part_area .p_60{font-size:60px}
    .lp_part_area .p_70{font-size:70px}
}

@media screen and (max-width: 750px) {
    .content_box{width:95%}
    .lp_part_area p{font-size:20px;font-size:2.67vw;line-height:1.9em}
    .lp_part_area .s_12{font-size:15px;font-size:1.6vw;line-height:1.9em}
    .lp_part_area .s_15{font-size:15px;font-size:2vw;line-height:1.9em}
    .lp_part_area .s_16{font-size:16px;font-size:2.14vw;line-height:1.9em}
    .lp_part_area .s_18{font-size:18px;font-size:2.4vw;line-height:1.9em}
    .lp_part_area .s_20{font-size:20px;font-size:2.67vw;line-height:1.9em}
    .lp_part_area .s_22{font-size:22px;font-size:2.94vw;line-height:1.9em}
    .lp_part_area .s_24{font-size:24px;font-size:3.1vw;line-height:1.9em}
    .lp_part_area .s_26{font-size:26px;font-size:3.47vw;line-height:1.9em}
    .lp_part_area .s_28{font-size:28px;font-size:3.74vw;line-height:1em}
    .lp_part_area .s_30{font-size:30px;font-size:4vw;line-height:1em}
    .lp_part_area .s_32{font-size:32px;font-size:4.27vw;line-height:1em}
    .lp_part_area .s_34{font-size:34px;font-size:4.54vw;line-height:1em}
    .lp_part_area .s_35{font-size:35px;font-size:4.7vw;line-height:1em}
    .lp_part_area .s_36{font-size:36px;font-size:4.8vw;line-height:1em}
    .lp_part_area .s_38{font-size:38px;font-size:5.07vw;line-height:1em}
    .lp_part_area .s_40{font-size:40px;font-size:5.4vw;line-height:1em}
    .lp_part_area .s_42{font-size:42px;font-size:5.6vw;line-height:1em}
    .lp_part_area .s_44{font-size:44px;font-size:5.8vw;line-height:1em}
    .lp_part_area .s_50{font-size:50px;font-size:6.67vw;line-height:1em}
    .lp_part_area .s_60{font-size:60px;font-size:8vw;line-height:1em}
    .lp_part_area .s_70{font-size:70px;font-size:9.4vw;line-height:1em}
    .lp_part_area .s_85{font-size: 85px;font-size: 11.2vw;line-height: 1em;}
    .lp_part_area .s_90{font-size: 90px;font-size: 11.9vw;line-height: 1em;}
    .lp_part_area .s_160{font-size:160px;font-size:10.67vw;line-height:1em}
}

.lp_part_area .lp_sp{
    display: none;
}
.lp_part_area .lp_pc{
    display: block;
}

@media screen and (max-width: 750px) {
    .lp_part_area .lp_sp{
        display: block!important;
    }
    .lp_part_area .lp_pc{
        display: none!important;
    }
}

/* ==========================================================================
   lp btn
   ========================================================================== */
.lp_part_area .btn{
    text-align: center;
}
.lp_part_area .btn a{
    position: relative;
    color: #000000;
    display: block;
    text-align: center;
    border: 1px solid #000;
    width: 43%;
    margin: 0 auto;
    line-height: 1em;
    padding: 1.4em 0px;
    border-radius: 0px;
    -moz-transition: all .5s ease;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
}
.lp_part_area .btn a::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 1.5em;
}
.lp_part_area .btn a:hover{
    color: #fff;
    background: #000;
}
.lp_part_area .btn a:hover::after{
    border-color: #fff;
}
.lp_part_area .btn a.next{
    color: #fff;
    background: #e72a2e;
    border: 1px solid #e72a2e;
}
.lp_part_area .btn a.next::after{
    border-color: #fff;
}
.lp_part_area .btn a.next:hover{
    color: #e72a2e;
    background: #fff;
}
.lp_part_area .btn a.next:hover::after{
    border-color: #e72a2e;
}

@media screen and (max-width: 750px) {
    .lp_part_area .btn a{
        width: 85%;
    }
}

/* ==========================================================================
   lp part
   ========================================================================== */
.lp_part_area{
	position: relative;
}

.lp_part_area .part_content{
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
	margin: 0 auto;
}
.lp_part_area .margin_t_L{
	margin-top: 5%;
}
.lp_part_area .margin_t_M{
	margin-top: 3.4%;
}
.lp_part_area .margin_t_S{
	margin-top: 1.7%;
}
.lp_part_area .margin_b_L{
	margin-bottom: 5%;
}
.lp_part_area .margin_b_M{
	margin-bottom: 3.4%;
}
.lp_part_area .margin_b_S{
	margin-bottom: 1.7%;
}
.lp_part_area .part_button .part_content{
	display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 72.9%;
    max-width: 860px;
}
.lp_part_area .part_button .part_content .btn{
    width: 45.4%;
}
.lp_part_area .part_button .part_content .btn a{
	width: 100%;
}
.lp_part_area .part_textAndImage .part_content{
    width: 72.9%;
    max-width: 860px;
}
.lp_part_area .part_text .part_content{
    width: 100%;
    max-width: none;
}
.lp_part_area .part_text.align_2 p{
    margin: 0 auto;
	text-align: center;
}
.lp_part_area .part_textAndImage .part_content.layout_1{
	display: flex;
    flex-direction: row;
}
.lp_part_area .part_textAndImage .part_content.layout_2{
	display: flex;
    flex-direction: row-reverse;
}
.lp_part_area .part_textAndImage .part_content .photo_box{
	width: 49%;
}
.lp_part_area .part_textAndImage .part_content.size_1 .photo_box{
	width: 29%;
}
.lp_part_area .part_textAndImage .part_content.size_2 .photo_box{
	width: 49%;
}
.lp_part_area .part_textAndImage .part_content .text_box{
	width: 49%;
}
.lp_part_area .part_textAndImage .part_content.size_1 .text_box{
	width: 69%;
}
.lp_part_area .part_textAndImage .part_content.size_2 .text_box{
	width: 49%;
}
.lp_part_area .part_lineSeparator .part_content{
    display: flex;
    align-content: center;
    justify-content: center;
    max-width: 1040px;
    width: 86.7%;
}
.lp_part_area .part_image .part_content{
    display: flex;
    align-content: center;
    justify-content: center;
    max-width: 1180px;
    width: 100%;
}
.lp_part_area .part_imageScroll .part_content{
    display: flex;
    align-content: center;
    justify-content: center;
    max-width: 1180px;
    width: 100%;
}
.lp_part_area .part_qa .part_content{
	width: 100%;
    max-width: 1140px;
	display: block;
}
.lp_part_area .part_qa dl dt{
    font-weight: 500;
    margin: 0px;
    padding: 0px 4.2%;
    margin-top: 2.9%;
}
.lp_part_area .part_qa dl dt span{
    display: block;
    padding-left: 4.6%;
    line-height: 1.4em;
    position: relative;
	font-weight: bold;
}
.lp_part_area .part_qa dl dt span .ico{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(-50%,-50%);
    width: 4.3%;
    max-width: 46px;
    height: 0px;
    padding-top: 46px;
}
.lp_part_area .part_qa dl dd{
    margin: 0px;
    padding: 2.5% 4.2%;
    padding-bottom: 3.8%;
    border-bottom: 1px dashed #bdbdbd;
}
.lp_part_area .part_qa dl dd span{
    border-radius: 15px;
    display: block;
    padding: 1.7%;
    padding-left: 4.6%;
    padding-right: 2%;
    position: relative;
    border: 1px solid #cbcbcb;
}
.lp_part_area .part_qa dl dd span .ico{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(-50%,-50%);
    width: 4.3%;
    max-width: 46px;
    height: 0px;
    padding-top: 46px;
}
.lp_part_area .part_banner .part_content.layout_1{
	display: flex;
    flex-direction: row;
}
.lp_part_area .part_banner .part_content.layout_1 .banner{
	width: 49%;
}
.lp_part_area .part_banner .part_content.layout_2{
	display: flex;
    flex-direction: column;
}
.lp_part_area .part_banner .part_content.layout_2 .banner{
	width: 100%;
}
.lp_part_area .part_banner .part_content.layout_2 .banner:nth-of-type(2) {
	padding-top: 1.7%;
}
.lp_part_area .part_section{
	
}
.lp_part_area .part_section{
	position: relative;
}
.lp_part_area .part_section .section_bg{
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
}
.lp_part_area .part_section.margin_t_L{
	margin-top: 4.6%;
}
.lp_part_area .part_section.margin_t_M{
	margin-top: 3.08%
}
.lp_part_area .part_section.margin_t_S{
	margin-top: 1.5%
}
.lp_part_area .part_section.margin_b_L{
	margin-bottom: 4.6%;
}
.lp_part_area .part_section.margin_b_M{
	margin-bottom: 3.08%
}
.lp_part_area .part_section.margin_b_S{
	margin-bottom: 1.5%
}
.lp_part_area .part_section.padding_t_L{
	padding-top: 4.6%;
}
.lp_part_area .part_section.padding_t_M{
	padding-top: 3.08%
}
.lp_part_area .part_section.padding_t_S{
	padding-top: 1.5%
}
.lp_part_area .part_section.padding_b_L{
	padding-bottom: 4.6%;
}
.lp_part_area .part_section.padding_b_M{
	padding-bottom: 3.08%
}
.lp_part_area .part_section.padding_b_S{
	padding-bottom: 1.5%
}
.lp_part_area .part_contact .v-input--selection-controls .v-input__slot>.v-label, 
.lp_part_area .part_contact .v-input--selection-controls .v-radio>.v-label{
	margin-bottom: 0px;
}
.lp_part_area .part_contact .v-input .v-label{
	z-index: 1;
}
.lp_part_area .part_imgBtn .btnArea{
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.lp_part_area .part_imgBtn .btnArea .imgBtn{
    width: 59.3%;
}

.lp_part_area .part_video .movie{
	width: 57.3%;
	margin: 0 auto;
}

.lp_part_area .part_slider .bx-wrapper{
	box-shadow: none;
    border: none;
    margin-bottom: 20px;
}
.lp_part_area .part_slider .bx-pager{
	
}

@media screen and (max-width: 750px) {
	.lp_part_area .margin_t_L{
		margin-top: 9.9%;
	}
	.lp_part_area .margin_t_M{
		margin-top: 7.1%;
	}
	.lp_part_area .margin_t_S{
		margin-top: 4.2%;
	}
	.lp_part_area .margin_b_L{
		margin-bottom: 9.9%;
	}
	.lp_part_area .margin_b_M{
		margin-bottom: 7.1%;
	}
	.lp_part_area .margin_b_S{
		margin-bottom: 4.2%;
	}
	.lp_part_area .part_section.margin_t_L{
		margin-top: 9.9%;
	}
	.lp_part_area .part_section.margin_t_M{
		margin-top: 7.1%;
	}
	.lp_part_area .part_section.margin_t_S{
		margin-top: 4.2%;
	}
	.lp_part_area .part_section.margin_b_L{
		margin-bottom: 9.9%;
	}
	.lp_part_area .part_section.margin_b_M{
		margin-bottom: 7.1%;
	}
	.lp_part_area .part_section.margin_b_S{
		margin-bottom: 4.2%;
	}
	.lp_part_area .part_section.padding_t_L{
		padding-top: 9.9%;
	}
	.lp_part_area .part_section.padding_t_M{
		padding-top: 7.1%;
	}
	.lp_part_area .part_section.padding_t_S{
		padding-top: 4.2%;
	}
	.lp_part_area .part_section.padding_b_L{
		padding-bottom: 9.9%;
	}
	.lp_part_area .part_section.padding_b_M{
		padding-bottom: 7.1%;
	}
	.lp_part_area .part_section.padding_b_S{
		padding-bottom: 4.2%;
	}
	.lp_part_area .part_button .part_content{
		display: flex;
		flex-direction: column;
		align-content: center;
		justify-content: space-evenly;
		align-items: center;
	    width: 84%;
	}
	.lp_part_area .part_text .part_content{
		width: 100%;
	}
	.lp_part_area .part_button .part_content .btn{
		width: 100%;
	}
	.lp_part_area .part_button .part_content .btn:nth-of-type(2){
		padding-top: 4.2%;
	}
    .lp_part_area .part_textAndImage .part_content{
		width: 100%;
		max-width: 710px;
	}
	.lp_part_area .part_lineSeparator .content_box{
		width: 100%;
	}
	.lp_part_area .part_lineSeparator .part_content{
		width: 95%;
	}
	.lp_part_area .part_image .part_content{
		width: 100%;
		max-width: 710px;
	}
	.lp_part_area .part_imageScroll .part_content{
        width: 100%;
        max-width: 710px;
        overflow-x: auto;
	}
	.lp_part_area .part_imageScroll .part_content img{
		width: auto;
		max-width: none;
	}
	.lp_part_area .part_textAndImage .part_content.layout_1{
		display: flex;
        flex-direction: column;
	}
	.lp_part_area .part_textAndImage .part_content.size_1 .photo_box{
		width: 100%;
	}
	.lp_part_area .part_textAndImage .part_content.size_1 .text_box{
		width: 100%;
		margin-top: 5%;
	}
	.lp_part_area .part_textAndImage .part_content.size_2 .photo_box{
		width: 100%;
	}
	.lp_part_area .part_textAndImage .part_content.size_2 .text_box{
		width: 100%;
		margin-top: 5%;
	}
	.lp_part_area .part_qa dl dd{
        padding: 5% 2.5%;
        padding-bottom: 8%;
        padding-right: 0px;
    }
    .lp_part_area .part_qa dl dd span{
        padding-left: 6%;
    }
    .lp_part_area .part_qa dl dt{
        padding: 0% 2.5%;
        margin-top: 8%;
        padding-right: 0px;
    }
    .lp_part_area .part_qa dl dt span{
        padding-left: 6%;
    }
    .lp_part_area .part_qa dl dt span .ico{
        width: 7.1%;
    }
    .lp_part_area .part_qa dl dd span .ico{
        width: 7.1%;
    }
	.lp_part_area .part_banner .part_content.layout_1{
		display: flex;
		flex-direction: column;
	}
	.lp_part_area .part_banner .part_content.layout_1 .banner{
		width: 100%;
	}
	.lp_part_area .part_banner .part_content.layout_1 .banner:nth-of-type(2) {
		padding-top: 4%;
	}
	.lp_part_area .part_banner .part_content.layout_2{
		display: flex;
		flex-direction: column;
	}
	.lp_part_area .part_banner .part_content.layout_2 .banner{
		width: 100%;
	}
	.lp_part_area .part_imgBtn .btnArea{
		flex-direction: column;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
	}
	.lp_part_area .part_imgBtn .btnArea .imgBtn{
		margin-bottom: 3%;
	}
	.lp_part_area .part_banner .part_content.layout_2 .banner:nth-of-type(2){
		padding-top: 3.7%;
	}
	.lp_part_area .part_video .movie{
		width: 100%;
	}
}

@media screen and (min-width: 1300px) {
    .lp_part_area .part_section.margin_t_L{
		margin-top: 60px;
	}
	.lp_part_area .part_section.margin_t_M{
		margin-top: 40px;
	}
	.lp_part_area .part_section.margin_t_S{
		margin-top: 20px;
	}
	.lp_part_area .part_section.margin_b_L{
		margin-bottom: 60px;
	}
	.lp_part_area .part_section.margin_b_M{
		margin-bottom: 40px;
	}
	.lp_part_area .part_section.margin_b_S{
		margin-bottom: 20px;
	}
	.lp_part_area .part_section.padding_t_L{
		padding-top: 60px;
	}
	.lp_part_area .part_section.padding_t_M{
		padding-top: 40px;
	}
	.lp_part_area .part_section.padding_t_S{
		padding-top: 20px;
	}
	.lp_part_area .part_section.padding_b_L{
		padding-bottom: 60px;
	}
	.lp_part_area .part_section.padding_b_M{
		padding-bottom: 40px;
	}
	.lp_part_area .part_section.padding_b_S{
		padding-bottom: 20px;
	}
}

/* ==========================================================================
   contact_btn
   ========================================================================== */
.contact_btn{}
.contact_btn a{
    color: #fff;
    border: 2px solid #fff;
    display: block;
    width: 100%;
    text-align: center;
    padding: 1.35em 0px;
    line-height: 1em !important;
    border-radius: 5em;
	cursor: pointer;
	-moz-transition: all .5s ease;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
}
.contact_btn a:hover{
	color: #000;
	background: #fff;
}
.contact_btn.dark a{
    color: #feef00;
    background: #000;
    border: 2px solid #000;
    letter-spacing: 0.1em;
    padding: 1.45em 0px;
}
.contact_btn.dark a:hover{
	color: #000;
	background: #fff;
}


@media screen and (max-width: 750px) {
	.contact_btn a{
		padding: 1.25em 0px;
	    background-color: rgba(0, 0, 0, 0.5);
	}
	
	
	
}

/* ==========================================================================
   header
   ========================================================================== */
header{
	position: absolute;
    top: 0px;
    width: 100%;
	z-index: 2;
}
.site_header{
    padding-top: 2.05%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}
.site_header .logo{
	width: 15.6%;
}
.site_header .header_ttl{
    width: 60%;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding-top: 0.8%;
}
.site_header .header_ttl .logotext{
    color: #000;
    font-weight: bold;
    line-height: 1em;
    border: 2px solid #000;
    border-radius: 0.7em;
    padding: 0.6em 0.8em;
}
.site_header .header_ttl h1{
    font-weight: bold;
    color: #000;
    padding-left: 1em;
}
.site_header .contact{
	width: 19.5%;
}
.site_header .contact a{
    display: block;
	padding:0px;
}

@media screen and (max-width: 750px) {
	.site_header{
		padding-top: 5.65%;
	}
	.site_header .logo{
		padding-left: 2%;
        width: 31.4%;
	}
}
   

/* ==========================================================================
   page
   ========================================================================== */
body{
    overflow-x: hidden;
}
#hero{
	background: #fff;
}
#hero .hero_bg{
	width: 100%;
	max-width: 1900px;
	background: url(../images/hero_bg.png) center center no-repeat;
    background-size: cover;
	margin: 0 auto;
}
#hero h2{
    padding-top: 29.6%;
    width: 69.5%;
    margin: 0px;
}
#hero h3{
    padding-top: 1.7%;
    width: 46.6%;
    margin: 0px;
}
#hero .contact{
    width: 36.2%;
    padding-top: 3.4%;
    padding-bottom: 5.4%;
    padding-left: 0.5%;
}
#points{}
#points .point_item{
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
#points .point_item.point1{
	background: #f5f5f7;
}
#points .point_item.point2{
	flex-direction: row-reverse;
	background: #eddfe0;
}
#points .point_item.point3{
	background: #f5f5f7;
}
#points .point_item .img_box{
    width: 44.5%;
}
#points .point_item .desc_box{
    width: 47.25%;
}
#points .point_item.point1 .desc_box{
	padding-right: 3.1%;
}
#points .point_item.point2 .desc_box{
	padding-left: 5.5%;
}
#points .point_item.point3 .desc_box{
	padding-right: 3.1%;
}
#points .point_item .desc_box .ttl{}
#points .point_item .desc_box .txt{
    color: #84716a;
    padding-top: 6.2%;
    line-height: 2.2em;
    width: 93.5%;
}
#points .contact{
    width: 42.2%;
    margin: 0 auto;
    margin-top: 9%;
	margin-bottom: 4.2%;
}
#requirements .part_title h2{
	width: 58.3%;
    margin-top: 6.2%;
    margin-bottom: 3.8%;
} 
#requirements .req_table{
	width:91.6%;
	border-collapse: separate;
    margin: 0 auto;
}
#requirements .req_table p{
	color: #7e6c65;
}
#requirements .req_table tbody{}
#requirements .req_table tbody tr{
	    
}
#requirements .req_table tbody tr td{
	border: 1px solid #7e6c65;
	border-top: none;
}
#requirements .req_table tbody tr:nth-of-type(1) td{
	border-top: 1px solid #7e6c65;
}
#requirements .req_table tbody tr:nth-of-type(1) td:nth-of-type(1){
	border-top-left-radius: 20px;
}
#requirements .req_table tbody tr:nth-of-type(1) td:nth-of-type(2){
	border-top-right-radius: 20px;
}
#requirements .req_table tbody tr:nth-last-of-type(1) td:nth-of-type(1){
	border-bottom-left-radius: 20px;
}
#requirements .req_table tbody tr:nth-last-of-type(1) td:nth-of-type(2){
	border-bottom-right-radius: 20px;
}
#requirements .req_table tbody tr td:nth-of-type(1){
    background: #f5f5f7;
    width: 18%;
    vertical-align: top;
    padding: 0.8% 0%;
}
#requirements .req_table tbody tr td:nth-of-type(1) p{
	text-align: center;
	width: 100%;
}
#requirements .req_table tbody tr td:nth-of-type(2){
	border-left: none;
	padding: 0.8% 0%;
	padding-left: 2%;
}
#voice{
	background: #f5f5f7;
}
#voice .part_title h2{
	width: 61.7%;
    padding-top: 3.3%;
}
#voice .voice_list{
    padding-top: 6.7%;
    padding-bottom: 3.3%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    width: 89.2%;
    margin: 0 auto;
}
#voice .voice_list li{
    background: #fff;
    width: 27.1%;
    position: relative;
    border-radius: 1.5em;
    padding: 1.9%;
}
#voice .voice_list li .photo{
    width: 44%;
    position: absolute;
    top: -8%;
    left: -4.5%;
}
#voice .voice_list li .details{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-end;
    width: 100%;
}
#voice .voice_list li .details .ttl{
    position: relative;
    font-weight: bold;
    color: #6c574e;
    line-height: 1em;
    width: 55.2%;
    padding-top: 6.9%;
    padding-bottom: 8%;
}
#voice .voice_list li .details .ttl::after{
	content: " ";
	position: absolute;
	bottom: 0%;
	left: 0%;
	width: 100%;
	height: 3px;
	background: #f5f5f7;
}
#voice .voice_list li .details .desc{
    padding-top: 12%;
    color: #6c574e;
    min-height: 16em;
}
#faq .part_title h2{
    width: 98.4%;
    padding-top: 3.3%;
    padding-bottom: 3.3%;
}
#faq dl{
    width: 86.6%;
    margin: 0 auto;
}
#faq dl dt{
    font-weight: 500;
    margin: 0px;
    padding: 0px 4.2%;
    margin-top: 3.8%;
}
#faq dl dt span{
    display: block;
    padding-left: 4.6%;
    line-height: 1.4em;
    position: relative;
	color: #705c53;
	font-weight: bold;
    letter-spacing: 0.06em;
}
#faq dl dt span::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(-50%, -50%);
    width: 5.3%;
    max-width: 50px;
    height: 0px;
    padding-top: 50px;
    background: url(../images/qa_q.png) center center no-repeat;
    background-size: contain;
}
#faq dl dd{
    margin: 0px;
    padding: 3.1% 4.2%;
    padding-bottom: 3.9%;
    border-bottom: 1px solid #e6e6e6;
}
#faq dl dd:nth-last-of-type(1){
	border-bottom: none;
}
#faq dl dd span{
    border-radius: 0.7em;
    background: #f5f5f7;
    display: block;
    padding: 2.6%;
    padding-left: 4.6%;
    padding-right: 2%;
    position: relative;
    color: #705c53;
    letter-spacing: 0.06em;
}
#faq dl dd span::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(-50%,-50%);
    width: 5.3%;
    max-width: 50px;
    height: 0px;
    padding-top: 50px;
    background: url(../images/qa_a.png) center center no-repeat;
    background-size: contain;
}
#faq .arrowSeparator{
	width: 86.7%;
    margin: 0 auto;
    padding-top: 3.3%;
}
#entry .part_title h2{
	width: 48.4%;
}
#entry .desc{
	width: 85%;
    margin: 0 auto;
    padding-top: 2.9%;
}
#entry .desc .ttl{
    color: #705c53;
    line-height: 2em;
}
#entry .desc ul{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    align-items: center;
    padding-top: 4.5%;
}
#entry .desc ul li{
    width: 45%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
#entry .desc ul li .ico{
    width: 12.5%;
}
#entry .desc ul li .text{
    font-weight: bold;
    color: #705c53;
    line-height: 1em;
    letter-spacing: 0.1em;
    padding-left: 1em;
}
#entry .contact {
    width: 42.2%;
    margin: 0 auto;
    margin-top: 6%;
    margin-bottom: 2.2%;
}

@media screen and (min-width: 1300px) {

}
@media screen and (max-width: 750px) {
    #hero .hero_bg{
		background: url(../images/hero_bg_sp.png) center center no-repeat;
		background-size: cover;
	}
	#hero h2{
        width: 100%;
		padding-top: 63vw;
	}
	#hero h3{
        width: 100%;
		padding-top: 14vw;
	}
	#hero .contact{
        width: 100%;
        margin: 0 auto;
        padding-top: 18.2vw;
        padding-bottom: 19.4vw;
        padding-left: 0%;
	}
	#points .point_item{
		display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: nowrap;
	}
	#points .point_item .img_box{
		width: 100%;
	}
	#points .point_item.point1{
		background: none;
		padding-top: 1.4vw;
	}
	#points .point_item.point2{
		padding-top: 11.3%;
		background: none;
		flex-direction: column;
	}
	#points .point_item.point3{
		padding-top: 11.3%;
		background: none;
	}
	#points .point_item .desc_box{
        width: 94%;
	}
	#points .point_item.point1 .desc_box{
		background: #f5f5f7;
		padding-right: 0%;
	}
	#points .point_item.point2 .desc_box{
		background: #eddfe0;
		padding-left: 0%;
	}
	#points .point_item.point3 .desc_box{
		background: #f5f5f7;
		padding-right: 0%;
		margin-bottom: 0px;
	}
	#points .point_item .desc_box .ttl{
		width: 100%;
		margin: 0 auto;
        padding-top: 16.4%;
	}
	#points .point_item .desc_box .txt{
        width: 76.7%;
        margin: 0 auto;
        letter-spacing: 0.05em;
        padding-bottom: 11%;
        padding-top: 2.3%;
        line-height: 2.1em;
	}
	#points .contact{
        width: 100%;
        margin-top: 11%;
        margin-bottom: 11%;
	}
	#requirements .part_title h2{
		width: 100%;
        margin-top: 15%;
        margin-bottom: 7%;
	}
	#requirements .req_table{
		width: 100%;
	}
	#requirements .req_table tbody tr td:nth-of-type(1){
        width: 23.5%;
        padding: 1.9% 0%;
	}
	#requirements .req_table tbody tr td:nth-of-type(2){
        padding: 1.9% 3%;
	}
	#voice .part_title h2{
		width: 100%;
	}
	#voice .voice_list{
		width: 100%;
        padding-bottom: 6.5%;
        padding-top: 0%;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
	}
	#voice .voice_list li{
        margin-top: 15.5%;
        width: 73.7%;
        padding: 6.3%;
	}
	#voice .voice_list li:nth-of-type(1){
		margin-top: 12.5%;
	}
	#voice .voice_list li .photo{
		width: 28.2%;
        top: -6.7%;
        left: -4%;
	}
	#voice .voice_list li .details .ttl{
        width: 73%;
        padding-top: 0%;
        padding-bottom: 6.6%;
        padding-left: 5%;
	}
	#voice .voice_list li .details .desc{
        padding-top: 6.8%;
        min-height: 1em;
	}
	#faq .part_title h2{
		width:100%;
	}
	#faq dl{
		width: 94.1%;
	}
	#faq dl dd{
        padding: 5% 2.5%;
        padding-bottom: 8%;
        padding-right: 0px;
    }
    #faq dl dd span{
        padding: 4.6%;
        padding-left: 8%;
        padding-right: 5%;
    }
    #faq dl dt{
        padding: 0% 2.5%;
        margin-top: 8%;
        padding-right: 0px;
    }
    #faq dl dt span{
        padding-left: 8%;
    }
    #faq dl dt span::after{
        width: 9.2%;
        max-width: 60px;
        padding-top: 60px;
    }
    #faq dl dd span::after{
        width: 9.2%;
        max-width: 60px;
        padding-top: 60px;
        top: 2.2em;
    }
	#faq .arrowSeparator{
		width: 100%;
        padding-top: 7%;
	}
	#entry .part_title h2{
		width: 100%;
	}
	#entry .desc{
        width: 93%;
        padding-top: 2.9%;
	}
	#entry .desc ul{
		flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        padding-top: 1.5%;
	}
	#entry .desc ul li{
        width: 100%;
        flex-wrap: nowrap;
        align-items: center;
        flex-direction: row;
        justify-content: flex-start;
        padding-top: 6%;
	}
	#entry .desc ul li .ico{
        width: 12.2%;
        padding-left: 6%;
	}
	#entry .desc ul li .text{
        padding-left: 4%;
	}
	#entry .contact{
		width: 100%;
        margin-top: 10.3%;
        margin-bottom: 6%;
	}
}





/* ==========================================================================
   footer
   ========================================================================== */
#static_banner {
    position: fixed;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 5.8%;
    max-width: 75px;
    visibility: hidden;
    opacity: 0;
    z-index: -1;
    transition: 0.5s;
}
#static_banner.is_active {
    visibility: inherit;
    opacity: 1;
    z-index: 2;
}

footer{
	background: #f5f5f7;
}
footer .logo{
	width: 12.3%;
    margin: 0 auto;
    padding-top: 2.9%;
}
footer .copy{
    text-align: center;
    padding: 2% 0%;
    padding-top: 2.7%;
    line-height: 1em!important;
    letter-spacing: 0em;
    color: #705c53;
    font-weight: bold;
}


@media screen and (max-width: 750px) {
    #static_banner {
        left: 0px;
        bottom: 0px;
        top: auto;
        right: auto;
        width: 100%;
        transform: translateY(0px);
        max-width: none;
		background: rgba(255, 255, 255, 0.8);
        padding: 4% 0px;
    }
    footer .logo{
        width: 25.7%;
        padding-top: 4.3%;
	}
    footer .copy{
        padding: 3.1% 0%;
    }
}

