/* --------------------------------------------------------
 Name:      これはサイト名です - style.scss
 Author:    これは作成者です
 Info:      これはサイト名です
----------------------------------------------------------- */
@charset "UTF-8";

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
    background: transparent;
    border: 0;
    font-size: 100%;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline
}

body {
    line-height: 1
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

nav ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    content: none
}

a {
    background: transparent;
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline
}

a:link,
a:visited {
    color: #222;
    text-decoration: none
}

a img {
    background: transparent;
    border: 0 #fff
}

ins {
    text-decoration: none
}

ins,
mark {
    background-color: #ff9;
    color: #000
}

mark {
    font-style: italic;
    font-weight: 700
}

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    border: 0;
    border-top: 1px solid #ccc;
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0
}

input,
select {
    vertical-align: middle
}

ul {
    list-style: none
}

button,
input,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    font-family: inherit;
    font-size: 16px
}

html {
    font-size: 62.5%
}

body {
    text-rendering: optimizelegibility;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -webkit-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    font-feature-settings: "palt";
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    background: #fff;
    color: #222;
    font-family: YuGothic, Yu Gothic Medium, Yu Gothic, Verdana, Meiryo, sans-serif;
    line-height: 1.5;
    overflow: scroll;
    overflow-y: scroll;
    scrollbar-width: none
}

body::-webkit-scrollbar {
    display: none
}

body {
    min-width: 1200px
}

::-moz-selection {
    background: #000;
    color: #fff
}

img[src$=".svg"],
svg {
    height: auto;
    width: auto
}

svg {
    overflow: hidden
}

img {
    -ms-interpolation-mode: bicubic;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    width: auto
}

.newwindowicon,
.pdficon {
    display: none
}

#nav-top-area {
    z-index: 4
}

.common-wrap {
    margin: auto;
    max-width: 1366px;
    min-width: 1200px
}

#contents-area,
#contents-body {
    width: auto !important
}

#kv-sec .common-wrap {
    height: 660px;
    margin: auto;
    max-width: 2000px;
    position: relative
}

#kv-sec .common-inner {
    height: 100%
}

#kv-sec .bg {
    background-position: 50%;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1
}

#kv-sec .text {
    line-height: 0;
    margin: auto;
    max-width: 570px;
    padding-top: 160px
}

#kv-sec .logo {
    line-height: 0;
    margin: auto;
    max-width: 418px;
    padding-top: 134px
}

#kv-sec .btn {
    background-color: transparent;
    border: none;
    display: block;
    padding: 60px 0 0
}

#kv-sec .btn a {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    align-items: center;
    background-color: hsla(140, 1%, 40%, .5);
    border: 1px solid #fff;
    -webkit-border-radius: 33px;
    -moz-border-radius: 33px;
    border-radius: 33px;
    color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    height: 66px;
    -webkit-justify-content: center;
    justify-content: center;
    letter-spacing: .1em;
    line-height: 1.3;
    margin: auto;
    position: relative;
    width: 410px
}

#kv-sec .btn a:before {
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    content: "";
    display: block;
    height: 10px;
    position: absolute;
    right: 20px;
    top: 24px;
    -webkit-transform: translateX(-50%) rotate(135deg);
    -moz-transform: translateX(-50%) rotate(135deg);
    -ms-transform: translateX(-50%) rotate(135deg);
    -o-transform: translateX(-50%) rotate(135deg);
    transform: translateX(-50%) rotate(135deg);
    width: 10px
}

#statement-sec .common-wrap {
    margin: auto;
    overflow: hidden;
    position: relative
}

#statement-sec .common-inner {
    padding: 190px 0 623px
}

#statement-sec .text {
    border: 3px solid #000;
    margin: auto;
    padding: 91px 0;
    position: relative;
    text-align: center;
    width: 600px;
    z-index: 1
}

#statement-sec .text p {
    font-size: 18px;
    letter-spacing: 0;
    line-height: 2;
    margin-bottom: 42px
}

#statement-sec .text p:last-child {
    margin-bottom: 0
}

#statement-sec .bg-wrap {
    left: -100%;
    margin: auto;
    position: absolute;
    right: -100%;
    top: 0;
    width: 1366px;
    z-index: 0
}

#statement-sec .bg {
    line-height: 0;
    position: absolute
}

#statement-sec .bg01 {
    left: 143px;
    top: 60px
}

#statement-sec .bg02 {
    right: 0;
    top: 630px
}

#statement-sec .bg03 {
    left: 40px;
    top: 835px
}

#why-sec,
#why-sec .common-wrap {
    background-color: #ededed
}

#why-sec .common-wrap {
    margin-top: -316px
}

#why-sec .common-inner {
    padding: 485px 0 0
}

#why-sec .sec-tit {
    line-height: 0;
    margin: auto auto 85px;
    width: 846px
}

#why-sec .circle-area {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -moz-box-orient: horizontal;
    -moz-box-direction: reverse;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    margin: auto;
    position: relative;
    width: 830px
}

#why-sec .circle {
    border: 1px solid #000;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    display: block;
    position: relative;
    width: 504px;
    z-index: 1
}

#why-sec .circle.on {
    z-index: 3
}

#why-sec .circle.on .bg {
    opacity: 0
}

#why-sec .circle01 {
    left: 163px
}

#why-sec .circle02 {
    margin-top: -366px;
    right: 163px
}

#why-sec .circle-inner,
#why-sec .circle-wrap {
    padding-bottom: 100%;
    position: relative
}

#why-sec .lead {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -webkit-align-items: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    -webkit-justify-content: center;
    justify-content: center;
    position: absolute;
    width: 100%
}

#why-sec .lead img {
    margin-bottom: 20px
}

#why-sec .circle .hover-img {
    border-radius: 50%;
    bottom: 0;
    height: -webkit-calc(100% - 40px);
    height: -moz-calc(100% - 40px);
    height: calc(100% - 40px);
    left: 0;
    margin: auto;
    right: 0;
    top: 0;
    width: -webkit-calc(100% - 40px);
    width: -moz-calc(100% - 40px);
    width: calc(100% - 40px);
    z-index: 2
}

#why-sec .circle .hover-img,
#why-sec .circle .hover-img img {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    position: absolute
}

#why-sec .circle .hover-img img {
    border: 1px solid #000;
    border-radius: 50%;
    line-height: 0;
    opacity: 0;
    -webkit-transition: all .2s ease;
    -o-transition: all .2s ease;
    -moz-transition: all .2s ease;
    transition: all .2s ease;
    z-index: 1
}

#why-sec .circle.on .hover-img img {
    opacity: 1
}

#why-sec .circle .bg {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: all .2s ease;
    -o-transition: all .2s ease;
    -moz-transition: all .2s ease;
    transition: all .2s ease;
    width: 100%;
    z-index: 0
}

#why-sec .text-area {
    height: 200px;
    margin: auto;
    position: relative;
    top: -90px;
    width: 830px
}

#why-sec .text-area.on {
    height: 100%
}

#why-sec .text-area .text {
    display: none
}

#why-sec .text-area .text01,
#why-sec .text-area .text02 {
    padding-bottom: 30px
}

#why-sec .text-area .text.on {
    display: block;
    margin-left: 490px;
    width: 505px
}

#why-sec .text-area h3 {
    font-size: 24px;
    line-height: 1.666;
    margin-bottom: 21px
}

#why-sec .text-area .text01 h3 {
    margin-bottom: 21px
}

#why-sec .text-area .text02 h3 {
    margin-bottom: 16px
}

#why-sec .text-area .text02 p {
    margin-bottom: 34px
}

#why-sec .text-area h5 {
    font-size: 16px;
    line-height: 1;
    margin-bottom: 24px
}

#why-sec .text-area p {
    font-size: 14px;
    line-height: 1.857
}

#why-sec .text-area a {
    border: 1px solid #000;
    -webkit-border-radius: 22px;
    -moz-border-radius: 22px;
    border-radius: 22px;
    display: inline-block;
    font-size: 14px;
    height: 44px;
    line-height: 44px;
    position: relative;
    text-align: center;
    width: 300px
}

#why-sec .text-area a:before {
    border-right: 1px solid #000;
    border-top: 1px solid #000;
    content: "";
    display: block;
    height: 6px;
    position: absolute;
    right: 20px;
    top: 16px;
    -webkit-transform: translateX(-50%) rotate(135deg);
    -moz-transform: translateX(-50%) rotate(135deg);
    -ms-transform: translateX(-50%) rotate(135deg);
    -o-transform: translateX(-50%) rotate(135deg);
    transform: translateX(-50%) rotate(135deg);
    width: 6px
}

#why-sec .icon {
    background: #fff;
    border: 2px solid #bfbfbf;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    height: 24px;
    position: relative;
    width: 24px
}

#why-sec .icon:after,
#why-sec .icon:before {
    border-top: 2px solid #000;
    content: "";
    display: inline-block;
    height: 14px;
    left: 50%;
    position: absolute;
    top: 11px;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 14px
}

#why-sec .icon:after {
    left: -2px;
    top: 4px;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg)
}

#why-sec .overlap {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    height: 646px;
    -webkit-justify-content: center;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all .2s ease;
    -o-transition: all .2s ease;
    -moz-transition: all .2s ease;
    transition: all .2s ease;
    width: 100%;
    z-index: 0
}

#why-sec .circle-area.on .overlap {
    opacity: 0
}

#cp-sec,
#cp-sec .common-wrap {
    background-color: #ededed;
    position: relative
}

#cp-sec .common-wrap {
    padding-bottom: 150px;
    z-index: 2
}

#cp-sec .sec-tit {
    line-height: 0;
    margin-bottom: 65px;
    margin-left: 133px
}

#cp-sec .sec-tit img {
    width: 464px
}

#cp-sec .img-area {
    position: relative
}

#cp-sec .img-area .img-wrap {
    line-height: 0;
    position: relative;
    width: 920px;
    z-index: 1
}

#cp-sec .img-area .bg {
    background-color: #a2a2a2;
    height: 546px;
    position: absolute;
    top: 125px;
    width: 962px
}

#cp-sec .cp-area {
    margin: -225px auto auto;
    min-width: 1200px;
    position: relative;
    z-index: 1
}

#cp-sec .cp-area .cp {
    background-color: #fff;
    margin-left: auto;
    margin-right: 133px;
    width: 700px
}

#cp-sec .cp-inner {
    padding: 60px 50px
}

#cp-sec .cp-summary {
    margin-bottom: 40px
}

#cp-sec .cp-summary .cp-tit {
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 14px;
    text-align: center
}

#cp-sec .cp-summary .cp-tit p {
    font-size: 20px;
    line-height: 1;
    margin-bottom: 15px
}

#cp-sec .cp-summary .cp-tit h4 {
    font-size: 24px;
    line-height: 1
}

#cp-sec .cp-summary .cp-tit h4 span {
    font-size: 30px;
    margin: 0 4px
}

#cp-sec .cp-summary .line {
    background-color: #000;
    display: block;
    height: 3px;
    margin: auto auto 30px;
    width: 438px
}

#cp-sec .cp-summary .cp-term {
    margin-bottom: 27px
}

#cp-sec .cp-summary .cp-term,
#cp-sec .cp-summary .cp-term p {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center
}

#cp-sec .cp-summary .cp-term p {
    border: 1px solid #222;
    font-size: 11px;
    font-weight: 700;
    height: 36px;
    line-height: 1.2;
    margin-right: 15px;
    width: 36px
}

#cp-sec .cp-summary .cp-term img {
    width: 368px
}

#cp-sec .cp-summary .text {
    margin-bottom: 54px;
    padding: 0 70px;
    text-align: center
}

#cp-sec .cp-summary .text p {
    font-size: 14px;
    line-height: 1.857
}

#cp-sec .cp-summary .breakdown {
    text-align: center
}

#cp-sec .cp-summary .breakdown img {
    margin: auto auto 24px;
    width: 370px
}

#cp-sec .cp-summary .breakdown p {
    font-size: 10px
}

#cp-sec .cp-detail .accordion-one .accordion-header {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-align-items: center;
    align-items: center;
    border-bottom: 1px solid #000;
    cursor: pointer;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    font-weight: 700;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    line-height: 1;
    padding: 20px 10px;
    position: relative
}

#cp-sec .cp-detail .accordion-one .accordion-header.open .i_box .one_i:before {
    content: none
}

#cp-sec .cp-detail .accordion-one .accordion-header.open .i_box .one_i:after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

#cp-sec .cp-detail .accordion-one .accordion-inner {
    display: none
}

#cp-sec .cp-detail .accordion-header .icon {
    height: 15px;
    position: relative;
    width: 15px
}

#cp-sec .cp-detail .accordion-header .icon:after,
#cp-sec .cp-detail .accordion-header .icon:before {
    border-top: 2px solid #000;
    content: "";
    display: inline-block;
    height: 15px;
    left: 50%;
    position: absolute;
    top: 7px;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 15px
}

#cp-sec .cp-detail .accordion-header .icon:after {
    left: -7px;
    top: 0;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg)
}

#cp-sec .cp-detail .accordion-header.open .icon:after {
    opacity: 0
}

#cp-sec .cp-detail table {
    border: 1px solid #e2e2e2;
    display: block;
    margin: 20px 0
}

#cp-sec .cp-detail table th {
    position: relative;
    text-align: center;
    width: 220px
}

#cp-sec .cp-detail table td {
    -webkit-box-align: baseline;
    -moz-box-align: baseline;
    -ms-flex-align: baseline;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-align-items: baseline;
    align-items: baseline;
    border-bottom: 1px solid #e2e2e2;
    border-left: 1px solid #e2e2e2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    height: 50px;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 0 20px;
    width: 340px
}

#cp-sec .cp-detail table td p {
    font-size: 14px;
    font-weight: 700;
    line-height: 50px
}

#cp-sec .cp-detail table td .money {
    -webkit-box-align: baseline;
    -moz-box-align: baseline;
    -ms-flex-align: baseline;
    -webkit-align-items: baseline;
    align-items: baseline;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex
}

#cp-sec .cp-detail table td .money span {
    font-size: 14px
}

#cp-sec .cp-detail table td .money h4 {
    font-size: 20px;
    font-weight: 700
}

#cp-sec .cp-detail .head {
    background-color: #e2e2e2;
    height: 50px
}

#cp-sec .cp-detail .head td,
#cp-sec .cp-detail .head th {
    font-size: 14px;
    font-weight: 700;
    line-height: 50px;
    text-align: center
}

#cp-sec .cp-detail .head td span,
#cp-sec .cp-detail .head th span {
    font-size: 12px;
    font-weight: 100
}

#cp-sec .cp-detail .head td {
    border-left: 1px solid #fff;
    display: block
}

#cp-sec .cp-detail table th .th-wrap {
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 110px
}

#cp-sec .cp-detail table th p {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    -webkit-justify-content: center;
    justify-content: center;
    line-height: 1;
    margin-bottom: 20px;
    position: relative
}

#cp-sec .cp-detail table th p span {
    display: block;
    margin: 0 10px;
    width: 18px
}

#cp-sec .cp-detail table th p span:first-child {
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1)
}

#cp-sec .cp-detail table th h2 {
    font-size: 140px;
    line-height: 110px;
    position: relative
}

#cp-sec .cp-detail table th h2:after {
    bottom: 0;
    content: "円";
    font-size: 40px;
    line-height: 1;
    position: absolute
}

#cp-sec .cp-detail .acc00 ul {
    color: #000;
    padding: 20px 10px
}

#cp-sec .cp-detail .acc00 ul li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    line-height: 1.857;
    padding-left: 25px;
    position: relative
}

#cp-sec .cp-detail .acc00 ul li:before {
    content: "・";
    left: 4px;
    position: absolute
}

#cp-sec .cp-detail .acc00 ul li:first-child {
    margin-bottom: 8px;
    padding: 0
}

#cp-sec .cp-detail .acc00 ul li:first-child:before {
    content: unset
}

#cp-sec .cp-detail .acc00 ul li:nth-child(2):before {
    content: "1"
}

#cp-sec .cp-detail .acc00 ul li:nth-child(2):before,
#cp-sec .cp-detail .acc00 ul li:nth-child(3):before {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    align-items: center;
    border: 1px solid #000;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 10px;
    height: 13px;
    -webkit-justify-content: center;
    justify-content: center;
    top: 5px;
    width: 13px
}

#cp-sec .cp-detail .acc00 ul li:nth-child(3):before {
    content: "2"
}

#cp-sec .cp-detail .acc00 ul li:nth-child(4):before {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    align-items: center;
    border: 1px solid #000;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    content: "3";
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 10px;
    height: 13px;
    -webkit-justify-content: center;
    justify-content: center;
    top: 5px;
    width: 13px
}

#cp-sec .cp-detail .acc00 ul li:nth-child(5) {
    display: block;
    font-size: 12px;
    margin-bottom: 10px
}

#cp-sec .cp-detail .acc00 ul li:nth-child(5) span {
    display: block;
    line-height: 1.5;
    padding-left: 14px;
    position: relative
}

#cp-sec .cp-detail .acc00 ul li:nth-child(5) span:before {
    content: "・";
    left: 4px;
    position: absolute
}

#cp-sec .cp-detail .acc00 ul li:nth-child(5):before {
    content: ""
}

#cp-sec .cp-detail .acc00 ul li:nth-child(6) {
    padding: 0
}

#cp-sec .cp-detail .acc00 ul li:nth-child(6):before {
    content: ""
}

#cp-sec .cp-detail .acc00 ul li a {
    text-decoration: underline
}

#cp-sec .cp-detail .acc01 .cap {
    font-size: 11px;
    line-height: 1.8;
    margin-bottom: 20px
}

#cp-sec .cp-detail .acc01 h5 {
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 30px;
    text-align: center
}

#cp-sec .cp-detail .acc01 .btn {
    border: none;
    display: block;
    line-height: 0;
    padding: 0;
    text-align: center
}

#cp-sec .cp-detail .acc01 a {
    border: 1px solid #000;
    -webkit-border-radius: 22px;
    -moz-border-radius: 22px;
    border-radius: 22px;
    display: inline-block;
    font-size: 14px;
    height: 44px;
    line-height: 44px;
    position: relative;
    text-align: center;
    width: 260px
}

#cp-sec .cp-detail .acc01 a img {
    bottom: 0;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0;
    width: 11px
}

#cp-sec .cp-detail .acc02 .accordion-inner {
    padding: 40px 10px
}

#cp-sec .cp-detail .acc02 h4 {
    font-size: 16px;
    line-height: 1.875;
    margin-bottom: 23px;
    text-align: center
}

#cp-sec .cp-detail .acc02 .box {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    border: 1px solid #000;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    height: 100px;
    margin-bottom: 30px
}

#cp-sec .cp-detail .acc02 .box h5 {
    font-size: 14px;
    text-align: center;
    width: 240px
}

#cp-sec .cp-detail .acc02 .box p {
    font-size: 14px;
    line-height: 1.85;
    width: -webkit-calc(100% - 240px);
    width: -moz-calc(100% - 240px);
    width: calc(100% - 240px)
}

#cp-sec .cp-detail .acc02 .text {
    font-size: 14px;
    line-height: 1.85
}

#cp-sec .cp-detail .acc03 ul {
    padding: 20px 10px 0
}

#cp-sec .cp-detail .acc03 ul li {
    font-size: 14px;
    line-height: 1.857;
    padding-left: 15px;
    position: relative
}

#cp-sec .cp-detail .acc03 ul li:before {
    content: "・";
    left: 4px;
    position: absolute
}

#cp-sec .cp-detail .acc03 ul li:first-child {
    padding: 0
}

#cp-sec .cp-detail .acc03 ul li:first-child:before {
    content: unset
}

#cp-sec .cp-detail .acc03 ul li a {
    padding-right: 30px;
    position: relative;
    text-decoration: underline
}

#cp-sec .cp-detail .acc03 ul li a:after {
    bottom: 0;
    content: "";
    height: 26px;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 25px
}

#cp-sec .cp-detail .acc03 ul li .img-wrap {
    display: inline-block;
    margin: 0 5px;
    position: relative;
    width: 25px
}

#cp-sec .cp-detail .acc03 ul li .img-wrap img {
    height: 26px;
    position: absolute;
    top: -5px;
    width: 25px
}

#about-sec {
    background-color: #ededed;
    position: relative
}

#about-sec .img-area {
    line-height: 0
}

#about-sec .about {
    margin-top: -80px
}

#about-sec .about-inner {
    margin: auto;
    position: relative;
    width: 1100px;
    z-index: 1
}

#about-sec .about-read {
    background-color: #fff;
    margin-bottom: 100px
}

#about-sec .about-read .inner {
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-box-align: start;
    -moz-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 80px
}

#about-sec .about-read .text-area {
    width: 370px
}

#about-sec .about-read .text-area .img02 {
    margin-bottom: 20px;
    width: 305px
}

#about-sec .about-read .text-area .img03 {
    margin-bottom: 32px;
    width: 186px
}

#about-sec .about-read .text-area p {
    color: #000;
    font-size: 18px;
    line-height: 2;
    margin-bottom: 15px
}

#about-sec .about-read .text-area p:last-child {
    margin: auto
}

#about-sec .about-read .icon-area {
    text-align: center;
    width: 460px
}

#about-sec .about-read .icon-area .img04 {
    margin-bottom: 30px;
    width: 320px
}

#about-sec .about-read .icon-area .flex {
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between
}

#about-sec .about-read .icon-area .flex img {
    width: 100px
}

#about-sec .about-detail {
    padding-bottom: 50px;
    position: relative
}

#about-sec .about-detail .tit {
    position: absolute;
    top: 55px;
    width: 380px
}

#about-sec .about-detail .tit h3 {
    border: 3px solid #000;
    color: #000;
    font-size: 24px;
    line-height: 1.666;
    padding: 42px 50px
}

#about-sec .about-detail .text-area {
    background-color: #fff;
    margin-left: auto;
    width: 760px
}

#about-sec .about-detail .text-area .inner {
    padding: 90px 59px 90px 90px
}

#about-sec .about-detail.about01 .text-area p {
    color: #000;
    font-size: 14px;
    line-height: 1.857
}

#about-sec .about-detail.about01 .text-area p span {
    font-size: 11px
}

#about-sec .about-detail.about02 .text-area .inner {
    padding: 60px 50px
}

#about-sec .about-detail.about02 .text-area .flex {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 40px;
    margin-left: 70px
}

#about-sec .about-detail.about02 .text-area .flex img {
    width: 280px
}

#about-sec .about-detail.about02 .text-area .flex .text {
    color: #000;
    margin-left: 60px;
    width: 250px
}

#about-sec .about-detail.about02 .text-area .flex .text h3 {
    font-size: 22px;
    line-height: 1.2;
    margin-bottom: 26px
}

#about-sec .about-detail.about02 .text-area .flex .text h3 span {
    font-size: 14px
}

#about-sec .about-detail.about02 .text-area .flex .text p {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    line-height: 1;
    margin-bottom: 17px
}

#about-sec .about-detail.about02 .text-area .flex .text p:before {
    background-color: #e2e2e2;
    content: "";
    display: inline-block;
    height: 20px;
    margin-right: 20px;
    width: 20px
}

#about-sec .about-detail.about02 .text-area .flex .text p:nth-child(3):before {
    background-color: #595959
}

#about-sec .about-detail.about02 .text-area .cap {
    font-size: 11px;
    line-height: 1.818
}

#about-sec .about-detail.about02 .text-area .cap a {
    text-decoration: underline
}

#about-sec .about-detail.about03 .text-area p {
    color: #000;
    font-size: 14px;
    line-height: 1.857;
    margin-bottom: 34px
}

#about-sec .about-detail.about01 .btn {
    border: none;
    display: block;
    line-height: 0;
    padding: 0;
    text-align: center
}

#about-sec .about-detail.about03 .btn {
    border: none;
    display: block;
    line-height: 0;
    padding: 0;
    text-align: center
}

#about-sec .about-detail.about01 a {
    border: 1px solid #000;
    -webkit-border-radius: 22px;
    -moz-border-radius: 22px;
    border-radius: 22px;
    display: inline-block;
    font-size: 14px;
    height: 44px;
    line-height: 44px;
    position: relative;
    text-align: center;
    width: 260px;
    cursor: pointer;
    color: #000;
    text-decoration: none;
}

#about-sec .about-detail.about03 a {
    border: 1px solid #000;
    -webkit-border-radius: 22px;
    -moz-border-radius: 22px;
    border-radius: 22px;
    display: inline-block;
    font-size: 14px;
    height: 44px;
    line-height: 44px;
    position: relative;
    text-align: center;
    width: 260px
}

#about-sec .about-detail.about01 a img {
    bottom: 0;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0;
    width: 11px
}

#about-sec .about-detail.about03 a img {
    bottom: 0;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0;
    width: 11px
}

#about-sec .about-detail.about03 .text-area .inner {
    padding: 80px 60px 60px 90px
}

#about-sec .about-detail.about03 {
    padding-bottom: 100px
}

#about-sec .about-detail.about04 .text-area .inner {
    padding: 90px 67px 90px 90px
}

#about-sec .about-detail.about04 table {
    border: 1px solid #e2e2e2;
    display: block;
    margin: 20px 0 10px
}

#about-sec .about-detail.about04 table th {
    position: relative;
    text-align: center;
    width: 220px
}

#about-sec .about-detail.about04 table td {
    -webkit-box-align: baseline;
    -moz-box-align: baseline;
    -ms-flex-align: baseline;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-align-items: baseline;
    align-items: baseline;
    border-bottom: 1px solid #e2e2e2;
    border-left: 1px solid #e2e2e2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    height: 50px;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 0 20px;
    width: 340px
}

#about-sec .about-detail.about04 table td p {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 50px;
    margin: -2px 0 0
}

#about-sec .about-detail.about04 table td .money {
    -webkit-box-align: baseline;
    -moz-box-align: baseline;
    -ms-flex-align: baseline;
    -webkit-align-items: baseline;
    align-items: baseline;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex
}

#about-sec .about-detail.about04 table td .money span {
    font-size: 14px
}

#about-sec .about-detail.about04 table td .money h4 {
    font-size: 20px;
    font-weight: 700
}

#about-sec .about-detail.about04 table .head {
    background-color: #e2e2e2;
    height: 50px
}

#about-sec .about-detail.about04 table .head td,
#about-sec .about-detail.about04 table .head th {
    font-size: 14px;
    font-weight: 700;
    line-height: 50px;
    text-align: center
}

#about-sec .about-detail.about04 table .head td span,
#about-sec .about-detail.about04 table .head th span {
    font-size: 12px;
    font-weight: 100
}

#about-sec .about-detail.about04 table .head td {
    border-left: 1px solid #fff;
    display: block
}

#about-sec .about-detail.about04 table th .th-wrap {
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 110px
}

#about-sec .about-detail.about04 table th p {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    -webkit-justify-content: center;
    justify-content: center;
    line-height: 1;
    margin-bottom: 15px;
    position: relative
}

#about-sec .about-detail.about04 table th p span {
    display: block;
    margin: 0 18px;
    width: 18px
}

#about-sec .about-detail.about04 table th p span:first-child {
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1)
}

#about-sec .about-detail.about04 table th h2 {
    font-size: 140px;
    left: -4px;
    line-height: 110px;
    position: relative
}

#about-sec .about-detail.about04 table th h2:after {
    bottom: 0;
    content: "円";
    font-size: 40px;
    line-height: 1;
    position: absolute;
    right: 33px
}

#about-sec .about-detail.about04 .cap {
    font-size: 11px;
    line-height: 1.8;
    margin-bottom: 28px
}

#about-sec .about-detail.about04 .link {
  padding: 20px;
  font-size: 18px;
  line-height: 1.4;
  border: 2px solid red;
  text-align: center;
  margin-bottom: 28px;
}

#about-sec .about-detail.about04 .link a:hover {
  opacity: 0.6
}

#about-sec .about-detail.about04 .link a {
  color: red;
  font-weight: 700;
  display: inline-block;
  -webkit-transition: opacity .2s ease-out;
  transition: opacity .2s ease-out;
}

#about-sec .about-detail.about04 h5 {
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 30px;
    text-align: center
}

#about-sec .about-detail.about04 .btn {
    border: none;
    display: block;
    line-height: 0;
    padding: 0;
    text-align: center
}

#about-sec .about-detail.about04 .btn a {
    border: 1px solid #000;
    -webkit-border-radius: 22px;
    -moz-border-radius: 22px;
    border-radius: 22px;
    display: inline-block;
    font-size: 14px;
    height: 44px;
    line-height: 44px;
    position: relative;
    text-align: center;
    width: 260px
}

#about-sec .about-detail.about04 .btn a img {
    bottom: 0;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0;
    width: 11px
}

#qa-sec .common-wrap {
    padding: 100px 0 80px
}

#qa-sec .sec-tit {
    line-height: 0;
    margin: 0 0 0 10px
}

#qa-sec .sec-tit img {
    width: 237px
}

#qa-sec .qa-inner {
    margin: auto;
    width: 1100px
}

#qa-sec .qa-detail {
    color: #000;
    margin: -58px 40px 0 auto;
    width: 710px
}

#qa-sec .qa-detail .accordion-one .accordion-header {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-align-items: center;
    align-items: center;
    border-bottom: 1px solid #000;
    cursor: pointer;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    font-weight: 700;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    letter-spacing: .1em;
    line-height: 1;
    padding: 20px 10px 20px 65px;
    position: relative
}

#qa-sec .qa-detail .accordion-one .accordion-header.open .i_box .one_i:before {
    content: none
}

#qa-sec .qa-detail .accordion-one .accordion-header.open .i_box .one_i:after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

#qa-sec .qa-detail .accordion-one .accordion-inner {
    display: none
}

#qa-sec .qa-detail .accordion-header .icon {
    height: 15px;
    position: relative;
    width: 15px
}

#qa-sec .qa-detail .accordion-header .icon:after,
#qa-sec .qa-detail .accordion-header .icon:before {
    border-top: 2px solid #000;
    content: "";
    display: inline-block;
    height: 15px;
    left: 50%;
    position: absolute;
    top: 7px;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 15px
}

#qa-sec .qa-detail .accordion-header .icon:after {
    left: -7px;
    top: 0;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg)
}

#qa-sec .qa-detail .accordion-header.open .icon:after {
    opacity: 0
}

#qa-sec .qa-detail .accordion-header {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-align-items: center;
    align-items: center;
    border-bottom: 1px solid #000;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    font-weight: 700;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    line-height: 1;
    padding: 20px 10px;
    position: relative
}

#qa-sec .qa-detail .accordion-header img {
    height: 15px;
    left: 10px;
    position: absolute
}

#qa-sec .qa-detail .accordion-one .accordion-inner {
    padding: 20px 65px
}

#qa-sec .qa-detail .accordion-one .accordion-inner p {
    font-size: 14px;
    line-height: 2.142
}

#qa-sec .qa-detail .accordion-one .accordion-inner p a {
    text-decoration: underline
}

#qa-sec .qa-detail .accordion-one .accordion-inner span {
    font-size: 11px;
    line-height: 1.818
}

#banner-sec a {
    display: block;
    margin: auto;
    max-width: 1000px;
    min-width: 1000px
}

#banner-sec .common-wrap {
    padding-bottom: 100px
}

#attention-sec .attention-inner {
    margin: auto;
    width: 700px
}

#attention-sec .attention_title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.41667;
    text-align: center
}

#attention-sec .attention_text {
    margin: 27px 0 0
}

#attention-sec .attention_listItem,
#attention-sec .attention_text {
    font-size: 14px;
    letter-spacing: .03em;
    line-height: 1.85714
}

#contents-body>:last-child {
    margin-bottom: 225px
}

/* --------------------------------------------------------------------------------
  modal 
-------------------------------------------------------------------------------- */
.energy-page-u-pc-d-n{
    display: none !important;
}
.energy-page-u-pc-mb-10{
    margin-bottom: 10px !important;
}
.energy-page-u-pc-mb-20{
    margin-bottom: 20px !important;
}
.energy-page-u-pc-mb-30{
    margin-bottom: 30px !important;
}
.energy-page-title-underline-lv3{
    font-size: 24px;
    font-weight: 700;
    border-bottom: solid 2px #4d9e30;
    text-align: center;
}
.energy-page-modal{
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 111;
  left: 0;
}
.energy-page-modal__bg{
  background: rgba(0,0,0,0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
}
.energy-page-modal__content{
  background: #fff;
  left: 50%;
  padding: 50px 30px 30px;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 910px;
  height: 600px;
  overflow-y: scroll;
}
.energy-page-modal__content .energy-page-title-underline-lv3 {
  font-size: 28px;
}
.energy-page-modal_js-close.energy-page-inner-close {
  position: absolute;
  top: 15px;
  right: 20px;
  z-index: 102;
  cursor: pointer;
}
#composition {
  margin-top: 40px;
}
.energy-page-tabList-tab {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  list-style-type: none;
  border-bottom: 4px solid #333;
}
.energy-page-tabList-tab li {
  width: 375px;
  background-color: #dcdddd;
  border-radius: 10px 10px 0 0;
  margin-bottom: -2px;
}
.energy-page-tabList-tab li:nth-child(1) {
  margin-right: 5px;
}
.energy-page-tabList-tab li.active {
  background-color: #fff;
  border-top: 4px solid #333;
  border-left: 4px solid #333;
  border-right: 4px solid #333;
  position: relative;
}
.energy-page-tabList-tab li.active::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 7px;
  background-color: #fff;
}
.energy-page-tabList-tab li a {
  text-decoration: none;
  color: #333 !important;
  display: block;
  cursor: pointer;
  height: 58px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.energy-page-tabList-tab li.active a {
  color: #000;
}
.energy-page-tabList-tab li a span {
  font-size: 20px;
  font-weight: 700;
}
.energy-page-tabList-tab li:nth-child(2) {
  margin-left: 5px;
}
.energy-page-tab-contents-wrap {
  display: none;
}
.energy-page-tab-contents-wrap.active {
  display: block;
}
.energy-page-target-info {
  border: solid 2px #6fb461;
  font-weight: 700;
  font-size: 30px;
  padding: 7px 0 5px;
  margin: 40px auto 0;
}
.energy-page-target-info p {
  text-align: center;
  margin: 0;
}
.energy-page-tab-contents-inner-img {
  margin: 40px auto 0;
  text-align: center;
}
.energy-page-tab-contents-inner-img img {
  margin: 0 auto;
}
.energy-page-modal-note-list {
  list-style-type: disc;
  padding-left: 20px;
  font-size: 12px;
  margin-top: 20px;
}
.energy-page-modal-note-list-02 {
  list-style-type: none;
  font-size: 12px;
}
.energy-page-modal-note-list-02 li {
  display: table;
}
.energy-page-modal-note-list-02 li span {
  display: table-cell;
  padding-right: 20px;
}