/* トピック見出し */
.article .topic {
    padding: 5%;
    background: #ffe8e7;
}
.article .topic_box {
    background: #ff817a;
}
.article .topic_box .topic_headline {
    color: #fff;
    font-size: 22px;
    text-align: center;
    line-height: 1.86;
    letter-spacing: 1px;
    padding: 10px 0;
}
.topic .inner {
    background-color: #fff;
    margin-bottom: 30px;
    padding: 6% 5% 6%;
}
.article .topic .topic_1 {
    color: #ff8179;
    font-size: 21px;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin-bottom: 1rem;
}
.article .topic_1.s {
    font-size: 18px;
    letter-spacing: 0em;
    margin-bottom: 3rem;
    font-weight: normal;
    color: #000;
}
.article .topic .topic_2 {
    font-weight: bold;
    color: #383838;
    font-size: 24px;
    text-align: center;
    letter-spacing: 1.5px;
    margin: 2rem 0 5px;
}
.article .topic .topic_2 span {
    color: #ff8179;
}
/* トピック見出し　ここまで */


/* オススメポイント */
.point {
    font-family: 'Times New Roman', sans-serif;
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    color: #ffffff;
    background: #ff8179;
    letter-spacing: 0.5em;
    padding: 5px 0;
}
.box-point {
    position: relative;
    padding: 0.5em 1.9em 2em;
    height: auto;
    background: white;
    margin-bottom: 30px;
}
.box-point .box_p {
    display: table;
    width: 100%;
    border-bottom: solid 1px #000000;
}
.box-pointol li .num {
    font-family: 'Times New Roman', sans-serif;
    display: table-cell;
    width: 40px;
    vertical-align: middle;
    font-size: 46px;
    color: #ff8179;
    font-weight: bold;
    padding: 5px 20px 0;
}
.box-pointol li .num + .ttl {
    padding: 1.5rem 0 1.5rem 10px;
}
.box-pointol li .ttl {
    display: table-cell;
    vertical-align: middle;
    font-size: 21px;
    font-weight: bold;
    color: #ff8179;
}
.box-pointol li .ttl .sub {
    font-size: 17px;
    color: #000000;
    font-weight: 400;
}
/* オススメポイントここまで */

.article .headline {
    padding: 15px;
    font-weight: bold;
    color: #234285;
    font-size: 23px;
    text-align: center;
    line-height: 1.9;
    letter-spacing: 1px;
    margin-bottom: 12px;
    background: url(https://img21.shop-pro.jp/PA01325/643/etc/h2_bg01.png);
}
.article .headline1 {
    font-weight: 500;
    color: #000000;
    font-size: 21px;
    letter-spacing: 2px;
    line-height: 1.86;
    margin: 20px 0;
    text-align: center;
}
.article .headline2 {
    color: #cf2223;
    font-size: 34px;
    text-align: center;
    letter-spacing: 1px;
    padding: 2rem 0 2rem;
}
.article .headline2 span {
    font-size: 33px;
    color: #ffffff;
    background: #cf2223;
    padding: 10px 23px;
}
.article .headline2_sub {
    font-size: 26px;
    color: black;
    text-align: center;
    margin: 0rem 0 1rem;
}
.article .t_s {
    font-size: 12px;
    vertical-align: super;
}
p.addition {
    margin-bottom: 1rem;
    margin-right: 3rem;
    text-align: right;
}
.article .headline4 {
    font-size: 20px;
    margin: 20px 0 15px 0;
    color: #ffffff;
    text-align: center;
    padding: 8px 0;
    background: #ff8179;
}

.article .box {
    border: 3px solid;
    border-color: #234285;
    margin: 15px;
}
.article ._contents {
    padding: 15px 13px 5px;
    overflow: hidden;
}
.full {
    text-align: center;
}
.center {
    text-align: center;
}
sup {
    top: -0.5em;
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
.article .text {
    color: #000;
    font-size: 15px;
    font-weight: lighter;
    line-height: 1.9;
    margin-bottom: 10px;
    text-align: center;
}


.article .text4 {
    color: #000;
    font-size: 16px;
    font-weight: lighter;
    line-height: 1.9;
    overflow: hidden;
    letter-spacing: normal;
}
img.photo_ig {
    margin-right: 10px;
    width: 240px;
}
.use_title {
    font-size: 18px;
    color: #d60806;
    padding: 0.3em 0.5em 0.3em 1em;
    position: relative;
    background: linear-gradient(transparent 50%, #ffeceb 50%);
    font-weight: bold;
}
.center_container {
    display: flex;
    justify-content: center;
    align-items: center;
}
img.photo_use {
    width: 345px;
    margin: 0 auto;
}
.text_r {
    float: right;
    font-size: 15px;
}
.c_red {
    color: #d60806;
    font-size: 100%;
}
p.use_point {
    background: #ffebea;
    border-radius: 10px;
    padding: 1rem;
    margin-bottom: 2rem;
    font-size: 16px;
}

.c-inner {
    position: relative;
    margin: 3rem 0;
}
img.arrow2 {
    width: 6%;
    transform: rotate(270deg);
    position: absolute;
    margin: auto;
    left: 47%;
    bottom: 40%;
}
.c-inner .circle {
    position: relative;
    display: inline-block;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: #ea0d71;
    margin-right: 7rem;
}
.c-inner .circle2 {
    position: relative;
    display: inline-block;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: #ff8179;
}
.circle span, .circle2 span {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 200px;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    color: #ffffff;
}

/* 問合せボタン */
.align-center {
    text-align: center;
}
.mbr-section-btn {
    margin-left: -0.6rem;
    margin-right: -0.6rem;
    font-size: 0;
    margin-top: 3rem;
}
.btn {
    font-weight: 600;
    border-width: 1px;
    font-style: normal;
    margin: 0.6rem 0.6rem;
    white-space: normal;
    transition: all 0.2s ease-in-out;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    word-break: break-word;
    padding: 0.6rem 1.2rem;
    border-radius: 10px;
}
.btn-black, .btn-black:active {
    background-color: #ff8179;
    color: #ffffff;
    border-bottom: 5px solid #c5625c;
}
a.btn.btn-black:hover {
    background: #f9a29d;
    color: #fff;
}
.btnAnime01 {
    -webkit-animation-name:btnAnime02;
    -webkit-animation-duration:1s;
    -webkit-animation-iteration-count:infinite;
    -webkit-animation-timing-function:ease;
    
    -moz-animation-name:btnAnime02;
    -moz-animation-duration:1s;
    -moz-animation-iteration-count:infinite;
    -moz-animation-timing-function:ease;
}
@-webkit-keyframes btnAnime02 {
    0% {-webkit-transform:translate(0, 0);}
    50% {-webkit-transform:translate(0, -8px);}
    100% {-webkit-transform:translate(0, 0);}
}
@-moz-keyframes btnAnime02 {
    0% {-moz-transform:translate(0, 0);}
    50% {-moz-transform:translate(0, -8px);}
    100% {-moz-transform:translate(0, 0);}
}
.btn-black:hover,
a.btn-black:hover {
    background: #f56500;
}
.display-5 {
    font-size: 2rem;
    line-height: 1.5;
}
/* 問合せボタンここまで */

/* qa質問ここから */
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
/* qa画像 */
.img_auto{
    margin: 0 auto;
}
.q_a {
	width: 10%;
}
.cp_qa {
  background: #f9f9f9;
  padding: 1em 1.5em 1em;
  margin: 1em 0 2em;
}
.cp_qa .cp_actab {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0 0 1em 0;
  color: #1b2538;
  border-bottom: 1px dotted #cccccc;
}
.cp_qa .cp_actab input {
  position: absolute;
  opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
    font-size: 1.18em;
  font-weight: bold;
  line-height: 1.6em;
  position: relative;
  display: block;
  margin: 0 0 0 0;
  padding: 1em 2.8em 1em 2.5em;
  cursor: pointer;
  text-indent: 1em;
  border-radius: 0.5em;
   color: #666464;

}
.cp_qa .cp_actab label::before {
  font-family: 'Oswald', sans-serif;
  font-size: 1.5em;
  margin-left: -2em;
  padding-right: 0.5em;
  content: 'Q';
}
.cp_qa .cp_actab label:hover {
  transition: all 0.3s;
  color: #1a2c43;
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
  font-size: 1.7em;
  font-weight: bold;
  line-height: 2em;
  position: absolute;
  top: 0;
  right: 0;
  content: '＋';
  display: inline-block;
  width: 2em;
  height: 2em;
  -webkit-transition: transform 0.4s;
          transition: transform 0.4s;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
    font-size: 1.18em;
  position: relative;
  overflow: hidden;
  max-height: 0;
  padding: 0 0 0 2.5em;
  -webkit-transition: max-height 0.2s;
          transition: max-height 0.2s;
  border-radius: 0 0 0.5em 0.5em;
}
.cp_qa .cp_actab .cp_actab-content::before {
  font-family: 'Oswald', sans-serif;
  font-size: 1.5em;
  position: absolute;
  margin: 0.4em 0 0 -1em;
  padding: 0;
  content: 'A';
   color: #ff8179;
}
.cp_qa .cp_actab .cp_actab-content p {
  margin: 1em 1em 1em 0;
   color: #666464;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
  max-height: 40em;

}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label {
  color: #1a2c43;
  border-radius: 0.5em 0.5em 0 0;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}
/* 質問ここまで */

/* パラグラフレイアウト */
.lx-contents {
  position: relative;
  margin-top: 30px;
  font-size: 16px;
  font-weight: 500;}
.lx-contents + .lx-contents {
  margin-top: 60px;}

/* 導入 */
.lx-contents .intro h2 {
  margin-bottom: 30px;
  text-align: center;
  font-size: 24px;}
.lx-contents .intro h2 span {
  display: inline-block;
  margin: 0 5px;
  padding: 0 10px;
  background-color: #1a2c43;
  color: #fff;}
.lx-contents .intro h2 em {
  display: inline-block;
  border-bottom: 2px solid #d50000;}
.lx-contents.mt0 {
  margin-top: 0;}

/*
========================================================

  注意喚起

========================================================
*/
.lx-aten {
  margin-bottom: 40px;
  padding: 30px;
  border: 3px solid rgb(255, 129, 122);
  background-color: rgba(255, 129, 122, .05);}
.lx-aten ul li {
  padding-left: 1em;
  font-size: 15px;
  position: relative;}
.lx-aten ul li:before {
  pointer-events: none;
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
  color: rgb(255, 129, 122);}

/*
========================================================

  共通レイアウト：01

========================================================
*/
figure img {
    width: 100%;
}
.lx-contents .cl01 {
  position: relative;}
.lx-contents .cl01 h2 {
  margin-bottom: 20px;
  padding: 5px 0;
  text-align: center;
  background-color: #1a2c43;
  font-size: 22px;
  color: #fff;
  letter-spacing: .1em;}


/*
========================================================

  共通レイアウト：02

========================================================
*/
.lx-contents .cop1691-table {
  width: 100%;
  letter-spacing: 0;}
.lx-contents .cop1691-table th {
  width: calc(100%/3);
  padding: 10px;
  text-align: center;
  border: solid #ccc;
  border-width: 2px 0;
  background-color: #fff;
  font-size: 16px;}
.lx-contents .cop1691-table th:first-child {
  background-color: #f7f7f7;}
.lx-contents .cop1691-table th:first-child img{
  width: 70%;
  height: auto;}
.lx-contents .cop1691-table th + th {
  border-left: 1px dashed #ccc;}
.lx-contents .cop1691-table td {
  padding: 10px;
  font-size: 14px;
  border-bottom: 1px solid #ccc;
}
.lx-contents .cop1691-table tbody tr + tr {
  border-top: 1px solid #eee;}
.lx-contents .cop1691-table tbody td + td {
  border-left: 1px dashed #ccc;}
.lx-contents .cop1691-table tbody td span {
  font-weight: 600;
  color: #d50000;}
.lx-contents .cop1691-table tbody td ul li {
  position: relative;
  padding-left: 1em;}
.lx-contents .cop1691-table tbody td ul li:before {
  pointer-events: none;
  content: '・';
  position: absolute;
  left: 0;
  top: 0;}
.lx-contents .cop1691-table tbody tr:last-child td {
  text-align: right;}
.lx-contents .cop1691-table tbody td a {
  display: inline-block;
  font-weight: 500;
  color: #ff817a;}

/*
========================================================

  共通レイアウト：03

========================================================
*/
.lx-contents .box01 {
  padding: 5%;
  background-color: #f3f4f5;}
.lx-contents .box01 h3 {
  padding: 5px 0;
  text-align: center;
  background-color: #1a2c43;
  font-size: 18px;
  color: #fff;}
.lx-contents .box01 p + h3 {
  margin-top: 30px;}
.lx-contents .box01 p {
  padding: 5%;
  background-color: #fff;}
.lx-contents .box01 p span {
  display: block;
  margin-bottom: 5px;
  font-weight: 600;
  text-decoration: underline;}
.lx-contents .box02 {
  position: relative;
  margin-top: 30px;
  padding: 50px 20px 20px;
  border-radius: 10px;
  background-color: #fff;}
.lx-contents .box02 ul li {
  position: relative;
  padding-left: 1em;}
.lx-contents .box02 ul li:before {
  pointer-events: none;
  content: '・';
  position: absolute;
  left: 0;
  top: 0;}
.lx-contents .box02 .title {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  padding: 10px 20px;
  border-radius: 0 0 10px 0;
  background-color: #d50000;
  line-height: 1.0;
  font-weight: 600;
  color: #fff;}

/*
========================================================

  共通レイアウト：04

========================================================
*/
.lx-contents .box03 {
  padding: 5%;
  background-color: #f3f4f5;}
.lx-contents .box03 .point {
  background-color: #1a2c43;}
.lx-contents .box03 .box-point {
  margin-bottom: 0;}
.lx-contents .box03 .box-point .box-pointol .num {
  color: #1a2c43;}
.lx-contents .box03 .box-point .box-pointol .ttl {
  color: #1a2c43;}

/*
========================================================

  共通レイアウト：05

========================================================
*/
.lx-contents .box04 .use_title {
  color: #1a2c43;
  background: linear-gradient(transparent 50%, #f3f4f5 50%);}
.lx-contents .box04 .circle {
  background-color: #f3f4f5;}
.lx-contents .box04 .circle span {
  color: #1a2c43;}
.lx-contents .box04 .circle2 {
  background-color: #1a2c43;}
.lx-contents .box04 .use_point {
  padding: 30px;
  background-color: #f3f4f5;}

/*
========================================================

  共通レイアウト：06

========================================================
*/
.lx-contents .box05 .sec_detail {
  margin-top: 0;}

/*
========================================================

  共通レイアウト：06

========================================================
*/
.lx-contents .box05 .sec_detail {
  margin-top: 0;}

/*
========================================================

  共通レイアウト：07

========================================================
*/
.lx-contents .box06 ol {
  margin-top: 0;}
.lx-contents .box06 ol li {
  font-size: 12px;
  color: #aaa;}
.lx-contents .box06 ol li + li {
  margin-top: 10px;}


/*===============================================

ここからSP

================================================*/

@media screen and (max-width: 768px) {

/* パラグラフレイアウト */
.lx-contents {
  margin-top: 5vw;
  font-size: 3.5vw;}
.lx-contents p {
  font-size: 3.4vw;}
.lx-contents + .lx-contents {
  margin-top: 10vw;}

/* 導入 */
.lx-contents .intro h2 {
  margin-bottom: 3.5vw;
  font-size: 4.7vw;}
.lx-contents .intro h2 span {
  margin: 0 1vw;
  padding: 0 2vw;}
.lx-contents.mt0 {
  margin-top: 0;}

/*
========================================================

  注意喚起

========================================================
*/
.lx-aten {
  margin-bottom: 5vw;
  padding: 5vw;
  border: 3px solid rgb(255, 129, 122);
  background-color: rgba(255, 129, 122, .05);}
.lx-aten ul li {
  padding-left: 1em;
  position: relative;
  font-size: 3.4vw;}
.lx-aten ul li:before {
  pointer-events: none;
  content: '・';
  position: absolute;
  top: 0;
  left: 0;
  color: rgb(255, 129, 122);}

/*
========================================================

  共通レイアウト：01

========================================================
*/
.lx-contents .cl01 h2 {
  margin-bottom: 3vw;
  padding: 1.5vw 0;
  font-size: 4.2vw;}

/*
========================================================

  共通レイアウト：02

========================================================
*/
.lx-contents .cop1691-table th {
  padding: 2vw;
  font-size: 3.2vw;}
.lx-contents .cop1691-table td {
  font-size: 3.2vw;}

/*
========================================================

  共通レイアウト：03

========================================================
*/
.lx-contents .box01 h3 {
  padding: 1.5vw 0;
  font-size: 4vw;}
.lx-contents .box01 p + h3 {
  margin-top: 5vw;}
.lx-contents .box01 p span {
  margin-bottom: 2vw;}
.lx-contents .box02 {
  margin-top: 5vw;
  padding: 10vw 5vw 5vw;
  border-radius: 3vw;}
.lx-contents .box02 ul li {
  font-size: 3.4vw;}
.lx-contents .box02 .title {
  padding: 1.5vw 3vw;}

/*
========================================================

  共通レイアウト：04

========================================================
*/
.lx-contents .box03 .box-pointol li .ttl {
  font-size: 3.2vw;}
.lx-contents .box03 .box-point .box-pointol .sub {
  font-size: 3.2vw;}

/*
========================================================

  共通レイアウト：05

========================================================
*/
.lx-contents .box04 .use_point {
  padding: 5vw;}

/*
========================================================

  共通レイアウト：07

========================================================
*/
.lx-contents .box06 ol li {
  font-size: 1.6vw;}
.lx-contents .box06 ol li + li {
  margin-top: 2vw;}

.center {
    text-align: center;
    margin-bottom: 15px;
}
.img_half{
    width: 80%;
}

/* トピック見出し */

.article .topic_1.s {
    font-size: 3.2vw;
}
.article .topic .topic_2 {
    font-size: 4.2vw;
    margin-bottom: 2rem;
}
.article .topic .topic_1, .article .topic .topic_3 {
    font-size: 3.4vw;
}
.topic .inner img{
    margin: 1rem auto 2rem;
}
/* トピック見出し　ここまで */

/* オススメポイント */
.point {
    margin: 30px 0 0;
    padding: 10px 0;
    font-size: 4.2vw;
}
.box-point {
    padding: 0.5em 1em 2em;
}
.box-point .box_p {
    display: table;
    width: 100%;
    border-bottom: solid 1px #000000;
}
.box-pointol li .num {
    padding: 0 10px 0 10px;
    font-size: 4.8vw;
}
.box-pointol li .num + .ttl {
    padding: 1rem 0 1rem;
    font-size: 3.4vw;
    line-height: 1.6;
}
.box-pointol li .ttl {
    font-size: 25px;
    line-height: 1.7;
}
.box-pointol li .ttl .sub {
    font-size: 3.4vw;
}
/* オススメポイントここまで */


.article .headline {
    padding: 12px;
    font-size: 28px;
    letter-spacing: 2px;
}
.article .headline1 {
    font-size: 18px;
}
.article .headline2 span {
    font-size: 4.8vw;
}
.article .headline2_sub, .article .topic_box .topic_headline {
    font-size: 3.4vw;
}
.article .t_s {
    font-size: 10px;
}
p.addition {
    font-size: 10px;
}
.article .headline4 {
    font-size: 4.2vw;
    margin: 3rem 0 2rem;
    padding: 10px 0;
}


.article .headline6 {
    position: relative;
    width: 93%;
    margin: 0 auto 20px;
    text-align: center;
    font-weight: normal;
}
.article .headline6 span {
    position: relative;
    display: inline-block;
    background: #FFF;
    padding: 0.5em 1em;
    z-index: 2;
    font-size: 26px;
}
.article .headline6:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 1px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #000;
    content: "";
    z-index: 1;
}
.article .text4 {
    color: #000;
    font-size: 3.2vw;
    font-weight: normal;
    margin: 0 10px 30px;
    text-align: left;
}
.article .text6 {
    border-top: solid #1e366a 1px;/*上のボーダー*/
    border-bottom: solid #1e366a 1px;/*下のボーダー*/
    padding: 0.5em 0 0.5em 0.5em;
    margin: 0em 0 3em;
    font-size: 14px;
}
.article .text7 {
    color: #000;
    font-size: 14px;
    font-weight: normal;
    margin: 0 23px 30px;
}
.article .text8 {
    color: #000;
    font-size: 22px;
    margin: 0 0 20px;
}

img.photo_ig {
    margin: 0 auto;
}
.use_title {
    font-size: 3.4vw;
    color: #d60806;
    padding: 0.3em 0.5em 0.3em 1em;
    position: relative;
    background: linear-gradient(transparent 50%, #ffeceb 50%);
    font-weight: bold;
}
.center_container {
    display: inline-block;
}

.text_r {
    font-size: 3.2vw;
    margin: 0 0 2rem;
}
p.use_point {
    font-size: 3.2vw;
}
img.arrow2 {
    width: 10%;
    transform: rotate( 360deg);
    left: 45%;
    bottom: 45%;
}
.c-inner .circle {
    width: 50vw;
    height: 50vw;
    margin: 0 auto 4rem;
}
.c-inner .circle2 {
    width: 50vw;
    height: 50vw;
    margin: 0 auto;
}
.circle span, .circle2 span {
    width: 100%;
    text-align: center;
    font-size: 4.2vw;
}

/* qa質問ここから */

/* qa画像 */
.q_a {
    width: 15%;
}

.cp_qa {
    padding: 1em;
    margin-bottom: 50px;
}

/* 質問 */
.cp_qa .cp_actab label, .cp_qa .cp_actab label::before{
    font-size: 3.2vw;
}

/* 答え */
.cp_qa .cp_actab .cp_actab-content {
	padding: 0 0 0 1.5em;
}
.cp_qa .cp_actab .cp_actab-content::before {
	font-size: 3.2vw;
    margin: 1em 0 0 -1.5em;
}
.cp_qa .cp_actab .cp_actab-content p {
     font-size: 3.2vw;
}

}
/* 質問を開いた時の仕様 */