/* ==========================================================================
   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: 1180px;
    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: 1060px;
    width: 89.9%;
}
.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.55%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
.site_header .logo{
    width: 13.2%;
    padding-left: 1%;
}
.site_header h1{
    font-weight: bold;
    color: #fff;
}
.site_header .contact_btn{
	width: 19.5%;
}
.site_header .contact_btn a{
	padding: 1.1em 0px;
    display: block;
}

@media screen and (max-width: 750px) {
	.site_header{
		padding-top: 5.65%;
	}
	.site_header .logo{
		padding-left: 2%;
        width: 35%;
	}
}
   

/* ==========================================================================
   page
   ========================================================================== */
body{
    overflow-x: hidden;
}
#hero{
	background: #000;
}
#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: 15.7%;
    width: 66.1%;
    margin: 0px;
}
#hero h3{
	padding-top: 3.4%;
    width: 50%;
    margin: 0px;
}
#hero .contact_btn{
    width: 36.1%;
    padding-top: 3.3%;
    padding-bottom: 6.8%;
    padding-left: 1%;
}
#pain{}
#pain .top_txt{
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.9em;
}
#pain .top_txt .span2{
    background: #feef00;
    padding: 0.2em 0em 0em 0.4em;
}
#points{}
#points .point_item{
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
#points .point_item.point1{
	background: #e9e9e9;
}
#points .point_item.point2{
	flex-direction: row-reverse;
}
#points .point_item.point3{
	background: #e9e9e9;
}
#points .point_item .img_box{
    width: 44.8%;
}
#points .point_item .desc_box{
    width: 46.7%;
}
#points .point_item.point1 .desc_box{
	padding-right: 3.3%;
}
#points .point_item.point2 .desc_box{
	padding-left: 1.8%;
}
#points .point_item.point3 .desc_box{
	padding-right: 3.3%;
}
#points .point_item .desc_box .ttl{}
#points .point_item .desc_box .txt{}
#points .img_bot{
	background: #e9e9e9;
}
#points .contact_btn{
	width: 37.7%;
    margin: 0 auto;
}
#detail{
	background: url(../images/detail_bg.png) center center no-repeat;
    background-size: cover;
}
#detail .detail_area{
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
#detail .ttl_box{
    width: 25.4%;
    padding-left: 5%;
}
#detail .desc_box{
    width: 47.5%;
    padding-right: 6.7%;
}
#detail .desc_box .row{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #848585;
    padding-top: 2.4%;
    padding-bottom: 2.2%;
}
#detail .desc_box .row:nth-of-type(1){
	border-top: 1px solid #848585;
}
#detail .desc_box .row p{
	color: #fff;
}
#detail .desc_box .row .ttl{
    width: 28.6%;
    padding-left: 3.6%;
    text-align: center;
}
#detail .desc_box .row .desc{
    width: 57.1%;
    padding-right: 10.7%;
    text-align: center;
}
#detail .desc_box .row.sched{
	padding-top: 3.5%;
    padding-bottom: 3.4%;
}
#detail .desc_box .row .desc .schedule{}
#detail .desc_box .row .desc .schedule p{
	line-height: 2.6em;
    text-align: left;
    padding-left: 14%;
}
#detail .desc_box .row .desc .schedule span{
    color: #000;
	text-align: center;
    background: #fff;
    margin-right: 1em;
    font-weight: bold;
    display: inline-block;
    width: 7em;
    letter-spacing: .1em;
    border-radius: 5em;
    padding: 0.1em 0px;
}
#detail .desc_box .row.fee{
	padding-top: 4%;
    padding-bottom: 3.9%;
}
#detail .desc_box .row.fee .desc .fee_t{
	line-height: 1em;
}
#detail .desc_box .row.fee .desc .fee_b{
    line-height: 1em;
    letter-spacing: .1em;
    padding-top: 0.6em;
}
#curriculum .part_title h2{
	width: 35.6%;
}
#curriculum .curriculum_list{
	width: 74.6%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    padding-top: 1%;
}
#curriculum .curriculum_list li{
    width: 16.5%;
    margin: 0px 1.7%;
    margin-bottom: 2.5%;
}
#curriculum .curriculum_list li .photo{}
#curriculum .curriculum_list li .txt{
    text-align: center;
    font-weight: bold;
    padding-top: 8%;
    line-height: 1.5em;
}
#curriculum .contact_btn {
    width: 37.7%;
    margin: 0 auto;
}
#flow{
	background: url(../images/flow_bg.png) center center no-repeat;
    background-size: cover;
}
#flow .part_title h2{
	width: 35.6%;
}
#contact_form .part_title h2{
	width: 35.6%;
}
#contact_form .contact_btn{
    width: 59.4%;
    margin: 0 auto;
}
#contact_form .contact_btn a{
	padding-top: 5.8%;
}

@media screen and (min-width: 1300px) {

}
@media screen and (max-width: 750px) {
    #hero .hero_bg{
		background: url(../images/hero_bg_sp.jpg) center center no-repeat;
		background-size: cover;
	}
	#hero h2{
        width: 100%;
        padding-top: 48.5%;
	}
	#hero h3{
        width: 100%;
        padding-top: 4.8%;
	}
	#hero .contact_btn{
        width: 79%;
        margin: 0 auto;
        padding-top: 8.4%;
        padding-bottom: 25.2%;
        padding-left: 0%;
	}
	#pain{
		padding-bottom: 5.4%;
	}
	#pain .top_txt{
        letter-spacing: 0.02em;
        width: 100%;
		line-height: 2.1em;
	}
	#pain .top_txt .span1{
		background: #feef00;
		padding: 0.2em 0em 0em 0.4em;
	}
	#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;
	}
	#points .point_item.point2{
		flex-direction: column;
	}
	#points .point_item.point3{
		background: none;
	}
	#points .point_item .desc_box{
		width: 91.7%;
        margin-bottom: 8.5%;
	}
	#points .point_item.point1 .desc_box{
		background: #e9e9e9;
		padding-right: 0%;
	}
	#points .point_item.point2 .desc_box{
		background: #e9e9e9;
		padding-left: 0%;
	}
	#points .point_item.point3 .desc_box{
		background: #e9e9e9;
		padding-right: 0%;
		margin-bottom: 0px;
	}
	#points .point_item .desc_box .ttl{
		width: 85.7%;
		margin: 0 auto;
		padding-top: 9.2%;
	}
	#points .point_item .desc_box .txt{
		width: 85.7%;
		margin: 0 auto;
        letter-spacing: .05em;
		padding-bottom: 5.5%;
	}
	#points .img_bot{
		width: 91.7%;
	}
	#points .contact_btn{
		width: 79%;
	}
	#detail{
        background: url(../images/detail_bg_sp.png) center center no-repeat;
        background-size: cover;
        padding-top: 14.7%;
        padding-bottom: 13.4%;
	}
	#detail .detail_area{
		display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
	}
	#detail .ttl_box{
		padding: 0px;
        width: 100%;
        padding-bottom: 5.6%;
	}
	#detail .desc_box{
		width: 94.1%;
        padding-right: 0px;
	}
	#curriculum .part_title h2{
		width: 100%;
	}
	#curriculum .curriculum_list{
		width: 94.1%;
        padding-top: 0%;
	}
	#curriculum .curriculum_list li{
		width: 21.7%;
        margin: 0px 4.7%;
        margin-bottom: 4.5%;
	}
	#curriculum .curriculum_list li .txt{
		padding-top: 9.7%;
	}
	#curriculum .contact_btn{
        width: 79%;
    }
	#flow{
		background: url(../images/flow_bg_sp.png) center center no-repeat;
		background-size: cover;
	}
	#flow .part_title h2{
		width: 100%;
	}
	#contact_form .part_title h2{
		width: 100%;
	}
	#contact_form .contact_btn{
		width: 100%;
	}
	#contact_form .contact_btn a{
        padding-top: 7.7%;
		background: none;
	}
}




/* ==========================================================================
   contact_page
   ========================================================================== */
#contact_form{
    border-bottom: 1px solid #dbdbdb;
}
#contact_form .formbox {
    max-width: 980px;
    margin: 0 auto;
}
#contact_form h2{
    color: #000;
    position: relative;
    text-align: center;
    z-index: 2;
    width: 74%;
    margin: 0 auto;
}
#contact_form h2 span{
    position: relative;
    background: #fff;
    padding-left: 2em;
    padding-right: .5em;
}
#contact_form .contact_banner{
    width: 100%;
    margin-bottom: 7%;
}
#contact_form .contact_banner ul{
    display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 4%;
}
#contact_form .contact_banner ul li{
    margin: 0px .5%;
}
#contact_form .contact_banner ul li .tel{
    background: #000;
    color: #fff;
    line-height: 1em;
    padding: 0.1em 0.1em;
    padding-right: 0.3em;
    font-style: italic;
    position: relative;
    bottom: 0.3em;
}
#contact_form .contact_banner ul li .number{
    color: #000;
    line-height: 1em;
    font-style: italic;
}
#contact_form .contact_banner ul li .hours{
    color: #000;
    text-align: center;
}

#contact_form table{
    width: 100%;
    margin: 0 auto;
    margin-top: 5%;
    margin-bottom: 4%;
}
#contact_form table tr{
    border: none;
    border-bottom: 1px solid #a3aeae;
}
#contact_form table tr:nth-of-type(1){
    border-top: 1px solid #a3aeae;
}
#contact_form table td{
    padding: 3%;
}
#contact_form table td:nth-of-type(1){
    color: #373737;
    border-right: 1px dashed #c5cccc;
    width: 31%;
    text-align: right;
}
#contact_form table td:nth-of-type(1) .hissu{
    color: #fff;
    background: #ff4b4b;
    margin-left: .5em;
    padding: 0.2em 0.5em;
}
#contact_form table td:nth-of-type(2){
    
}
#contact_form table td:nth-of-type(2) input{
    background: #ecf2f5;
    border: none;
    border-radius: 4px;
    line-height: 3.2em;
    padding: 0px 5%;
    font-size: 16px;
	width: 100%;
}
#contact_form table tr:nth-of-type(1) td:nth-of-type(2) input{
    max-width: 365px;
}
#contact_form table tr:nth-of-type(2) td:nth-of-type(2) input{
    max-width: 365px;
}
#contact_form table tr:nth-of-type(3) td:nth-of-type(2) input{
    max-width: 495px;
}
#contact_form table td:nth-of-type(2) textarea{
    background: #ecf2f5;
    border: none;
    border-radius: 4px;
    padding: 2.5% 5%;
    font-size: 16px;
    min-height: 170px;
    max-width: 590px;
	width: 100%;
}
#contact_form table td:nth-of-type(2) .err{
    color: #de0909;
    padding-left: 5px;
    padding-top: 1.5%;
    display: none;
    font-size: 14px;
    font-size: 1.1vw;
    margin-bottom: 0px;
}
#contact_form table td:nth-of-type(2) .warning{
    color: #000;
    padding-left: 5px;
    padding-top: 1.5%;
    font-size: 12px;
    font-size: 1vw;
    margin-bottom: 0px;
}
#contact_form table td:nth-of-type(2) .radio_line{
    margin-top: .5em;
    margin-bottom: .5em;
}
#contact_form table td:nth-of-type(2) .radio_line input{
    display: inline-block;
    vertical-align: middle;
    vertical-align: baseline;
}
#contact_form table td:nth-of-type(2) .radio_line label{
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0px;
	font-weight: bold;
}
#contact_form .btn p{
    display: block;
    position: relative;
    margin-bottom: 0%;
    background: #000;
    background-size: 2em;
    line-height: 1em;
    color: #fff;
    padding: 6.8% 0%;
    border: 1px solid #000;
    -moz-transition: all .5s ease;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    cursor: pointer;
    border-radius: 200px;
}
#contact_form .btn p:hover{
    background: #fff;
    background-size: 2em;
    color: #000;
}
#contact_form .btn_area{
    display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin-bottom: 2%;
}
#contact_form .btn_area .btn{
    width: 45.5%;
    margin: 0px;
}
#contact_form .btn_area #backBtn p{
    background: #fff;
    color: #000;
}
#contact_form .btn_area #backBtn p:hover{
    background: #000;
    color: #fff;
}

@media screen and (max-width: 750px) {
    #contact_form h2{
        width: 100%;
    }
    #contact_form .contact_banner ul{
        padding-top: 10%;
    }
    #contact_form .contact_banner ul li .tel{
        bottom: 0.7em;
    }
    #contact_form table td:nth-of-type(1){
        width: 40%;
    }
    #contact_form .contact_banner{
        margin-bottom: 10%;
    }
    #contact_form .btn p{
        padding: 1.5em 0%;
    }
    #contact_form .btn_area .btn{
		width: 79%;
        margin: 0%;
        margin-bottom: 5%;
    }
    #contact_form .btn_area{
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    #contact_form table td:nth-of-type(2) .err{
        margin-top: 1em;
    }
    #contact_form table{
        margin-bottom: 8%;
        margin-top: 8%;
    }
    #contact_form table td:nth-of-type(2) .radio_line{
        margin-top: .1em;
        margin-bottom: .1em;
    }
	#contact_form table td:nth-of-type(2) .radio_line label{
		margin-bottom: 5px;
	}
}


/* ==========================================================================
   contact service
   ========================================================================== */
#service_page #contact_form table td:nth-of-type(2) input{
	max-width: 590px;
}
#service_page #contact_form table tr:nth-of-type(2) td:nth-of-type(2) input{
	max-width: 590px;
}
#service_page #contact_form table tr:nth-of-type(3) td:nth-of-type(2) input{
	max-width: 590px;
}
#service_page #contact_form table tr.namefield td:nth-of-type(2) input{
	max-width: 365px;
}
#service_page #contact_form table tr.mailfield td:nth-of-type(2) input{
	max-width: 495px;
}




/* ==========================================================================
   thanks page
   ========================================================================== */
#thanks_page{}
#thanks_page #thanks{
    background: #fff;
}
#thanks_page #thanks h2{
    margin: 0 auto;
    margin-bottom: 3%;
    position: relative;
	width: 54.3%;
    padding-top: 15%;
    padding-bottom: 0px;
}

#thanks_page #thanks h3{
    color: #000;
    text-align: center;
    line-height: 2em;
	font-weight: bold;
}
#thanks_page #thanks p{
    color: #000;
    text-align: center;
    margin-top: 2.5%;
    line-height: 2.2em;
	font-weight: bold;
}
#thanks_page #thanks .btn{
	margin-top: 3%;
    padding-bottom: 10%;
}
#thanks_page #thanks .btn a{
	border: 1px solid #000;
    background: #000;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.1em;
    width: 16.6%;
    padding: 0.8em 0px;
    border-radius: 5em;
}
#thanks_page #thanks .btn a:hover{
    color: #000;
    background: #fff;
}


@media screen and (max-width: 750px) {
    #thanks_page #thanks h2{
        width: 67.3%;
        padding-top: 37%;
        padding-bottom: 7%;
        margin-bottom: 6%;
    }
    #thanks_page #thanks p{
        margin-top: 6.5%;
    }
    #thanks_page #thanks p br{
        display: none;
    }
    #thanks_page #thanks .btn{
        margin-top: 7.5%;
        padding-bottom: 16%;
    }
    #thanks_page #thanks .btn a{
		width: 50%;
        padding: 1.2em 0px;
    }
}



/* ==========================================================================
   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: #000;
}
footer .copy{
    text-align: center;
    padding: 1.5% 0%;
    line-height: 1em;
    letter-spacing: .08em;
    color: #fff;
}


@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 .copy{
        padding: 3.1% 0%;
        line-height: 2em;
    }
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 600px; /* 追加 */
    margin: 0 auto;  /* 中央寄せ */
    gap: 15px; /* リンク間の余白 */
    padding: 15px 0;
    list-style: none;
    font-size: 14px;
}

.footer-links li {
    display: inline;
}

.footer-links a {
    text-decoration: underline; /* デフォルトで下線を表示 */
    color: #333;
    transition: color 0.3s ease-in-out;
}

.footer-links a::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #333;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: scaleX(0);
    transition: transform 0.3s ease-in-out;
}

.footer-links a:hover {
    color: #007bff;
}

.footer-links a:hover::after {
    transform: scaleX(1);
}

@media (max-width: 750px) {
    .footer-links {
        flex-direction: column;
        text-align: center;
    }
}