@charset "UTF-8";



.btn01 {
  margin: 30px auto 0 auto;
}
.btn01 .btn {
	max-width: 330px;
margin: 0 auto;
padding: 20px 10px;
}
#contents.page .page-title_wrap {
  padding-top: 51px;
  padding-bottom: 250px;
  margin-bottom: 80px;
}
#contents.page .page-title_wrap .page-title {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}
#contents.page .page-title .title {
  order: 2;
}

#contents.page .page-title .name {
  order: 1;
  margin-bottom: 14px;
}
#contents.page .page-title .text {
  order: 3;
  margin-top: 20px;
}

#contents.page .page-title_wrap .bg-img {
  display: flex;
  align-items: flex-end;
}
#contents.page .page-title_wrap .load-anime.-left {
  width: 39%;
  max-width: 506px;

  top: auto;
  bottom: 34px;
}
#contents.page .page-title_wrap .load-anime.-right {
  width: 56%;
  max-width: 757px;
  top: auto;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  #contents.page .page-title_wrap {
    padding-top: 5.348vw;
    padding-bottom: 10.16vw;
    margin-bottom: 0;
  }
  #contents.page .page-title_wrap .page-title {
    margin-bottom: 0;
  }
  #contents.page .page-title .name {
    margin-bottom: 4.278vw;
  }
  #contents.page .page-title .text {
    margin-top: 4.278vw;
  }
  #contents.page .page-title_wrap .load-anime.-left {
    width: 29%;
    max-width: inherit;
    bottom: auto;
    top: 0;
  }
  #contents.page .page-title_wrap .load-anime.-right {
    width: 52%;
    max-width: inherit;
  }
  .page .voice_detail {
    width: 100%;
    max-width: inherit;
    margin: 0 auto;
  }
  .page .post-img {
    margin-bottom: 8.021vw;
  }
  .page .post-cnts {
    width: 84%;
    max-width: inherit;
  }
  .page .post-cnts p {
    font-size: 3.743vw;
    line-height: calc(24 / 14);
    margin-bottom: 8.021vw;
  }
.btn01 .btn {
  max-width: inherit;
  width: 78%;
  padding: 14px 10px;
}
}



/***********************************
 blog
************************************/
.blog_articlelist .pager-nav_list{
  margin: 20px 0 0;
}

.single_layout .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}


.blog_list .blog_item .title {
  font-family: "TsukuARdGothicStd-R";
  letter-spacing: 0.1em;
  font-size: 20px;
}

.blog_list .blog_item:hover img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}

.blog_item_meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
  color: #a8898a;
}

.blog_item_meta .category {
  color: #a8898a;
  margin-right: 20px;
  border: 1px solid #a8898a;
  padding: 3px 10px;
  font-size: 10px;
  border-radius: 100rem;
}

.blog_item_meta .datetime {
  font-size: 12px;
}

.blog_item_thumbnail {
  padding-top: 66.66667%;
  position: relative;
  border-radius: 5px;
  z-index: 1;
  margin-bottom: 20px;
  overflow: hidden;
}

.blog_item_thumbnail img {
  position: absolute;
	top: 0;
	left: 0;
/*   top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); */
  z-index: 0;
  -webkit-transition: -webkit-transform .5s ease-in-out;
  transition: -webkit-transform .5s ease-in-out;
  transition: transform .5s ease-in-out;
  transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out;
}

.blog_item_thumbnail.-noimage {
  color: #a8898a;
}

.blog_item_thumbnail.-noimage p {
  position: absolute;
  width: 100%;
  font-size: 20px;
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.single_layout {
  padding: 150px 0 110px;
}

.single_layout .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.single_layout_main {
	width: 67%;

}

.single_layout_side {
  width: 25%;
}

#blog_single .single_header h1 {
	font-size: 20px;
	line-height: 1.53;
	margin-bottom: 30px;
	border-bottom: 1px solid #bbbcbd;
	letter-spacing: 0.1em;
	padding: 0 0 10px;
}

#blog_single .single_header .meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
  color: #a8898a;
}

#blog_single .single_header .category {
border: 1px solid #ae4952;
	font-size: 11px;
	background-color: #FFFFFF;
	color: #ae4952;
	border-radius: 100px;
	font-family: Garamond , "Times New Roman", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",sans-serif, Osaka, "ＭＳ Ｐゴシック", "MS PGothic" !important;
	padding: 2px 10px;
}

#blog_single .single_header .datetime {
	font-size: 12px;
	margin-right: 10px;
}
.single_content .img{
	margin-bottom: 20px;
}
.single_layout_main .message_text{
	font-size: 15px;
	letter-spacing: 0.08em;
	line-height: 1.8;
	color: #5f5f60;
}
.single_content .page_nav {
  margin-top: 40px;
  border-radius: 20px;
  background: #f7f7f7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 118px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px 40px;
}

.single_content .page_nav_item {
  width: 50%;
  max-width: 157px;
  font-weight: bold;
  font-size: 12px;
  position: relative;
}

.single_content .page_nav_item a::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  top: 0;
  left: 0;
}

.single_content .page_nav_item .icon {
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  top: calc(50% - 5px);
}

.single_content .page_nav_item.prev .icon {
  left: -15px;
}

.single_content .page_nav_item.next .link_title {
  text-align: right;
}

.single_content .page_nav_item.next .icon {
  right: -15px;
}

.single_content .link_title {
  font-size: 14px;
  color: #000;
  margin-bottom: 20px;
  display: block;
}

.side_widget {
	padding: 30px 15px;
	border-radius: 5px;
	background-color: #F8F8F8;
}
.side_widget + * {
  margin-top: 30px;
}

.side_widget h2 {
  text-align: center;
	margin: 0 0 10px;
}

.side_widget h2 .title-ja {
  font-size: 16px;
	color: #ae4952;
}

.side_widget h2 .title-en {
  font-size: 11px;
  display: block;
  margin-bottom: 0;
  font-family: YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", "ＭＳ ゴシック", sans-serif;
	color: #ae4952;
	letter-spacing: 0.05em;
}

.side_widget .sidebar-list {
  margin-top: 15px;
  padding: 15px;
}

.side_widget .sidebar-list li {
  border-radius: 10px;
  border: 1px solid #d5c8c9;
}

.side_widget .sidebar-list li + * {
  margin-top: 10px;
}

.side_widget .sidebar-list li > ul {
  padding-left: 1em;
}

.side_widget .sidebar-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #a8898a;
  font-size: 14px;
  font-family: "TsukuARdGothicStd-M";
  letter-spacing: 0.1em;
  padding: 15px 20px;
}

.side_widget .sidebar-list a .icon {
  margin-right: 20px;
}

.sidebar-archivelist li,.sidebar-catelist li {
	border-bottom: 1px solid #dedddb;
}
.sidebar-archivelist li:last-child,.sidebar-catelist li:last-child{
	border-bottom: none;
}
.sidebar-archivelist li > ul ,.sidebar-catelist li > ul {
  padding-left: 1em;
}

.sidebar-archivelist a,.sidebar-catelist a {
  display: block;
  color: #ae4952;
  font-size: 13px;
  letter-spacing: 0.1em;
  padding: 15px 20px;
}

.sidebar-archivelist a::before,.sidebar-catelist a::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  vertical-align: middle;
  background: url(../img/news/arrow.png) no-repeat center/contain;
  margin-right: 10px;
}
.sidebar-archivelist a::after {
  content: '年';
}

@media screen and (max-width: 767px) {
.single_layout .wrap {
  display: block;
}
#blog_single .single_header .meta {
  margin-bottom: 10px;
}
#blog_single .single_header h1 {
  font-size: 17px;
  line-height: 1.53;
}
.single_layout_main .message_text {
font-size: 14px;
line-height: calc(30 / 14) ;
letter-spacing: 0.1em ;

}
  .blog_articlelist {
    padding-left: 0;
    padding-right: 0;
  }
.blog_articlelist .pager-nav_list{
  margin: 0 !important;
}
.pager-nav {
  padding-bottom: 0;
}
  .blog_list {
    margin-top: 40px;
  }
  .blog_articlelist {
    padding-top: 50px;
    padding-bottom: 90px;
  }
.pager-nav_list {
margin: 40px 0 0;
	}


  .blog_articlelist_inner {
    padding: 30px 2.5%;
  }
  .single_layout .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .single_layout_main {
    width: 100%;
    max-width: 100%;
  }
  .single_layout_side {
    width: 100%;
  }
  .single_content .page_nav {
    padding-left: 25px;
    padding-right: 25px;
  }
  .single_layout {
    padding: 60px 0 0;
  }
  .blog_list .blog_item {
    width: 100%;
	  margin-bottom: 40px;
  }
  #blog_single .single_header .datetime {
    font-size: 11px;
  }
  .voices-backbtn {
    margin-top: 60px;
  }
  .voices-backbtn .btn-secondary_link {
    font-size: 14px;
    min-width: 195px;
  }
  .side_widget .sidebar-list a {
    font-size: 13px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .side_widget {
    padding: 30px 20px 20px;
  }
.single_layout {
  padding: 60px 0 90px;
}
.side_widget .sidebar-list {
  padding: 15px 0;
}
}

@media screen and (max-width: 414px) {
  #blog_msg p {
    font-size: 14px;
  }
  .blog_list dt {
    padding-left: 0;
    padding-right: 10px;
    width: 180px;
  }
  .blog_list dd {
    width: calc(100% - 180px);
  }
}

/*****************************************************
news
******************************************************/
/*
news-list
*/
.news-list {
}
.news-list ul{
  align-items: flex-start;
}
.news-list ul li {
	width: 33%;
padding:0 2% 40px;
border-radius: 5px;
box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
}
.news-list ul li .box .title_ara{
	position: relative;
}
.news-list ul li .box .day_time{
	font-family: Garamond , "Times New Roman", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",sans-serif, Osaka, "ＭＳ Ｐゴシック", "MS PGothic" !important;
}
.news-list ul li .box .day_time,.news-list ul li .box .title{
	font-size: 14px;
line-height: 1.6;
letter-spacing: 0.1em ;
	color: #727373;
}
.news-list ul li .box .cate a{
	border: 1px solid #ae4952;
	font-size: 11px;
	background-color: #FFFFFF;
	color: #ae4952;
	border-radius: 100px;
	font-family: Garamond , "Times New Roman", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",sans-serif, Osaka, "ＭＳ Ｐゴシック", "MS PGothic" !important;
	padding: 2px 10px;
	position: absolute;
	top: -40px;
	right: 10px;
}
.news-list ul li .box .cate a:hover{
	background-color:#ae4952;
	color: #FFFFFF;
	opacity: 100;
}
.news-list ul li .box img{
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}
.news-list ul li .box .img a img:hover{
	opacity: 100;
}
@media screen and (max-width: 767px) {
.news-list ul li {
	width: 100%;
padding:0 0 40px;

}


}
/*****************************************************
contact
******************************************************/
.contact .text_ara{
	margin: 0 auto 80px;
	font-weight: normal;
	line-height: 2;
	color: #5f5f60;
	letter-spacing: 0.08em;
	max-width: 60%;
}
form.sent p{
display:none;
}

#contact_msg{
	margin: 0 0 100px;
}
.widht_500{
	max-width: 500px;
	width: 90%;
	margin: auto;
	font-size: 14px;
	text-align: justify;
	letter-spacing: 0.1em;
}
.impo_text{
	font-size: 13px;
	color: #a8898a;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 20px;
}
.contact_notes{
	text-align: center;
}
.last_box_l{display: inline;}
.last_box_r{
	display: inline;
	font-size: 14px;
	font-family: "TsukuARdGothicStd-M";
}
.last_box_r a{
	color: #000000;
	text-decoration: underline;
}
.last_box_r a:hover{
	text-decoration: none;
}
.tel_box {
	border: 3px solid #E15C00;
	padding: 40px 5% 30px;
	background-color: #FFFFFF;
	border-radius: 10px;
	width: 60%;
	margin: auto;
	position: relative;
}
legend {
    color: #FFFFFF;
	text-align: center;
	background-color: #E15C00;
	padding: 8px 30px;
	border-radius: 20px;
	font-size: 18px;
	position: absolute;
	top: -15px;
	 left: 0;
  right: 0;
  margin:0 auto;
}
.tel_box ._sitemenu .tel{
	font-size: 32px;
font-weight: 600;
color: #371e0a;
	margin-bottom: 10px;
}
._sitemenu .tel::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url(common/images/icon_tel.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin: 0 10px 0 0;
}
.tel_box .day_time{font-size: 14px;}
.big{font-weight: bold;margin: 30px 0 0;font-size: 16px;}



.con-box {
    padding: 10px 0;
    border: 1px solid #1e89c8;
    border-radius: 3px;
    width: 70%;
    text-align: center;
    margin: 0 auto 50px;
}

.wpcf7-form-control-wrap .last,
.wpcf7-list-item {}

#mailformpro {
    font-size: 13px;
    margin-top: 30px;
}

#mailformpro table tr td {
    padding: 15px;
}

#mailformpro table tr td p {}

.size {
    font-size: 13px;
    line-height: 1.5em;
    margin-top: 5px;
}

.font13 {
    font-size: 13px;
    line-height: 1.5em;
}

.top10 {
    margin-top: 10px;
}

.info-box span {
    margin: 0 2px;
}

.wpcf7-form {
}
.table-box01 {
    display: table;
    width: 100%;
    box-sizing: border-box;
	padding: 10px 0;
	text-align: left;
}
.table-box02 {
    display: table;
    width: 100%;
    box-sizing: border-box;
}

.table-box02-last {
    border-bottom: none !important;
}

.table-box02-l {
    font-size: 14px;
    width: 40%;
    padding: 15px;
    line-height: 1.8;
    vertical-align: top;
    box-sizing: border-box;
    display: table-cell;
    text-align: left;
	font-family: "TsukuARdGothicStd-M";
}

.table-box02-r {
    width: 60%;
    display: table-cell;
    text-align: left;
    padding: 15px;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 1.8;
	font-weight: normal;
}
.inner10 .table-box02-l{ width: 60%;}
.inner10 .table-box02-r {
    width: 40%;
}

.kibou .wpcf7-list-item {}

.wpcf7-list-item {
    margin: 0 10px 0 0;
    white-space: nowrap;
}

.wpcf7-form input[type="text"],
input[type="text01"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="url"],
.wpcf7 textarea,
textarea.form-control,
.wp-editor-container {
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
    padding: 10px 10px 15px 10px;
    margin: 2px 0;
    box-sizing: border-box;
    border: 1px solid #ffffff;
    color: #333;
    font-size: 14px;
    line-height: 1.6em;
    background-color: #ffffff;
	border-radius: 5px;
}

.text02 {

}

.text05 {
    width: 40%;
}

.wi20 {
    width: 20% !important;
}

span.wpcf7-list-item {
    margin: 0 !important;
	line-height: 2;
}

.checkbox-l select {
    font-size: 20px;
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
    padding: 4px 10px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    box-sizing: border-box;
    width: 70% !important;
    border: 1px solid #999 !important;
    background: #fff !important;
}


input[type="checkbox"]{
		  border: 1px solid #ffffff !important;
  padding: 3px;
  width: 20px;
  height: 20px;
	-webkit-box-shadow: none;
box-shadow: none;
outline: none;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
	background: #fff !important;
}

input[type="date"],
select {
font-size: 14px !important;
-webkit-box-shadow: none;
box-shadow: none;
outline: none;
padding: 15px 30px 15px 15px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
margin: 10px 0;
box-sizing: border-box;
width: 100%;
background-color: rgb(248,248,248);
border: 1px solid rgb(248,248,248);
}

.wpcf7 {
    margin: auto;
}

.contact-title {
    position: absolute;
    top: 0px;
    left: 10px;
}

.c_date {
    display: table;
}

.c_date div {
    display: table-cell;
    padding: 10px;
}

.must {
    font-size: 12px;
    color: #A8898A;
    margin-left: 3px;
    font-weight: normal;
	display: inline-block;
	line-height: 2;
	border-radius: 3px;

}

/* .submitbtn input {
    width: 110px;
    border: none;
    padding: 10px 10px;
}

.submitbtn input[type='submit'] {
    display: block;
    padding: 13px 20px;
    width: 220px;
    margin: 80px auto 0;
    text-align: center;
    color: #fff;
    border: none;
    background-color: #D89797;
    font-size: 15px;
    font-weight: bold;
    border-radius: 13.33333vw;
}
.submitbtn input[type='button']{
   display: block;
    padding: 15px 20px;
    width: 200px;
    margin: 0px auto 0;
    text-align: center;
    color: #fff;
    border: none;
    background-color: #000000;
    font-size: 15px;
    font-weight: bold;
    border-radius: 13.33333vw;
}





.submitbtn input[type="submit"]:hover {
    color: #fff;
    opacity: 0.8;
    -webkit-transition: 0.8s;
    transition: 0.8s;
} */
.wpcf7-not-valid-tip {
    font-size: 11px !important;
	  animation: flash 1s linear infinite;

}
@keyframes flash {
  0%,100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

.checkbtm {
    border-bottom: 1px solid #c9c9c9;
    margin: 0 0 15px 0;
    padding: 15px 0;
    font-weight: bold;

}

.failure {
    text-align: left;
    margin: 40px 0;

}
@media screen and (max-width: 768px) {
.tel_box {
	width: 70%;
}
    input[type="text"],
    input[type="text01"],
    input[type="tel"],
    input[type="email"],
    input[type="password"],
    input[type="url"],
    textarea,
    textarea.form-control,
    .wp-editor-container {}

    .left-30 {
        margin-left: 0px !important;
    }

    .wi20 {
        width: 35% !important;
    }

    .table-box02-l {}

    .wpcf7 {
        width: 100%;
        max-width: 100%;
    }

    .submitbtn input {
        width: 65%;
        border: none;
        padding: 10px 10px;
        min-height: 20px;
    }

    input[name="f_am"] {
        font-size: 10.8px;
    }

    .db {
        display: block;
    }

    input[type="button"],
    input[type="submit"] {
        -webkit-appearance: none;
    }

   .table-box02-l {
        width: 100%;
        padding: 10px 10px 0;
        border: none;
        vertical-align: middle;
        box-sizing: border-box;
        line-height: 1.6em;
        display: block;
    }
    .table-box02-r,.inner10 .table-box02-r {
        width: 100%;
        text-align: left;
        padding: 10px;
        border: none;
        display: block;
        font-size: 13px;
    }
.contact {
	padding: 50px 0 80px ;
}
.contact .text_ara{
	 font-size: 14px !important;
line-height: calc(30 / 14) !important;
letter-spacing: 0.1em !important;
}
}
@media screen and (max-width:640px) {

.secttl_small02 {
  margin-bottom: 30px;
}
.top_btm {
  margin: 0px;
}
#contact_msg {
  margin: 0 0 60px;
}
.tel_box {
	padding: 40px 3% 30px;
	width: 90%;
}
.tel_box .day_time {line-height: 2;}
.big {margin: 20px 0 0;}
    .bordertop {
        border-top: 1px solid #c9c9c9;
    }
.table-box02 {
	display: block;
    }



    .kibou .wpcf7-list-item {
        display: table !important;
    }
    span.wpcf7-list-item {
        margin: 0;
    }
.wpcf7-form-control-wrap label{
    display: flex;
}
    .wpcf7-list-item input {

    }

    .wpcf7-list-item-label {

        padding-left: 5px;
    }

    .c_date {
        display: block;
    }

    .c_date div {
        padding: 5px 0 15px 10px;
    }

    input[type="date"],
    select {
        padding: 10px 15px;
        font-size: 16px;
    }

.submitbtn input[type="submit"] {
  margin: 50px auto 0;
}

    .checkbtm {
        margin: 0 0 15px 0;
        padding: 0 0 15px 0;
        font-weight: bold;
    }

    .text05 {
        width: 50%;
        margin-bottom: 5px;
        display: inline !important;
    }

    /* コンタクフォーム*/
    .con-box {
        width: 90%;
        text-align: center;
        margin: 0 auto 30px;
        padding: 10px 4%;
    }

    input[type="button"],
    input[type="submit"] {
        -webkit-appearance: none;
    }
.contact {
	padding: 35px 0 60px !important;

}
.contact .text_ara{
	margin: 0 0 40px;
	max-width: 100%;
	}
}

/*****************************************************
404
******************************************************/
.error .text_ara{
	margin: 0 0 80px;
	font-weight: normal;
	line-height: 2;
	color: #5f5f60;
	letter-spacing: 0.08em
}
@media screen and (max-width: 768px){
.error {
	padding: 50px 0 80px ;
}
.error .text_ara{
	 font-size: 14px !important;
line-height: calc(30 / 14) !important;
letter-spacing: 0.1em !important;
}
}
@media screen and (max-width: 640px){
.error {
	padding: 35px 0 60px !important;

}
.error .text_ara{
	margin: 0 0 40px;
	}
}


/*****************************************************
Privacy policy
******************************************************/
.terms {
}
.terms .text_ara{
	margin: 0 0 80px;
	font-weight: normal;
	line-height: 2;
	color: #5f5f60;
	letter-spacing: 0.08em
}
.terms .box{
	margin: 0 0 50px;
	text-align: justify;
}
.terms .box dt{
	font-weight: bold;
line-height: 1.6;
	margin-bottom: 5px;
	color: #5f5f60;
	letter-spacing: 0.08em
}
.terms .box dd{
	line-height: 2;
	color: #5f5f60;
	letter-spacing: 0.08em
}

._under{
	padding-left: 1em;
	text-indent: -1em;
}
.small_under ol{
	padding-left: 1em;
	text-indent: -1em;
	letter-spacing: 0.08em
}
.terms .small_under{
	margin: 0 0 0 20px;

}
@media screen and (max-width: 768px){
/*
プライバシーポリシー
*/
.terms {
	padding: 50px 0 80px ;
}
.terms .text_ara{
	margin: 0 0 50px;
	 font-size: 14px !important;
line-height: calc(30 / 14) !important;
letter-spacing: 0.1em !important;
}
.terms .box:last-of-type  {
    margin: 0 ;
}
.terms .box dt {
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-bottom: 5px !important;
}
.terms .box dd ,.small_under ol{
   font-size: 1.4rem!important;
  line-height: calc(30 / 14)!important;
  letter-spacing: 0.1em!important;
}
}
@media screen and (max-width: 640px){
.terms {
	padding: 35px 0 60px !important;
}
}


/* ------------------------------
    page-top
------------------------------ */
/* common */
.ttl-ico{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ttl-ico:before{
    position: relative;
    margin: 0 auto 25px auto;
    display: block;
    content: '';
    background-size: 100% auto !important;
}
.ttl-ico .sec_ttl{
    order: 2;
    text-align: center;
    font-size: 2.4rem;
    line-height: calc(38 / 24);
    font-weight: 700;
    letter-spacing: .1em;
    color: #ae4952;
}
.ttl-ico .sub-ttl{
    order: 1;
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 14px;
    letter-spacing: .1em;
}

.preload-fade{
    opacity: 0;
    animation: fadeOut 1.2s .4s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
@keyframes fadeOut {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
    .ttl-ico:before{
        margin: 0 auto 6.333vw auto;
        background-size: 100% auto !important;
    }
    .ttl-ico .sec_ttl{
        font-size: 4.533vw;
        line-height: calc(25 / 17);
        letter-spacing: .15em;
    }
    .ttl-ico .sub-ttl{
        font-size: 3.2vw;
        letter-spacing: .1em;
        margin-bottom: 3.733vw;
    }
}

/* sec-fv */
.page-top .sec-fv{ position: relative;}
.page-top .fv_wrap{
    position: relative;
    width: calc(100% - 9.5rem);
    margin: 0 0 0 auto;
}
.page-top .fv_lead {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50% , -50%);
    width: 100%;
    z-index: 2;
}
.page-top .fv_lead p{text-align: center;}

.page-top .fv_lead p{
    color: #FFF;
    font-size: 3.0rem;
    line-height: calc(54 / 30);
    letter-spacing: .1em;
    font-weight: 700;
    text-shadow: 2px 2px 1px rgba(109,109,109,.75);
}
.page-top .fv_lead p.small{
    margin-top: 1rem;
    font-size: 1.8rem;
    line-height: calc(28 / 18);
    letter-spacing: .2em;
}

.page-top .fv_lead img{
    width: 100%;
    max-width: inherit;
}

.page-top .fv-slider{
    position: relative;
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 1;
    border-radius: 100px 0 0 0;
    overflow: hidden;
}

.page-top .fv-slider div {
    background-repeat: no-repeat;
    background-size: cover !important;
    background-position: center;
    width: 100%;
    height: 100%;
    margin: 0;
}
.page-top .fv-slider div.slide01 {
    background-image: url("../img/top/slide01_fv_pc.jpg");
}
.page-top .fv-slider div.slide02 {
    background-image: url("../img/top/slide02_fv_pc.jpg");
}
.page-top .fv-slider div.slide03 {
    background-image: url("../img/top/slide03_fv_pc.jpg");
}

.page-top .fv-left{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 95px;
    height: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

}
.page-top .fv-text{
    font-size: 1.2rem;
    letter-spacing: .2em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: -70px auto 0 auto;
}
.page-top .scroll{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 116px;
    margin: 0 auto;

}
.page-top .scroll a{
    position: relative;
    display: block;
    font-size: .8rem;
    color: #737373;
    letter-spacing: .2em;
    padding-left: 0;
    transform: rotate(90deg);
}
.page-top .scroll a .border{
    position: relative;
    height: 28px;
    margin-left: 10px;
}
.page-top .scroll a .border:after{
    position: absolute;
    top: 50%;
    left: 0;
    right: auto;
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 56px;
    height: 1px;
    background: #c9caca;
    z-index: 1;
}

.page-top .scroll a .border:before{
    position: absolute;
    top: 50%;
    left: 0;
    right: auto;
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 0;
    height: 1px;
    background: #ae4952;
    animation: scroll_Animation infinite 1.4s cubic-bezier(0.77, 0, 0.175, 1);
    animation-delay: 1s;
    z-index: 2;
}
@-webkit-keyframes scroll_Animation{
    0%{
        width: 0;
        left: 0;
        right: auto;
    }
    50%{
        width: 56px;
        left: 0;
        right: auto;
    }
    100%{
        width: 0;
        right: 0;
        left: 56px;
    }
}
@keyframes scroll_Animation{
    0%{
        width: 0;
        left: 0;
        right: auto;
    }
    50%{
        width: 56px;
        left: 0;
        right: auto;
    }
    100%{
        width: 0;
        right: 0;
        left: 56px;
    }
}
.page-top .fixed_bnr{
    position: fixed;
    top: 480px;
    right: 0;
    background: #ae4952;
    box-shadow: -1px -1px 5px 0 rgb(109 109 109 / 75%);
    border-radius: 10px 0 0 10px;
    box-sizing: border-box;
    z-index: 10;
}
.page-top .fixed_bnr p{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: #FFF;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 1.4rem;
    line-height: calc(16 / 14);
    font-weight: 700;
    letter-spacing: .2em;
    text-align: center;
    padding: 11px 15px;
    box-sizing: border-box;
}
.page-top .fixed_bnr p:after{
    position: relative;
    display: block;
    content: '';
    background: url("../img/common/arrow_white.svg") no-repeat center center;
    width: 20px;
    height: 7px;
    margin: 8px auto 0 auto;
}

.page-top .fixed_bnr .first_txt{
    border-bottom: 1px solid #FFF;
    padding-bottom: 9px;
    margin-bottom: 12px;
}
.page-top .fixed_bnr .txt{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: 0 auto;
}
.page-top .news-slider_wrap{
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 80%;
    max-width: 47.8rem;
    padding: 17px 0 27px 0;
    overflow: hidden;
    background: #FFF;
    border-radius: 0 10px 0 0;
    z-index: 3;
}
.page-top .news-slider{
    position: relative;
    height: 5.3rem;
    padding: 0 55px 0 0;
}

.page-top .news-slider .post a{
    display: flex;
    align-items: center;
}
.page-top .news-slider .swiper-slide-active{
    opacity: 0;
    animation: slide_fadeIn 3s 0.2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
@keyframes slide_fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.page-top .news-slider .post .post-date{
    margin-right: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    line-height: calc(14 / 12);
    color: #ae4952;
    width: 5.3rem;
    height: 5.3rem;
    border: 1px solid #ae4952;
    border-radius: 100%;
    box-sizing: border-box;
}
.page-top .news-slider .post .post-date span{
    font-size: 1.0rem;
    line-height: calc(12 / 10);
}
.page-top .news-slider .post .post-ttl{
    width: calc(100% - 5.5rem);
    font-size: 1.3rem;
    line-height: calc(15 / 13);
    font-weight: 500;
   /* color: #737373;*/
	color: #000000;
}

.page-top .news-slider .swiper-button-prev,
.page-top .news-slider .swiper-button-next{
    background: none;
    width: 11px;
    height: 6px;
}
.page-top .news-slider .swiper-button-prev{
    right: 30px;
    left: auto;
}
.page-top .news-slider .swiper-button-next{
    right: 30px;
    bottom: 10px;
    top: auto;
}
.page-top .news-slider .swiper-button-prev:before,
.page-top .news-slider .swiper-button-next:before{
    position: relative;
    display: block;
    content: '';
    background: url("../img/top/slide_arrow.svg") no-repeat center center;
    background-size: 100% auto !important;
    width: 11px;
    height: 6px;
}

.page-top .swiper-button-next:before{
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.page-top .news-slider .swiper-button-border{
    position: absolute;
    top: calc(50% - 3px);
    left: auto;
    right: 25px;
    display: block;
    width: 20px;
    height: 1px;
    background: #c9caca;
}

.page-top .load-anime.js-fadein.-loaded{ animation: fadeIn02 1.2s 0.6s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;}
@keyframes fadeIn02 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.page-top .js-fadein.delay1{
    animation-delay: .6s !important;
}
.page-top .js-fadein.delay2{
    animation-delay: 1.6s !important;
}
.page-top .js-fadein.delay3{
    animation-delay: 2.4s !important;
}
.page-top .js-fadein.delay4{
    animation-delay: 3s !important;
}

@media screen and (max-width: 767px) {
    .page-top .fv_wrap{
        width: calc(100% - 8vw);
        border-radius: 0;
    }
    .page-top .fv-slider{
        width: 100%;
        height: 90.667vw !important;
        border-radius: 13.333vw 0 0 0;
        overflow: hidden;
    }

    .page-top .fv-slider div.slide01 {
        background-image: url("../img/top/slide01_fv_sp.jpg");
    }
    .page-top .fv-slider div.slide02 {
        background-image: url("../img/top/slide02_fv_sp.jpg");
    }
    .page-top .fv-slider div.slide03 {
        background-image: url("../img/top/slide03_fv_sp.jpg");
    }
    .page-top .fv_lead { margin-top: -10vw;}
    .page-top .fv_lead p{
        font-size: 4.533vw;
        text-shadow: 1px 1px 1px rgb(109 109 109 / 75%);
    }
    .page-top .fv_lead p.small{ font-size: 3.2vw;}

    .page-top .fv-left{
        width: 8vw;
        justify-content: flex-start;

    }
    .page-top .fv-text{
        font-size: 2.4vw;
        letter-spacing: .1em;
        margin: 14vw auto 0 auto;
    }
    .page-top .scroll{
        bottom: 38vw;
    }
    .page-top .scroll a{
        font-size: 2.133vw;
        white-space: nowrap;
    }
    .page-top .scroll a .border{
        height: 6.2vw;
        margin-left: 10px;
    }
    .page-top .scroll a .border:after{
        width: 14vw;
    }
    @-webkit-keyframes scroll_Animation{
        0%{
            width: 0;
            left: 0;
            right: auto;
        }
        50%{
            width: 14vw;
            left: 0;
            right: auto;
        }
        100%{
            width: 0;
            right: 0;
            left: 14vw;
        }
    }
    @keyframes scroll_Animation{
        0%{
            width: 0;
            left: 0;
            right: auto;
        }
        50%{
            width: 14vw;
            left: 0;
            right: auto;
        }
        100%{
            width: 0;
            right: 0;
            left: 14vw;
        }
    }

    .page-top .news-slider_wrap{
        position: relative;
        width: calc(100% + 8vw);
        max-width: inherit;
        padding: 12px 6%;
        border-radius:0;
        margin-left: -8vw;
        bottom: 0;
    }
    .page-top .news-slider{
        height: 10vw;
        padding: 0;
    }
    .page-top .news-slider_wrap.js-fadein.delay4{ animation-delay: 2.4s !important}
    .page-top .news-slider .post a{
        display: flex;
        align-items: center;
    }
    .page-top .news-slider .post .post-date{
        margin-right: 3vw;
        font-size: 2.133vw;
        width: 10vw;
        height: 10vw;
    }
    .page-top .news-slider .post .post-date span{
        font-size: 2.133vw;
    }
    .page-top .news-slider .post .post-ttl{
        width: calc(100% - 13vw);
        font-size: 3.467vw;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
    }

    .page-top .news-slider .swiper-button-prev,
    .page-top .news-slider .swiper-button-next,
    .page-top .news-slider .swiper-button-border{
        display: none;
    }

}

/* sec-first */
.page-top .sec-first{
    margin-top: 90px;
    padding: 50px 0 0 0;
    box-sizing: border-box;
}
.page-top .sec-first .wrap{
    max-width: 1154px;
}
.page-top .sec-first .flex{
    flex-direction: row-reverse;
    justify-content: space-between;
}
.page-top .sec-first .flex .txt{
    width: 47%;
    box-sizing: border-box;
}
.page-top .sec-first .flex .txt h2{
    font-size: 2.4rem;
    font-weight: 700;
    line-height: calc(54 / 24);
    letter-spacing: .15em;
    margin-right: -10px;
    color: #ae4952;
    margin-bottom: 30px;
}
.page-top .sec-first .flex .txt p{
    font-size: 1.5rem;
    line-height: calc(33 / 15);
    letter-spacing: .1em;
}
.page-top .sec-first .flex .txt p+p{ margin-top: 20px;}

.page-top .sec-first .flex .img{
    width: 44%;
    max-width: 503px;
}
.page-top .sec-first .img_wrap{
    margin: 90px auto 0 auto;
    width: 100%;
    max-width: 528px;
}
.page-top .sec-first .img_wrap02{
    margin: 147px auto 0 auto;
    width: 100%;
    max-width: 1800px;
}

@media screen and (max-width: 767px) {
    .page-top .sec-first{
        margin-top: 0;
        padding: 4vw 0 0 0;
    }
    .page-top .sec-first .wrap{
        max-width: inherit;
        width: 100%;
    }
    .page-top .sec-first .flex{
        display: block;
    }
    .page-top .sec-first .flex .txt{
        width: 100%;
        margin-bottom: 6.667vw;
        padding: 0 5%;
        box-sizing: border-box;
    }
    .page-top .sec-first .flex .txt h2{
        font-size: 5.333vw;
        line-height: calc(35 / 20);
        letter-spacing: .11em;
        margin-right: 0;
        margin-bottom: 4.8vw;
    }
    .page-top .sec-first .flex .txt p{
        font-size: 3.733vw;
        line-height: calc(25 / 14);
    }
    .page-top .sec-first .flex .txt p+p{ margin-top: 6.667vw;}

    .page-top .sec-first .flex .img{
        width: 100%;
        max-width: inherit;
    }
    .page-top .sec-first .img_wrap{
        margin: 8vw auto 0 auto;
        width: 90%;
        max-width: inherit;
    }
    .page-top .sec-first .img_wrap02{
        margin: 9.333vw auto 0 auto;
        width: 94%;
        max-width: inherit;
    }

}

/* sec-latest */
.page-top .sec-latest{
    padding: 58px 0 114px 0;
    box-sizing: border-box;
}
.page-top .sec-latest .ttl-ico{ margin-bottom: 55px;}
.page-top .sec-latest .ttl-ico:before{
    background: url("../img/top/icoTtl_latest.svg") no-repeat center center;
    width: 107px;
    height: 55px;
}
.page-top .sec-latest .post_wrap.-latest{
    display: flex;
    flex-wrap: wrap;
    gap: 40px 20px;
}
.page-top .sec-latest .post_wrap.-latest .post{
    width: calc((100% - 20px) / 2);
    max-width: 440px;
}
.page-top .sec-latest .post_wrap.-latest .post .post-txt{
    font-size: 1.4rem;
    line-height: calc(18 / 14);
    font-weight: 700 !important;
    padding: 10px 15px;
    box-sizing: border-box;
}

.page-top .sec-latest .btn_wrap{
    margin: 55px auto 0 auto;
}
.page-top .sec-latest .btn_wrap .btn{
    max-width: 330px;
    margin: 0 auto;
    padding: 20px 10px;
}

@media screen and (max-width: 767px) {
    .page-top .sec-latest{
        padding: 12vw 0 21.333vw 0;
    }
    .page-top .sec-latest .ttl-ico{ margin-bottom: 9.333vw;}
    .page-top .sec-latest .ttl-ico:before{
        width: 17.333vw;
        height: 10vw;
    }
    .page-top .sec-latest .post_wrap.-latest{
        display: block;
    }
    .page-top .sec-latest .post_wrap.-latest .post{
        width: 100%;
        max-width: inherit;
    }
    .page-top .sec-latest .post_wrap.-latest .post+.post{ margin-top: 10vw;}
    .page-top .sec-latest .post_wrap.-latest .post .post-txt{
        font-size: 3.2vw;
        line-height: calc(14 / 12);
        padding: 0;
    }

    .page-top .sec-latest .btn_wrap{
        margin: 9.333vw auto 0 auto;
    }
    .page-top .sec-latest .btn_wrap .btn{
        max-width: inherit;
        width: 78%;
        padding: 14px 10px;
    }
}


.bk-gray{
	 background: #f6f6f5;
	position: relative;
}
.bk-gray:before{
	position: absolute;
    top: -42px;
    display: block;
    content: '';
    background: url("../img/top/bg_gray.svg") no-repeat center top;
    background-size: 100% auto;
    width: 100%;
    height: 42px;
    z-index: -1;
}

/* sec-message */
.page-top .sec-message{
    position: relative;
    padding:10px 0 85px 0;
   background: #f6f6f5;
    box-sizing: border-box;
}
.page-top .sec-message:before{
    position: absolute;
    top: -42px;
    display: block;
    content: '';
    background: url("../img/top/bg_gray.svg") no-repeat center top;
    background-size: 100% auto;
    width: 100%;
    height: 42px;
    z-index: 2;
}




.page-top .sec-message .ttl-ico:before{
    background: url("../img/top/icoTtl_message.svg") no-repeat center center;
    width: 33px;
    height: 83px;
}
.page-top .sec-message .white_box{
    background: #FFF;
    border: 1px solid #ae4952;
    padding: 4.5rem 3.5rem;
    border-radius: 10px;
    box-sizing: border-box;
}
.page-top .sec-message .worries_box{
    margin: 40px auto 78px auto;
    display: flex;
    justify-content: center;
    padding-left: 70px;
    box-sizing: border-box;
}
.page-top .sec-message .worries_box ul{
    max-width: 41rem;
    min-width: 26rem;
}
.page-top .sec-message .worries_box ul+ul{ margin-left: 5rem;}
.ipad .page-top .sec-message .worries_box ul+ul{ margin-left: 4rem;}
.page-top .sec-message .worries_box ul li{
    position: relative;
    font-size: 1.5rem;
    line-height: calc(24 / 15);
    color: #ae4952;
    padding-left: 3.2rem;
    box-sizing: border-box;
}
.page-top .sec-message .worries_box ul li+li{ margin-top: 18px;}

.page-top .sec-message .worries_box ul li:before,
.page-top .sec-message .worries_box ul li:after{
    position: absolute;
    left: 0;
    top: 4px;
    display: block;
    content: '';
}
.page-top .sec-message .worries_box ul li:before{
    box-sizing: border-box;
    width: 1.8rem;
    height: 1.8rem;
    border: 1px solid #c23535;
    -webkit-border-radius: 50%;
    border-radius: 50%;
}
.page-top .sec-message .worries_box ul li:after{
    top: 1rem;
    left: .6rem;
    width: .5rem;
    height: .5rem;
    border-top: 1px solid #c23535;
    border-right: 1px solid #c23535;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.page-top .sec-message .message_box{
    justify-content: space-between;
    flex-direction: row-reverse;
}
.page-top .sec-message .message_box .txt{
    width: 59%;
}
.page-top .sec-message .message_box .txt .box-ttl_wrap{
    display: flex;
    flex-direction: column;
    margin-bottom: 55px;
}
.page-top .sec-message .message_box .txt .box-ttl{
    order: 2;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: calc(38 / 24);
    color: #ae4952;
    letter-spacing: .1em;
}
.page-top .sec-message .message_box .txt .box-ttl_wrap .sub{
    order: 1;
    font-size: 1.6rem;
    line-height: calc(48 / 16);
    letter-spacing: .1em;
    margin-bottom: 25px;
    color: #424242;
}
.page-top .sec-message .message_box .txt p{
    font-size: 1.5rem;
    line-height: calc(26 / 15);
    letter-spacing: .1em;
    color: #737373;
}
.page-top .sec-message .message_box .txt p+p{ margin-top: 1.7rem;}

.page-top .sec-message .message_box .prof{
    width: 30%;
    max-width: 265px;
}
.page-top .sec-message .message_box .prof .prof-img{
    width: 100%;
    max-width: 181px;
    margin: 0 auto 22px auto;
}
.page-top .sec-message .message_box .prof .name{
    font-size: 1.2rem;
    letter-spacing: .1em;
    text-align: center;
    margin-bottom: 35px;
}
.page-top .sec-message .message_box .prof .name span{
    font-size: 1.6rem;
    line-height: calc(22 / 16);
    margin-left: 15px;
}
.page-top .sec-message .message_box .prof .prof-txt{
    font-size: 1.3rem;
    line-height: calc(23 / 13);
    color: #737373;
}
.page-top .sec-message .message_box .prof .btn_wrap{
    margin: 30px auto 0 auto;
}
.page-top .sec-message .message_box .prof .btn{
    padding: 19px 10px;
}
.page-top .sec-message .column_box{
    margin: 100px auto 0 auto;
    max-width: 890px;
    border: 1px solid #ae4952;
    border-radius: 10px;
    padding: 0 2.5rem 2rem 2.5rem;
    box-sizing: border-box;
}
.page-top .sec-message .column_box .box-ttl{
    margin-top: -30px;
    text-align: center;
    font-size: 2.0rem;
    line-height: calc(38 / 20);
    font-weight: 700;
    color: #ae4952;
    letter-spacing: .05em;
}
.page-top .sec-message .column_box .box-ttl span{
    display: inline-block;
    background: #f6f6f5;
    padding: 10px 20px;
    box-sizing: border-box;
}
.page-top .sec-message .column_box .column_list{
    margin-top: 25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.page-top .sec-message .column_box .column_list li{
    position: relative;
    width: 48%;
    max-width: 392px;
    border-bottom: 1px dotted #c27065;
    box-sizing: border-box;
    margin-bottom: 25px;
    padding-bottom: 14px;
}
.page-top .sec-message .column_box li:nth-last-of-type(1),
.page-top .sec-message .column_box li:nth-last-of-type(2){ border-bottom: none; margin-bottom: 0;}

.page-top .sec-message .column_box .column_list li a{
    position: relative;
    display: block;
    font-size: 1.5rem;
    line-height: calc(48 / 15);
    font-weight: 700;
    color: #ae4952;
    letter-spacing: .05em;
    padding-right: 2rem;
    box-sizing: border-box;
}
.ipad .page-top .sec-message .column_box .column_list li a{ font-size: 1.4rem;}

.page-top .sec-message .column_box .column_list li a:after{
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: '';
    background: url("../img/common/arrow.svg") no-repeat center center;
    background-size: 100% auto;
    width: 13px;
    height: 5px;
    transition: .4s;
}
.page-top .sec-message .column_box .column_list li a:hover:after{
    right: 5px;
}
.page-top .sec-message .column_box li span{ position: relative;}
.page-top .sec-message .column_box li span:before{
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
    content: '';
    background-size: 100% auto !important;
    width: 5rem;
    height: 5rem;
}
.ipad .page-top .sec-message .column_box li span:before{
    width: 4rem;
    height: 4rem;
}


.page-top .sec-message .column_box li:nth-of-type(1) span:before{ background: url("../img/top/ico01_column.png") no-repeat center center;}
.page-top .sec-message .column_box li:nth-of-type(2) span:before{ background: url("../img/top/ico02_column.png") no-repeat center center;}
.page-top .sec-message .column_box li:nth-of-type(3) span:before{ background: url("../img/top/ico03_column.png") no-repeat center center;}
.page-top .sec-message .column_box li:nth-of-type(4) span:before{ background: url("../img/top/ico04_column.png") no-repeat center center;}

@media screen and (max-width: 767px) {
    .page-top .sec-message{
        padding:0 0 13.867vw 0;
    }
    .page-top .sec-message:before{
        top: -12vw;
        background: url("../img/top/bg_gray_sp.svg") no-repeat center top;
        background-size: 100% auto;
        height: 12vw;
    }
    .page-top .sec-message .ttl-ico:before{
        width: 6vw;
        height: 16vw;
    }
    .page-top .sec-message .white_box{
        padding: 8vw 4.667vw;
    }
    .page-top .sec-message .worries_box{
        margin: 8vw auto 12vw auto;
        display: block;
        padding-left: 4.667vw;
    }
    .page-top .sec-message .worries_box ul+ul{ margin-left: 0; margin-top: 3.733vw}
    .page-top .sec-message .worries_box ul li{
        font-size: 3.467vw;
        line-height: calc(23 / 13);
        padding-left: 7vw;
    }
    .page-top .sec-message .worries_box ul li+li{ margin-top: 3.733vw;}

    .page-top .sec-message .worries_box ul li:before,
    .page-top .sec-message .worries_box ul li:after{
        top: 1vw;
    }
    .page-top .sec-message .worries_box ul li:before{
        width: 4vw;
        height: 4vw;
    }
    .page-top .sec-message .worries_box ul li:after{
        top: 2.4vw;
        left: 1.4vw;
        width: 1.0vw;
        height: 1.0vw;
    }
    .page-top .sec-message .message_box{
        display: block;
    }
    .page-top .sec-message .message_box .txt{
        width: 100%;
    }
    .page-top .sec-message .message_box .txt .box-ttl_wrap{
        align-items: center;
        margin-bottom: 9.333vw;
    }
    .page-top .sec-message .message_box .txt .box-ttl{
        text-align: center;
        font-size: 4.433vw;
        line-height: calc(25 / 17);
        letter-spacing: .15em;
    }
    .page-top .sec-message .message_box .txt .box-ttl_wrap .sub{
        font-size: 3.2vw;
        margin-bottom: 4vw;
    }
    .page-top .sec-message .message_box .txt p{
        font-size: 3.733vw;
        line-height: calc(24 / 14);
    }
    .page-top .sec-message .message_box .txt p+p{ margin-top: 4.8vw;}

    .page-top .sec-message .message_box .prof{
        margin-top: 13.333vw;
        width: 100%;
        max-width: inherit;
    }
    .page-top .sec-message .message_box .prof .prof-img{
        width: 70%;
        max-width: inherit;
        margin: 0 auto 5.333vw auto;
    }
    .page-top .sec-message .message_box .prof .name{
        font-size: 3.2vw;
        margin-bottom: 4.8vw;
    }
    .page-top .sec-message .message_box .prof .name span{
        font-size: 4.267vw;
        margin-left: 15px;
    }
    .page-top .sec-message .message_box .prof .prof-txt{
        font-size: 3.467vw;
        line-height: calc(25 / 13);
    }
    .page-top .sec-message .message_box .prof .btn_wrap{
        margin: 8vw auto 0 auto;
    }
    .page-top .sec-message .message_box .prof .btn{
        width: 78%;
        padding: 14px 10px;
        margin: 0 auto;
    }
    .page-top .sec-message .column_box{
        margin: 20.2vw -4% 0 -4%;
        max-width: inherit;
        padding: 0 4vw 1vw 4vw;
    }
    .page-top .sec-message .column_box .box-ttl{
        margin-top: -9vw;
        font-size: 4.267vw;
        line-height: calc(25 / 16);
        letter-spacing: .15em;
    }
    .page-top .sec-message .column_box .box-ttl span{
        padding: 10px;
    }
    .page-top .sec-message .column_box .column_list{
        margin-top: 4vw;
        display: block;
    }
    .page-top .sec-message .column_box .column_list li{
        width: 100%;
        max-width: inherit;
        margin-bottom: 6vw;
        padding: 0 1vw 6vw 3vw;
    }
    .page-top .sec-message .column_box li:nth-last-of-type(2){
        border-bottom: 1px dotted #c27065;
        margin-bottom: 6vw;
    }
    .page-top .sec-message .column_box li:nth-last-of-type(1){ padding-bottom: 0;}
    .page-top .sec-message .column_box .column_list li a{
        font-size: 3.467vw;
        line-height: calc(19 / 13);
        letter-spacing: .05em;
        padding: 0 20px 0 0;
        padding-right: 24px;
    }
    .page-top .sec-message .column_box .column_list li a:after{
        right: 8px;
        width: 13px;
        height: 5px;
    }
    .page-top .sec-message .column_box .column_list li a:hover:after{
        right: 0;
    }
    .page-top .sec-message .column_box li span{
        display: flex;
        align-items: center;
    }
    .page-top .sec-message .column_box li span:before{
        position: relative;
        left: 0;
        top: 0;
        display: block;
        margin-right: 3.2vw;
        width: 9.333vw;
        height: 9.333vw;
    }

}

.img_fixed{
    width: 100%;
    overflow: hidden;
}
.img_fixed img{
     width: 100%;
}

.img__attachment.pc{
    position: relative;
    min-height: 100%;
    height: 556px;
    background-image: url("../img/top/img_fixed_pc.jpg");
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
}

.ipad .img__attachment.pc,
.mobile .img__attachment.pc{ display: none !important;}
.ipad .img__attachment.sp,
.mobile .img__attachment.sp{ display: block !important;}

@media screen and (max-width: 767px) {
    .img_fixed{
      height: 65vw;
    }
}

/* sec-price */
.page-top .sec-price{
    padding: 75px 0 180px 0;
    box-sizing: border-box;
}
.page-top .sec-price .ttl-ico{ margin-bottom: 90px;}
.page-top .sec-price .ttl-ico:before{
    background: url("../img/top/icoTtl_price.svg") no-repeat center center;
    width: 42px;
    height: 50px;
}
.page-top .sec-price .price_wrap{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
	max-width: 900px;
margin: auto;
}
.page-top .sec-price .price_wrap .price-box{
    width: 45%;
    max-width: 453px;
    border: 1px solid #dadbdb;
    padding-bottom: 40px;
    border-radius: 5px;
    box-sizing: border-box;
}
.page-top .sec-price .price-box .img{
    position: relative;
}
.page-top .sec-price .price-box .img .circle{
    position: absolute;
    left: -30px;
    top: -38px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    color: #FFF;
    font-size: 1.4rem;
font-weight: 500 !important;
    line-height: calc(22 / 18);
    letter-spacing: .2em;
    width: 8.3rem;
    height: 8.6rem;
    border-radius: 100%;
    box-sizing: border-box;
    z-index: 2;
}
.page-top .sec-price .price-box.-first .img .circle{ background: #ae4952;}
.page-top .sec-price .price-box.-second .img .circle{ background: #65806c;}

.page-top .sec-price .price-box .img img{
    position: relative;
    z-index: 1;
}
.page-top .sec-price .price-box .txt{
    padding-top: 15px;
    box-sizing: border-box;
}
.page-top .sec-price .price-box .box-ttl{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
}
.page-top .sec-price .price-box .box-ttl .title{
    order: 2;
    width: 100%;
    max-width: 254px;
    margin: 0 auto;
    text-align: center;
    font-size: 2.4rem;
    line-height: calc(38 / 24);
    font-weight: 700;
    letter-spacing: .15em;
    padding-top: 5px;
    box-sizing: border-box;
}
.page-top .sec-price .price-box.-first .box-ttl .title{
    color: #ae4952;
    border-top: 1px solid #c77f72;
}
.page-top .sec-price .price-box.-second .box-ttl .title{
    color: #65806c;
    border-top: 1px solid #65806c;
}

.page-top .sec-price .price-box .box-ttl .sub{
    order: 1;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: calc(42 / 14);
    letter-spacing: .1em;
}

.page-top .sec-price .price-box .price-txt{
    display: flex;
    justify-content: center;
    align-items: center;
}
.page-top .sec-price .price-box .price-txt .text01{
    text-align: center;
    color: #231815;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .1em;
    margin-right: 22px;
}
.page-top .sec-price .price-box .price-txt .first_txt{
    display: block;
    text-align: center;
    font-size: 1.1rem;
    line-height: calc(19 / 11);
    font-weight: 600;
    letter-spacing: .2em;
}
.page-top .sec-price .price-box .price-txt .strikethrough{
    text-decoration: line-through;
}
.page-top .sec-price .price-box .price-txt .text02{
    text-align: center;
    color: #231815;
    font-size: 2.6rem;
    font-weight: 600;
    letter-spacing: .1em;
}
.page-top .sec-price .price-box .price-txt .yen{ font-size: 1.9rem;}
.page-top .sec-price .price-box .price-txt .text02 .tax{
    display: block;
    text-align: center;
    font-size: 1.2rem;
    line-height: calc(26 / 12);
    letter-spacing: .05em;
}
.page-top .sec-price .price-box .txt .btn_wrap{
    margin: 30px auto 0 auto;
}
.page-top .sec-price .price-box .txt .btn{
    max-width: 312px;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .page-top .sec-price{
        padding: 8vw 0 21.333vw 0;
    }
    .page-top .sec-price .ttl-ico{ margin-bottom: 8vw;}
    .page-top .sec-price .ttl-ico:before{
        width: 7.2vw;
        height: 10vw;
    }
    .page-top .sec-price .price_wrap{
        display: block;
    }
    .page-top .sec-price .price_wrap .price-box{
        width: 100%;
        max-width: inherit;
        padding-bottom: 8vw;
    }
    .page-top .sec-price .price_wrap .price-box+.price-box{ margin-top: 14.133vw;}

    .page-top .sec-price .price-box .img .circle{
        left: -2.6vw;
        top: -7.2vw;
        font-size: 2.933vw;
        line-height: calc(14 / 11);
        letter-spacing: .2em;
        width: 14.4vw;
        height: 14.4vw;
    }
    .page-top .sec-price .price-box .txt{
        padding-top: 4vw;
        box-sizing: border-box;
    }
    .page-top .sec-price .price-box .box-ttl{
        margin-bottom: 3.467vw;
    }
    .page-top .sec-price .price-box .box-ttl .title{
        max-width: 51.467vw;
        font-size: 4.533vw;
        line-height: calc(29 / 17);
    }

    .page-top .sec-price .price-box .box-ttl .sub{
        font-size: 2.933vw;
        line-height: calc(33 / 11);
    }
    .page-top .sec-price .price-box .price-txt .text01{
        font-size: 3.2vw;
        letter-spacing: .15em;
        margin-right: 4.267vw;
    }
    .page-top .sec-price .price-box .price-txt .first_txt{
        font-size: 2.4vw;
        line-height: calc(14 / 8);
        letter-spacing: .2em;
    }
    .page-top .sec-price .price-box .price-txt .text02{
        font-size: 5.333vw;
    }
    .page-top .sec-price .price-box .price-txt .yen{ font-size: 3.733vw;}
    .page-top .sec-price .price-box .price-txt .text02 .tax{
        font-size: 2.667vw;
        line-height: calc(19 / 10);
    }
    .page-top .sec-price .price-box .txt .btn_wrap{
        margin: 7.2vw auto 0 auto;
    }
    .page-top .sec-price .price-box .txt .btn{
        width: 78%;
        max-width: inherit;
        margin: 0 auto;
        padding: 14px 10px;
    }

}

/* sec-reason */
.page-top .sec-reason{
    position: relative;
    padding:10px 0 140px 0;
    background: #f1e5e1;
    box-sizing: border-box;
}
.page-top .sec-reason:before{
    position: absolute;
    top: -42px;
    display: block;
    content: '';
    background: url("../img/top/bg_pink.svg") no-repeat center top;
    background-size: 100% auto;
    width: 100%;
    height: 42px;
    z-index: 1;
}
.page-top .sec-reason .ttl-ico{ margin-bottom: 65px;}
.page-top .sec-reason .ttl-ico:before{
    background: url("../img/top/icoTtl_reason.svg") no-repeat center center;
    width: 115px;
    height: 61px;
}
.page-top .sec-reason .ttl-ico .sub-ttl{ letter-spacing: .2em;}
.page-top .sec-reason .reason_box{
    justify-content: space-between;
    align-items: flex-start;
}
.page-top .sec-reason .reason_box+.reason_box{ margin-top: 140px;}

.page-top .sec-reason .reason_box.-reverse{ flex-direction: row-reverse;}

.page-top .sec-reason .reason_box .box-img{
    position: relative;
    width: 46%;
    max-width: 452px;
}
.page-top .sec-reason .reason_box .box-img:after{
    position: absolute;
    left: -36px;
    bottom: -36px;
    display: block;
    content: '';
    background: url("../img/top/bg-img.png") repeat left top;
    width: 590px;
    height: 330px;
    box-sizing: border-box;
    z-index: 1;
}
.page-top .sec-reason .reason_box.-reverse .box-img:after{
    left: auto;
    right: -36px;
}
.page-top .sec-reason .reason_box .box-img img{
    position: relative;
    z-index: 2;
}
.page-top .sec-reason .reason_box .box-txt{
    position: relative;
    width: 50%;
    padding: 0 50px 0 0;
    box-sizing: border-box;
    z-index: 2;
}
.page-top .sec-reason .reason_box.-reverse .box-txt{ padding: 0 0 0 25px;}
.page-top .sec-reason .reason_box .box-txt .box-ttl{
    margin-bottom: 24px;
}
.page-top .sec-reason .reason_box .box-ttl .num{
    position: relative;
    font-size: 4rem;
    line-height: calc(63 / 40);
    color: #ae4952;
    margin-bottom: 14px;
}
.page-top .sec-reason .reason_box .box-ttl .num:before{
    position: relative;
    display: block;
    content: '';
    width: 34px;
    height: 1px;
    background: #ae4952;
}
.page-top .sec-reason .reason_box .box-ttl .title{
    font-size: 1.8rem;
    color: #ae4952;
    font-weight: 700;
    letter-spacing: .2em;
}
.page-top .sec-reason .reason_box .box-ttl .title .strong{
    font-size: 2.4rem;
    line-height: calc(44 / 24);
}
.page-top .sec-reason .reason_box .box-ttl .title .strong02{ font-size: 1.8rem;}
.page-top .sec-reason .reason_box .box-txt p{
    font-size: 1.5rem;
    line-height: calc(28 / 15);
    letter-spacing: .1em;
}

@media screen and (max-width: 767px) {
    .page-top .sec-reason{
        padding:0 0 25.267vw 0;
    }
    .page-top .sec-reason:before{
        top: -12vw;
        background: url("../img/top/bg_pink_sp.svg") no-repeat center top;
        background-size: 100% auto;
        height: 12vw;
    }
    .page-top .sec-reason .wrap{
        width: 100%;
    }
    .page-top .sec-reason .ttl-ico{ margin-bottom: 12.267vw;}
    .page-top .sec-reason .ttl-ico:before{
        width: 20.267vw;
        height: 15vw;
    }
    .page-top .sec-reason .reason_box{
        display: block;
    }
    .page-top .sec-reason .reason_box+.reason_box{ margin-top: 10.667vw;}
    .page-top .sec-reason .reason_box .box-img{
        width: 92%;
        max-width: inherit;
        margin: 0 0 0 auto;
    }
    .page-top .sec-reason .reason_box .box-img:after{
        left: -5%;
        bottom: -5%;
        background: url("../img/top/bg-img.png") repeat left top;
        width: 105%;
        height: 90%;
    }
    .page-top .sec-reason .reason_box.-reverse .box-img{
        margin: 0 auto 0 0;
    }
    .page-top .sec-reason .reason_box.-reverse .box-img:after{
        left: auto;
        right: -5%;
    }
    .page-top .sec-reason .reason_box .box-txt{
        width: 100%;
        padding: 3.2vw 5% 0 5%;
    }
    .page-top .sec-reason .reason_box.-reverse .box-txt{ padding: 3.2vw 5% 0 5%;}
    .page-top .sec-reason .reason_box .box-txt .box-ttl{
        margin-bottom: 3.733vw;
    }
    .page-top .sec-reason .reason_box .box-ttl .num{
        font-size: 5.6vw;
        margin-bottom: 0;
    }
    .page-top .sec-reason .reason_box .box-ttl .num:before{
        width: 5.333vw;
    }
    .page-top .sec-reason .reason_box .box-ttl .title{
        font-size: 3.733vw;
        letter-spacing: .15em;
    }
    .page-top .sec-reason .reason_box .box-ttl .title .strong{
        font-size: 4.533vw;
    }
    .page-top .sec-reason .reason_box .box-ttl .title .strong02{ font-size: 3.733vw;}
    .page-top .sec-reason .reason_box .box-txt p{
        font-size: 3.467vw;
        line-height: calc(23 / 13);
    }

}

/* sec-voice */
.page-top .sec-voice{
    padding: 72px 0 57px 0;
}
.page-top .sec-voice .ttl-ico{ margin-bottom: 30px;}
.page-top .sec-voice .ttl-ico:before{
    background: url("../img/top/icoTtl_voice.svg") no-repeat center center;
    width: 90px;
    height: 99px;
}
.page-top .sec-voice .lead-txt{
    text-align: center;
    font-size: 1.5rem;
    line-height: calc(26 / 15);
    letter-spacing: .1em;
}

.page-top .sec-voice .slider_voice{
    margin: 90px auto 60px auto;
}
.page-top .sec-voice .slick-img {
	float: left;
	max-width: 632px;
}

.page-top .sec-voice .slick-img .img-inner {
    display: block;
	overflow: hidden;
	position: relative;
	transform-origin: center center;
    height: 422px;
}
.page-top .sec-voice .slick-img p{
    transform: translateY(-35px);
    margin: 20px auto 0 auto;
    text-align: center;
    font-size: 1.6rem;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 700;
  -webkit-transition: 0.6s 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.6s 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.page-top .sec-voice .slick-slide img {
  -webkit-transition: 0.6s 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.6s 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: scale( .85 );
}
.page-top .sec-voice .is--active img{
  transform: scale( 1 );
  -webkit-transition: 0.6s 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.6s 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.page-top .sec-voice .is--active p{
  transform: translateY(0);
}
.page-top .sec-voice .btn_wrap .btn{
    max-width: 330px;
    margin: 0 auto;
    padding: 20px 10px;
}

@media screen and (max-width: 767px) {
    .page-top .sec-voice{
        padding: 9.6vw 0 12.533vw 0;
    }
    .page-top .sec-voice .ttl-ico{ margin-bottom: 6.667vw;}
    .page-top .sec-voice .ttl-ico:before{
        width: 14vw;
        height: 15vw;
    }
    .page-top .sec-voice .lead-txt{
        font-size: 3.733vw;
        line-height: calc(26 / 14);
    }

    .page-top .sec-voice .slider_voice{
        margin: 13.333vw auto 10vw auto;
    }
    .page-top .sec-voice .slick-img {
        max-width: 78vw;
    }
    .page-top .sec-voice .slick-img .img-inner {
        height: 52vw;
    }
    .page-top .sec-voice .slick-img p{
        transform: translateY(-4.4vw);
        margin: 4.8vw auto 0 auto;
        font-size: 3.2vw;
    }

    .page-top .sec-voice .is--active p{
      transform: translateY(0);
    }
    .page-top .sec-voice .btn_wrap .btn{
        width: 65.5%;
        max-width: inherit;
        padding: 14px 10px;
    }

}

/*sec-news*/
.page-top .sec-news{
    background: #f6f6f5;
    padding-top: 90px;
    box-sizing: border-box;
}
.page-top .sec-news .ttl-ico{ margin-bottom: 65px;}
.page-top .sec-news .ttl-ico:before{
    background: url("../img/top/icoTtl_news.svg") no-repeat center center;
    width: 36px;
    height: 43px;
}

.page-top .sec-news .ttl-ico .sub-ttl{ letter-spacing: .2em;}
.page-top .sec-news .post_wrap.-news{
    width: 100%;
    max-width: 746px;
    margin: 0 auto;
}
.page-top .sec-news .post_wrap.-news .post{
    border-top: 1px solid #ae4952;
    box-sizing: border-box;
}
.page-top .sec-news .post_wrap.-news .post:last-of-type{ border-bottom: 1px solid #ae4952;}

.page-top .sec-news .post_wrap.-news .post a{
    position: relative;
    display: flex;
    padding: 30px 0;
    box-sizing: border-box;
}
.page-top .sec-news .post_wrap.-news .post a:after{
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: '';
    background: url("../img/common/arrow.svg") no-repeat center center;
    background-size: 100% auto;
    width: 13px;
    height: 5px;
    transition: .4s;
}
.page-top .sec-news .post_wrap.-news .post a:hover:after{
    right: 10px;
}
.page-top .sec-news .post_wrap.-news .post-date{
    width: 13rem;
    font-size: 1.5rem;
    line-height: calc(26 / 15);
    letter-spacing: .1em;
    color: #ae4952;
    padding-left: 28px;
    box-sizing: border-box;
}
.page-top .sec-news .post_wrap.-news .post-ttl{
    width: calc(100% - 13rem);
    font-size: 1.5rem;
    line-height: calc(26 / 15);
    letter-spacing: .1em;
    padding: 0 50px 0 40px;
    box-sizing: border-box;
}
.page-top .sec-news .review_wrap{
    margin: 75px auto 0 auto;
    width: 100%;
    max-width: 470px;
}
.page-top .sec-news .review_wrap .shinqcompass_review_widget{
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    width: 99%;
    border: solid 1px #E0DFDF;
    background: #fff;
    padding: 5px 10px;
}
.page-top .sec-news .loopSlide_wrap{
    width: 100%;
    margin: 115px 0 0 0;
    overflow: hidden;
}
.page-top .sec-news .loopSlide {
    position: relative;
    display: flex;
    width: 100vw;
    overflow: hidden;
}
.page-top .sec-news .loopSlide ul {
        padding: 0;

        display: flex;
        flex-shrink: 0;
}
.page-top .sec-news .loopSlide ul:first-child {
            animation: slide1 140s -70s linear infinite;
        }

.page-top .sec-news .loopSlide ul:last-child {
            animation: slide2 140s linear infinite;
        }

.page-top .sec-news .loopSlide li {
            display: inline-block;
    width: auto;
    height: 430px;

            margin-right: 3px;
            list-style: none;
            text-align: center;
}
.page-top .sec-news .loopSlide li img {
                display: block;
                width: auto;
                height: 100%;
}
@keyframes slide1 {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes slide2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}


@media screen and (max-width: 767px) {
    .page-top .sec-news{
        padding-top: 10.667vw;
    }
    .page-top .sec-news .ttl-ico{ margin-bottom: 8.533vw;}
    .page-top .sec-news .ttl-ico:before{
        width: 7.467vw;
        height: 9vw;
    }
    .page-top .sec-news .post_wrap.-news{
        width: 100%;
        max-width: inherit;
    }
    .page-top .sec-news .post_wrap.-news .post{
        border-top: 1px solid #ae4952;
        box-sizing: border-box;
    }
    .page-top .sec-news .post_wrap.-news .post:last-of-type{ border-bottom: 1px solid #ae4952;}

    .page-top .sec-news .post_wrap.-news .post a{
        display: block;
        padding: 3.733vw 9vw 3.733vw 0;
    }
    .page-top .sec-news .post_wrap.-news .post a:after{
        right: 15px;
        width: 4.813vw;
        height: 2.139vw;
    }
    .page-top .sec-news .post_wrap.-news .post a:hover:after{
        right: 5px;
    }
    .page-top .sec-news .post_wrap.-news .post-date{
        width: 100%;
        font-size: 2.667vw;
        line-height: calc(17 / 10);
        padding-left: 10px;
        color: #424242;
    }
    .page-top .sec-news .post_wrap.-news .post-ttl{
        width: 100%;
        font-size: 2.667vw;
        line-height: calc(17 / 10);
        padding: 0 0 0 10px;
        color: #ae4952;
    }
    .page-top .sec-news .btn_wrap{
        margin-top: 10.133vw;
    }
    .page-top .sec-news .btn_wrap .btn{
        width: 78%;
        margin: 0 auto;
        padding: 14px 10px;
    }

    .page-top .sec-news .review_wrap{
        margin: 13.333vw auto 0 auto;
        width: 100%;
        max-width: inherit;
        height: 119.2vw;
    }
    .page-top .sec-news .review_wrap .shinqcompass_review_widget{
        padding-bottom: 25px;
    }
    .page-top .sec-news .review_wrap img{
        max-width: 100%;
        width: auto;
    }

    .page-top .sec-news .loopSlide_wrap{
       margin: 12vw 0 0 0;
        background: #FFF;
    }
    .page-top .sec-news .loopSlide li {
        height: 280px;

    }

}
.f_btm .info_wrap .box-info.top_btm{
    padding-top: 0;
}
.f_btm .info_wrap .box-info.top_btm table tr.border {
    border-bottom: 1px solid #d2d3d3;
}

/* ------------------------------
    page-menu
------------------------------ */
/* sec01 */
.page-menu .sec01{
    position: relative;
    z-index: 4;
}
.page-menu .sec01 .flex-box{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.page-menu .sec01 .flex-box .message_wrap{
    width: 58%;
}
.page-menu .sec01 .flex-box .message_wrap .ttl{
    font-size: 2.4rem;
    font-weight: 700;
    line-height: calc(47 / 24);
    letter-spacing: .1em;
    color: #ae4952;
    margin-bottom: 40px;
}
.page-menu .sec01 .flex-box .message_wrap p{
    font-size: 1.5rem;
    line-height: calc(38 / 15);
    letter-spacing: .1em;
    padding-right: 4%;
    box-sizing: border-box;
}
.page-menu .sec01 .flex-box .message_wrap p+p{ margin-top: 45px;}

.page-menu .sec01 .flex-box .features_wrap{
    width: 37%;
    max-width: 362px;
    padding-top: 34px;
    box-sizing: border-box;
}
.page-menu .sec01 .flex-box .features_wrap .ttl{
    text-align: center;
    margin-bottom: 34px;
}
.page-menu .sec01 .flex-box .features_wrap .ttl span{
    display: inline-block;
    text-align: center;
    font-size: 2.0rem;
    line-height: calc(48 / 20);
    letter-spacing: .2em;
    color: #ae4952;
    text-decoration: underline;
}

.page-menu .sec01 .flex-box .features_wrap .gray_box{
    background: #f3f3f3;
    padding: 40px 25px 35px 25px;
    border-radius: 5px;
    box-sizing: border-box;
}
.page-menu .sec01 .flex-box .features_wrap .gray_box dl+dl{ margin-top: 25px;}
.page-menu .sec01 .flex-box .features_wrap .gray_box dt,
.page-menu .sec01 .flex-box .features_wrap .gray_box dd{
    font-size: 1.4rem;
    line-height: calc(27 / 14);
    letter-spacing: .2em;
    color: #ae4952;
}
.page-menu .sec01 .flex-box .features_wrap .gray_box dt{
    font-weight: 700;
}
.page-menu .sec01 .flex-box .features_wrap .gray_box dd{
    font-weight: 400;
}

.page-menu .sec01 .kids_space_box{
    width: 86%;
    max-width: 1120px;
    margin: 100px auto 0 auto;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
}

.page-menu .sec01 .kids_space_box .img{
    width: 56%;
    max-width: 621px;
}
.page-menu .sec01 .kids_space_box .txt{
    width: 44%;
    padding-left: 45px;
    box-sizing: border-box;
}
.page-menu .sec01 .kids_space_box .txt h3{
    margin-top: -12px;
    font-size: 1.8rem;
    line-height: calc(39 / 18);
    letter-spacing: .2em;
    color: #ae4952;
    font-weight: 600;
    margin-bottom: 20px;
}
.page-menu .sec01 .kids_space_box .txt p{
    font-size: 1.5rem;
    line-height: calc(38 / 15);
    letter-spacing: .1em;
}
.page-menu .sec01 .kids_space_box .txt .deco1{
    margin: 63px 0 0 auto;
    text-align: right;
    max-width: 163px;
}

.page-menu .sec01 .kigae_box{
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
    padding: 32px 44px;
    background: rgba(238,223,218,.4);
    border-radius: 10px;
    box-sizing: border-box;
}
.page-menu .sec01 .kigae_box.wrap{ max-width: 1004px;}
.page-menu .sec01 .kigae_box .txt{
    width: 71%;
}
.page-menu .sec01 .kigae_box .txt h3{ margin-bottom: 16px;}
.page-menu .sec01 .kigae_box .txt h3 span{
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: calc(27 / 16);
    letter-spacing: .2em;
    color: #ae4952;
    text-decoration: underline;
}
.page-menu .sec01 .kigae_box .txt p{
    font-size: 1.3rem;
    line-height: calc(25 / 13);
    letter-spacing: .05em;
    color: #ae4952;
}
.page-menu .sec01 .kigae_box .img{
    width: 23%;
    max-width: 205px;
}

.page-menu .sec01 .deco2{
    width: 96%;
    max-width: 1800px;
    margin: 95px auto 0 auto;
}
.page-menu .sec01 .deco2 img{
    width: 100%;
    height: auto;
}

@media screen and (max-width: 767px) {
    .page-menu .sec01 .flex-box{
        display: block;
    }
    .flex-box.wrap{ width: 86%;}
    .page-menu .sec01 .flex-box .message_wrap{
        width: 100%;
    }
    .page-menu .sec01 .flex-box .message_wrap .ttl{
        font-size: 4.545vw;
        line-height: calc(28 / 17);
        letter-spacing: .15em;
        margin-bottom: 6.684vw;
    }
    .page-menu .sec01 .flex-box .message_wrap p{
        font-size: 3.743vw;
        line-height: calc(25 / 14);
        padding-right: 0;
    }
    .page-menu .sec01 .flex-box .message_wrap p+p{ margin-top: 4.011vw;}

    .page-menu .sec01 .flex-box .features_wrap{
        width: 100%;
        max-width: inherit;
        margin-top: 12.032vw;
        padding-top: 0;
    }
    .page-menu .sec01 .flex-box .features_wrap .ttl{
        margin-bottom: 6.684vw;
    }
    .page-menu .sec01 .flex-box .features_wrap .ttl span{
        font-size: 4.278vw;
        line-height: calc(47 / 16);
    }

    .page-menu .sec01 .flex-box .features_wrap .gray_box{
        padding: 5vw 4.2vw;
    }
    .page-menu .sec01 .flex-box .features_wrap .gray_box dl+dl{ margin-top: 5.348vw;}
    .page-menu .sec01 .flex-box .features_wrap .gray_box dt,
    .page-menu .sec01 .flex-box .features_wrap .gray_box dd{
        font-size: 3.476vw;
        line-height: calc(27 / 14);
    }

    .page-menu .sec01 .flex-box .features_wrap .gray_box dd{
        font-size: 3.209vw;
        letter-spacing: .05em;
    }

    .page-menu .sec01 .kids_space_box{
        width: 86%;
        max-width: inherit;
        margin: 10.16vw auto 0 auto;
        display: block;
    }

    .page-menu .sec01 .kids_space_box .img{
        width: 100%;
        max-width: inherit;
    }
    .page-menu .sec01 .kids_space_box .txt{
        width: 100%;
        padding-left: 0;
        margin-top: 5.348vw;
        box-sizing: border-box;
    }
    .page-menu .sec01 .kids_space_box .txt h3{
        margin-top: 0;
        font-size: 4.545vw;
        line-height: calc(28 / 17);
        letter-spacing: .15em;
        margin-bottom: 5.348vw;
    }
    .page-menu .sec01 .kids_space_box .txt p{
        font-size: 3.743vw;
        line-height: calc(25 / 14);
    }
    .page-menu .sec01 .kids_space_box .txt .deco1{
        margin: 2.674vw 0 0 auto;
        width: 44%;
        max-width: 163px;
    }

    .page-menu .sec01 .kigae_box{
        margin-top: 6.684vw;
        display: flex;
        flex-direction: column;
        padding: 6.3vw;
    }
    .page-menu .sec01 .kigae_box.wrap{ max-width: inherit;}
    .page-menu .sec01 .kigae_box .txt{
        width: 100%;
        display: contents;
    }
    .page-menu .sec01 .kigae_box .txt h3{
        order: 1;
        margin-bottom: 4vw;
        text-align: center;
    }
    .page-menu .sec01 .kigae_box .txt h3 span{
        font-size: 4.011vw;
        line-height: calc(47 / 15);
    }
    .page-menu .sec01 .kigae_box .txt p{
        order: 3;
        margin-top: 4vw;
        font-size: 3.209vw;
        line-height: calc(24 / 12);
    }
    .page-menu .sec01 .kigae_box .img{
        order: 2;
        width: 100%;
        max-width: inherit;
    }

    .page-menu .sec01 .deco2{
        width: 96%;
        max-width: inherit;
        margin: 9.358vw auto 0 auto;
    }
}
/* sec02 */
.sec-line{ position: relative;}
.sec-line:before{
    position: relative;
    display: block;
    content: '';
    width: 1px;
    height: 98px;
    background: #eedfda;
    margin: 60px auto 23px auto;
}

.ttl_wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ttl_wrap .sec_ttl.heading-a{
    order: 2;
    text-align: center;
    font-size: 2.4rem;
    line-height: calc(47 / 24);
    letter-spacing: .1em;
    font-weight: 700;
    color: #ae4952;
}
.ttl_wrap .sub{
    order: 1;
    text-align: center;
    margin-bottom: 15px;
}
.ttl_wrap .sub span{
    position: relative;
    font-size: 1.4rem;
    line-height: calc(43 / 14);
    letter-spacing: .1em;
    font-weight: 700;
    color: #333233;
}
.ttl_wrap .sub span:after{
    position: relative;
    display: block;
    content: '';
    margin: 0 auto;
    width: 100%;
    height: 1px;
    background: #b96b5f;
}
.sec_ttl.heading-b{
    position: relative;
    font-size: 1.8rem;
    line-height: calc(47 / 18);
    letter-spacing: .1em;
    font-weight: 600;
    color: #ae4952;
    margin-bottom: 20px;
}
.sec_ttl.heading-b:before{
    position: relative;
    display: block;
    content: '';
    margin-bottom: 10px;
    width: 38px;
    height: 1px;
    background: #9d3541;
}

.page-menu .sec02 .circle_wrap{
    margin-top: 85px;
    margin-bottom: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.page-menu .sec02 .circle_wrap .circle+.circle{ margin-left: 54px;}
.page-menu .sec02 .circle_wrap .circle{ position: relative;}
.page-menu .sec02 .circle_wrap .circle .img{
    max-width: 118px;
    margin: 0 auto;
}
.page-menu .sec02 .circle_wrap .circle:not(:last-of-type):after{
    position: absolute;
    right: -36px;
    top: 50px;
    display: block;
    content: '';
    background: url("../img/menu/ico_plus.png") no-repeat center center;
    background-size: 100% auto;
    width: 17px;
    height: 16px;
}

.page-menu .sec02 .circle_wrap .circle p{
    text-align: center;
    font-size: 1.4rem;
    line-height: calc(22 / 14);
    letter-spacing: .1em;
    font-weight: 600;
    color: #ae4952;
}
.page-menu .sec02 .circle_wrap .circle p.img{
    text-align: center;
    margin-bottom: 14px;
}

.page-menu .sec02 .text{
    font-size: 1.5rem;
    line-height: calc(38 / 15);
    letter-spacing: .1em;
}
.page-menu .sec02 .mt20{ margin-top: 20px;}
.page-menu .sec02 .mt100{ margin-top: 100px;}

.page-menu .sec02 .price_wrap{
    margin: 100px 0 70px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.page-menu .sec02 .price_wrap p.first_txt{
    display: inline-block;
    margin-right: 37px;
    font-size: 1.2rem;
    letter-spacing: .1em;
    text-align: center;
    color: #FFF;
    line-height: 1;
    background: #9d3541;
    padding: 6px 12px 8px 12px;
    border-radius: 10px;
    box-sizing: border-box;
}

.page-menu .sec02 .price_wrap p.regular_price{
    color: #ae4952;
    font-size: 2.5rem;
    letter-spacing: .1em;
    line-height: 1.3;
    margin-right: 35px;
}
.page-menu .sec02 .price_wrap p.regular_price .txt{
    display: block;
    font-size: .9rem;
    letter-spacing: 0;
}
.page-menu .sec02 .price_wrap p.regular_price .yen{ font-size: 1.5rem;}
.page-menu .sec02 .price_wrap p.regular_price .strikethrough{
    position: relative;
}
.page-menu .sec02 .price_wrap p.regular_price .strikethrough:before{
    display: block;
    content: '';
    position: absolute;
    left: 0;
    top: 60%;
    transform: translateY(-50%);
    width: 100%;
    height: 1px;
    background: #ae4952;
}

.page-menu .sec02 .price_wrap p.special_price{
    text-align: center;
    color: #ae4952;
    font-size: 3.4rem;
    letter-spacing: .01em;
    line-height: 1.45;
}
.page-menu .sec02 .price_wrap p.special_price .yen{ font-size: 2.3rem;}
.page-menu .sec02 .price_wrap p.special_price .tax{
    display: block;
    font-size: 1.1rem;
    letter-spacing: .2em;
}

.page-menu .sec02 .price_list{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 19px 0 18px 0;
    border-top: 1px solid #d2d3d3;
    border-bottom: 1px solid #d2d3d3;
    box-sizing: border-box;
}
.page-menu .sec02 .price_list+.price_list{ border-top: none;}

.page-menu .sec02 .price_list .txt h4{
    font-size: 1.8rem;
    line-height: 1.2;
    color: #ae4952;
    letter-spacing: .1em;
}
.page-menu .sec02 .price_list .price{
    font-size: 2rem;
    line-height: 1;
    color: #5f5f60;
    letter-spacing: .2em;
    text-align: center;
}
.page-menu .sec02 .price_list .price .yen{
    font-size: 1.5rem;
    line-height: 1;
}
.page-menu .sec02 .price_list .price .tax{
    font-size: .9rem;
    line-height: calc(18 / 9);
    letter-spacing: .15em;
}

.page-menu .sec02 .card_wrap{
    margin-top: 40px;
}
.page-menu .sec02 .card_wrap p{
    text-align: center;
    font-size: 1.3rem;
    line-height: calc(31 / 13);
    letter-spacing: .1em;
}
.page-menu .sec02 .card_wrap .card{
    margin-top: 20px;
    text-align: center;
}

.page-menu .sec02 .deco{
    width: 100%;
    max-width: 1300px;
    margin: 85px auto 0 auto;
}
.page-menu .sec02 .deco img{
    width: 100%;
    height: auto;
}

@media screen and (max-width: 767px) {
    .sec-line:before{
        height: 16.578vw;
        margin: 9.626vw auto 6.15vw auto;
    }

    .page-menu .sec02 .wrap{ width: 86%;}
    .ttl_wrap .sec_ttl.heading-a{
        font-size: 4.545vw;
        line-height: calc(47 / 17);
    }
    .ttl_wrap .sub{
        margin-bottom: 2.5vw;
    }
    .ttl_wrap .sub span{
        font-size: 3.209vw;
        line-height: calc(43 / 12);
    }
    .ttl_wrap .sub span:after{
        position: relative;
        display: block;
        content: '';
        margin: 0 auto;
        width: 100%;
        height: 1px;
        background: #b96b5f;
    }
    .sec_ttl.heading-b{
        font-size: 4.011vw;
        line-height: calc(47 / 15);
        margin-bottom: 0;
    }
    .sec_ttl.heading-b:before{
        margin-bottom: 2vw;
        width: 7.219vw;
    }

    .page-menu .sec02 .circle_wrap{
        margin-top: 9.358vw;
        margin-bottom: 7.487vw;
    }
    .page-menu .sec02 .circle_wrap .circle+.circle{ margin-left: 9.893vw;}
    .page-menu .sec02 .circle_wrap .circle:not(:last-of-type):after{
        right: -7.5vw;
        top: 10vw;
    }

    .page-menu .sec02 .circle_wrap .circle p{
        font-size: 2.406vw;
        line-height: calc(15 / 9);
    }
    .page-menu .sec02 .circle_wrap .circle p.img{
        margin-bottom: 4vw;
    }

    .page-menu .sec02 .text{
        font-size: 3.743vw;
        line-height: calc(25 / 14);
    }
    .page-menu .sec02 .mt20{ margin-top: 8.021vw;}
    .page-menu .sec02 .mt100{ margin-top: 12.032vw;}

    .page-menu .sec02 .price_wrap{
        margin: 8.021vw 0 10.16vw 0;
    }
    .page-menu .sec02 .price_wrap p.first_txt{
        margin-right: 4.813vw;
        font-size: 2.406vw;
        padding: 5px 12px 6px 12px;
    }

    .page-menu .sec02 .price_wrap p.regular_price{
        font-size: 4.813vw;
        margin-right: 4.813vw;
    }
    .page-menu .sec02 .price_wrap p.regular_price .txt{
        font-size: 2.406vw;
    }
    .page-menu .sec02 .price_wrap p.regular_price .yen{ font-size: 3.209vw;}

    .page-menu .sec02 .price_wrap p.regular_price .strikethrough:before{
        top: 60%;
    }

    .page-menu .sec02 .price_wrap p.special_price{
        font-size: 5.882vw;
    }
    .page-menu .sec02 .price_wrap p.special_price .yen{ font-size: 4.278vw;}
    .page-menu .sec02 .price_wrap p.special_price .tax{
        font-size: 2.406vw;
        letter-spacing: .1em;
    }

    .page-menu .sec02 .price_list{
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        padding: 5.209vw 0;
    }

    .page-menu .sec02 .price_list:first-of-type{
        padding-bottom: 18vw;
    }
    .page-menu .sec02 .price_list+.price_list {
        border-bottom: none;
    }
    .page-menu .sec02 .price_list .text{
        position: absolute;
        left: 0;
        top: 16vw;
    }

    .page-menu .sec02 .price_list .txt h4{
        font-size: 3.743vw;
    }
    .page-menu .sec02 .price_list .price{
        font-size: 3.743vw;
    }
    .page-menu .sec02 .price_list .price .yen{
        font-size: 3.209vw;
    }
    .page-menu .sec02 .price_list .price .tax{
        font-size: 2.406vw;
    }

    .page-menu .sec02 .card_wrap{
        margin-top: 3vw;
    }
    .page-menu .sec02 .card_wrap p{
        text-align: left;
        font-size: 2.941vw;
        line-height: calc(21 / 11);
    }
    .page-menu .sec02 .card_wrap .card{
        width: 50%;
        max-width: 189px;
        margin: 8.021vw auto 0 auto;
    }

    .page-menu .sec02 .deco{
        display: none;
    }

}

/* ------------------------------
    page-voice
------------------------------ */
/*
voice-list
*/
.voice-list .sec01{
	margin: 0 0 80px;

}

.page-voice .page-title_wrap{
    padding-top: 51px;
    padding-bottom: 250px;
    margin-bottom: 80px;
}
.page-voice .page-title_wrap .page-title{
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}
.page-voice .page-title .title{
    order: 2;
}
.page-voice .page-title .title span:after{ display: none;}
.page-voice .page-title .name{
    order: 1;
    margin-bottom: 14px;
}
.page-voice .page-title .text{
    order: 3;
    margin-top: 20px;
}

.page-voice .page-title_wrap .bg-img{
    display: flex;
    align-items: flex-end;
}
.page-voice .page-title_wrap .load-anime.-left{
    width: 39%;
    max-width: 506px;

    top: auto;
    bottom: 34px;
}
.page-voice .page-title_wrap .load-anime.-right{
    width: 56%;
    max-width: 757px;
    top: auto;
    bottom: 0;
}

.page-voice .voice_detail{
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}
.page-voice .post-img{
    text-align: center;
    margin-bottom: 40px;
}

.page-voice .post-cnts{
    width: 84%;
    max-width: 720px;
    margin: 0 auto;
}
.page-voice .post-cnts p{
    font-size: 1.5rem;
    line-height: calc(26 / 15);
    letter-spacing: .1em;
    margin-bottom: 40px;
}
.page-voice .post-cnts .aligncenter{
    display:block;
    margin:0 auto;
}

.page-voice .post-cnts .alignright{
	float:right;
}

.page-voice .post-cnts .alignleft{
	float:left;
}

@media screen and (max-width: 767px) {
    .page-voice .page-title_wrap{
        padding-top: 2vw;
        padding-bottom: 10.16vw;
        margin-bottom: 0;
    }
    .page-voice .page-title_wrap .page-title{ margin-bottom: 0;}
    .page-voice .page-title .name{
        margin-bottom: 4.278vw;
    }
    .page-voice .page-title .text{
        margin-top: 4.278vw;
    }
    .page-voice .page-title_wrap .load-anime.-left{
        width: 29%;
        max-width: inherit;
        bottom: auto;
        top: 0;
    }
    .page-voice .page-title_wrap .load-anime.-right{
        width: 52%;
        max-width: inherit;
    }
    .page-voice .voice_detail{
        width: 100%;
        max-width: inherit;
        margin: 0 auto;
    }
    .page-voice .post-img{
        margin-bottom: 8.021vw;
    }
    .page-voice .post-cnts{
        width: 84%;
        max-width: inherit;
    }
    .page-voice .post-cnts p{
        font-size: 3.743vw;
        line-height: calc(24 / 14);
        margin-bottom: 8.021vw;
    }

}
/* sec-reviews */
.sec-reviews{
    margin-top: 60px;
    padding: 85px 0 80px 0;
    background: #f1e5e1;
    box-sizing: border-box;
}
.sec-reviews .whitebox{
    position: relative;
    margin-bottom: 132px;
    background: #FFF;
    border: 5px solid #f1dbd5;
    padding: 60px 90px 90px 90px;
    border-radius: 5px;
    box-sizing: border-box;
}
.sec-reviews .whitebox:after{
    position: absolute;
    left: 0;
    right: 0;
    bottom: -65px;
    display: block;
    content: '';
    margin: 0 auto;
    width: 295px;
    height: 1px;
    background: #ae4952;
}

.sec-reviews .whitebox .box-ttl{
    text-align: center;
    margin: 0 auto 20px auto;
}
.sec-reviews .whitebox .sub-ttl{
    text-align: center;
    font-size: 1.4rem;
    line-height: calc(26 / 14);
    font-weight: 700;
    color: #ae4952;
    margin-bottom: 45px;
}
.sec-reviews .comment-box{
    padding-bottom: 36px;
    margin-bottom: 36px;
    border-bottom: 1px solid #dedddb;
    box-sizing: border-box;
}
.sec-reviews .comment-box p{
    font-size: 1.4rem;
    line-height: calc(31 / 14);
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 500;
}

.sec-reviews .comment-box.-doctor{
    display: flex;
    justify-content: space-between;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
.sec-reviews .comment-box.-doctor p{ padding-top: 20px;}
.sec-reviews .comment-box.-doctor .doctor_img{
    text-align: center;
    width: 100%;
    max-width: 153px;
}
.sec-reviews .comment-box.-doctor .doctor_img img{}
.sec-reviews .comment-box.-doctor .doctor_img p{
    text-align: center;
    font-size: 1.2rem;
    line-height: calc(22 / 12);
    letter-spacing: .1em;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif !important;
}
.sec-reviews .comment-box.-doctor .doctor_img p .name{
    font-size: 1.6rem;
    line-height: calc(22 / 16);
    margin-left: 10px;
}

.post-voice{
    display: flex;
    justify-content: space-between;
    max-width: 800px;
    margin: 0 auto;
    width: 90%;
    background: #FFF;
    padding: 27px 35px;
    border: 1px solid #dadadb;
    border-radius: 10px;
    box-sizing: border-box;
}
.post-voice+.post-voice{ margin-top: 30px;}

.post-voice .img{
    width: 42%;
    max-width: 305px;
}
.post-voice .txt{
    width: 50%;
}
.post-voice .txt .box-ttl{
    font-size: 2.0rem;
    font-weight: 700;
    line-height: calc(31 / 20);
    letter-spacing: .15em;
    color: #ae4952;
    margin-bottom: 25px;
}
.post-voice .txt .box-txt{
    font-size: 1.3rem;
    line-height: 1.2;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 700;
}
.post-voice .txt .btn_wrap{
    margin-top: 35px;
}
.post-voice .txt .btn_wrap .btn{
    max-width: 230px;
    padding: 14px 10px 15px 10px;
}

.btn_wrap.to_list{
    margin-top: 70px;
}
.btn_wrap.to_list .btn{
    width: 100%;
    max-width: 330px;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .sec-reviews{
        margin-top: 2.674vw;
        padding: 12.834vw 0 10.695vw 0;
    }
    .sec-reviews .whitebox{
        margin-bottom: 26.738vw;
        border: 1px solid #f1dbd5;
        padding: 11.765vw 7.219vw;
        border-radius: 5px;
        box-sizing: border-box;
    }
    .sec-reviews .whitebox.inner{ width: 90%;}
    .sec-reviews .whitebox:after{
        bottom: -12.834vw;
        width: 29.679vw;
    }

    .sec-reviews .whitebox .box-ttl{
        width: 29.679vw;
        margin: 0 auto 4vw auto;
    }
    .sec-reviews .whitebox .sub-ttl{
        font-size: 3.476vw;
        line-height: calc(26 / 13);
        margin-bottom: 4vw;
    }
    .sec-reviews .comment-box{
        padding-bottom: 6.684vw;
        margin-bottom: 6.684vw;
    }
    .sec-reviews .comment-box p{
        font-size: 3.476vw;
        line-height: calc(31 / 13);
    }

    .sec-reviews .comment-box.-doctor{
        display: block;
    }
    .sec-reviews .comment-box.-doctor p{ padding-top: 0;}
    .sec-reviews .comment-box.-doctor .doctor_img{
        margin: 10.16vw auto 0 auto;
    }
    .sec-reviews .comment-box.-doctor .doctor_img img{
        width: 41.444vw;
        max-width: 153px;
        margin: 0 auto;
    }
    .sec-reviews .comment-box.-doctor .doctor_img p{
        font-size: 3.476vw;
        margin-top: 5.348vw;
    }
    .sec-reviews .comment-box.-doctor .doctor_img p .name{
        font-size: 4.278vw;
    }
    .post-voice{
        justify-content: flex-start;
        flex-direction: column;
        max-width: inherit;
        margin: 0 auto;
        width: 90%;
        padding: 6.684vw 7.219vw;
        border-radius: 5px;
    }
    .post-voice+.post-voice{ margin-top: 8.021vw;}

    .post-voice .img{
        width: 100%;
        max-width: inherit;
        order: 2;
    }
    .post-voice .txt{
        width: 100%;
        display: contents;
    }
    .post-voice .txt .box-ttl{
        order: 1;
        font-size: 4.011vw;
        line-height: calc(25 / 15);
        margin-bottom: 2.674vw;
    }
    .post-voice .txt .box-txt{
        order: 3;
        font-size: 3.209vw;
        margin-top: 4.545vw;
    }
    .post-voice .txt .btn_wrap{
        order: 4;
        margin-top: 7.487vw;
    }
    .post-voice .txt .btn_wrap .btn{
        width: 68%;
        max-width: inherit;
        padding: 12px 10px;
        margin: 0 auto;
    }

    .btn_wrap.to_list{
        margin-top: 10.695vw;
    }
    .btn_wrap.to_list .btn{
        width: 68%;
        max-width: inherit;
    }
}

/* ------------------------------
    page-menu
------------------------------ */
/* sec01 */
.page-menu .sec01 {
  position: relative;
  z-index: 4;
}
.page-menu .sec01 .flex-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.page-menu .sec01 .flex-box .message_wrap {
  width: 58%;
}
.page-menu .sec01 .flex-box .message_wrap .ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: calc(47 / 24);
  letter-spacing: 0.1em;
  color: #ae4952;
  margin-bottom: 40px;
}
.page-menu .sec01 .flex-box .message_wrap p {
  font-size: 1.5rem;
  line-height: calc(38 / 15);
  letter-spacing: 0.1em;
  padding-right: 4%;
  box-sizing: border-box;
}
.page-menu .sec01 .flex-box .message_wrap p + p {
  margin-top: 45px;
}

.page-menu .sec01 .flex-box .features_wrap {
  width: 37%;
  max-width: 362px;
  padding-top: 34px;
  box-sizing: border-box;
}
.page-menu .sec01 .flex-box .features_wrap .ttl {
  text-align: center;
  margin-bottom: 34px;
}
.page-menu .sec01 .flex-box .features_wrap .ttl span {
  display: inline-block;
  text-align: center;
  font-size: 2rem;
  line-height: calc(48 / 20);
  letter-spacing: 0.2em;
  color: #ae4952;
  text-decoration: underline;
}

.page-menu .sec01 .flex-box .features_wrap .gray_box {
  background: #f3f3f3;
  padding: 40px 25px 35px 25px;
  border-radius: 5px;
  box-sizing: border-box;
}
.page-menu .sec01 .flex-box .features_wrap .gray_box dl + dl {
  margin-top: 25px;
}
.page-menu .sec01 .flex-box .features_wrap .gray_box dt,
.page-menu .sec01 .flex-box .features_wrap .gray_box dd {
  font-size: 1.4rem;
  line-height: calc(27 / 14);
  letter-spacing: 0.2em;
  color: #ae4952;
}
.page-menu .sec01 .flex-box .features_wrap .gray_box dt {
  font-weight: 700;
}
.page-menu .sec01 .flex-box .features_wrap .gray_box dd {
  font-weight: 400;
}

.page-menu .sec01 .kids_space_box {
  width: 86%;
  max-width: 1120px;
  margin: 100px auto 0 auto;
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
}

.page-menu .sec01 .kids_space_box .img {
  width: 56%;
  max-width: 621px;
}
.page-menu .sec01 .kids_space_box .txt {
  width: 44%;
  padding-left: 45px;
  box-sizing: border-box;
}
.page-menu .sec01 .kids_space_box .txt h3 {
  margin-top: -12px;
  font-size: 1.8rem;
  line-height: calc(39 / 18);
  letter-spacing: 0.2em;
  color: #ae4952;
  font-weight: 600;
  margin-bottom: 20px;
}
.page-menu .sec01 .kids_space_box .txt p {
  font-size: 1.5rem;
  line-height: calc(38 / 15);
  letter-spacing: 0.1em;
}
.page-menu .sec01 .kids_space_box .txt .deco1 {
  margin: 63px 0 0 auto;
  text-align: right;
  max-width: 163px;
}

.page-menu .sec01 .kigae_box {
  margin-top: 100px;
  display: flex;
  justify-content: space-between;
  padding: 32px 44px;
  background: rgba(238, 223, 218, 0.4);
  border-radius: 10px;
  box-sizing: border-box;
}
.page-menu .sec01 .kigae_box.wrap {
  max-width: 1004px;
}
.page-menu .sec01 .kigae_box .txt {
  width: 71%;
}
.page-menu .sec01 .kigae_box .txt h3 {
  margin-bottom: 16px;
}
.page-menu .sec01 .kigae_box .txt h3 span {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: calc(27 / 16);
  letter-spacing: 0.2em;
  color: #ae4952;
  text-decoration: underline;
}
.page-menu .sec01 .kigae_box .txt p {
  font-size: 1.3rem;
  line-height: calc(25 / 13);
  letter-spacing: 0.05em;
  color: #ae4952;
}
.page-menu .sec01 .kigae_box .img {
  width: 23%;
  max-width: 205px;
}

.page-menu .sec01 .deco2 {
  width: 96%;
  max-width: 1800px;
  margin: 95px auto 0 auto;
}
.page-menu .sec01 .deco2 img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .page-menu .sec01 .flex-box {
    display: block;
  }
  .flex-box.wrap {
    width: 86%;
  }
  .page-menu .sec01 .flex-box .message_wrap {
    width: 100%;
  }
  .page-menu .sec01 .flex-box .message_wrap .ttl {
    font-size: 4.545vw;
    line-height: calc(28 / 17);
    letter-spacing: 0.15em;
    margin-bottom: 6.684vw;
  }
  .page-menu .sec01 .flex-box .message_wrap p {
    font-size: 3.743vw;
    line-height: calc(25 / 14);
    padding-right: 0;
  }
  .page-menu .sec01 .flex-box .message_wrap p + p {
    margin-top: 4.011vw;
  }

  .page-menu .sec01 .flex-box .features_wrap {
    width: 100%;
    max-width: inherit;
    margin-top: 12.032vw;
    padding-top: 0;
  }
  .page-menu .sec01 .flex-box .features_wrap .ttl {
    margin-bottom: 6.684vw;
  }
  .page-menu .sec01 .flex-box .features_wrap .ttl span {
    font-size: 4.278vw;
    line-height: calc(47 / 16);
  }

  .page-menu .sec01 .flex-box .features_wrap .gray_box {
    padding: 5vw 4.2vw;
  }
  .page-menu .sec01 .flex-box .features_wrap .gray_box dl + dl {
    margin-top: 5.348vw;
  }
  .page-menu .sec01 .flex-box .features_wrap .gray_box dt,
  .page-menu .sec01 .flex-box .features_wrap .gray_box dd {
    font-size: 3.476vw;
    line-height: calc(27 / 14);
  }

  .page-menu .sec01 .flex-box .features_wrap .gray_box dd {
    font-size: 3.209vw;
    letter-spacing: 0.05em;
  }

  .page-menu .sec01 .kids_space_box {
    width: 86%;
    max-width: inherit;
    margin: 10.16vw auto 0 auto;
    display: block;
  }

  .page-menu .sec01 .kids_space_box .img {
    width: 100%;
    max-width: inherit;
  }
  .page-menu .sec01 .kids_space_box .txt {
    width: 100%;
    padding-left: 0;
    margin-top: 5.348vw;
    box-sizing: border-box;
  }
  .page-menu .sec01 .kids_space_box .txt h3 {
    margin-top: 0;
    font-size: 4.545vw;
    line-height: calc(28 / 17);
    letter-spacing: 0.15em;
    margin-bottom: 5.348vw;
  }
  .page-menu .sec01 .kids_space_box .txt p {
    font-size: 3.743vw;
    line-height: calc(25 / 14);
  }
  .page-menu .sec01 .kids_space_box .txt .deco1 {
    margin: 2.674vw 0 0 auto;
    width: 44%;
    max-width: 163px;
  }

  .page-menu .sec01 .kigae_box {
    margin-top: 6.684vw;
    display: flex;
    flex-direction: column;
    padding: 6.3vw;
  }
  .page-menu .sec01 .kigae_box.wrap {
    max-width: inherit;
  }
  .page-menu .sec01 .kigae_box .txt {
    width: 100%;
    display: contents;
  }
  .page-menu .sec01 .kigae_box .txt h3 {
    order: 1;
    margin-bottom: 4vw;
    text-align: center;
  }
  .page-menu .sec01 .kigae_box .txt h3 span {
    font-size: 4.011vw;
    line-height: calc(47 / 15);
  }
  .page-menu .sec01 .kigae_box .txt p {
    order: 3;
    margin-top: 4vw;
    font-size: 3.209vw;
    line-height: calc(24 / 12);
  }
  .page-menu .sec01 .kigae_box .img {
    order: 2;
    width: 100%;
    max-width: inherit;
  }

  .page-menu .sec01 .deco2 {
    width: 96%;
    max-width: inherit;
    margin: 9.358vw auto 0 auto;
  }
}
/* sec02 */
.sec-line {
  position: relative;
}
.sec-line:before {
  position: relative;
  display: block;
  content: "";
  width: 1px;
  height: 98px;
  background: #eedfda;
  margin: 60px auto 23px auto;
}

.ttl_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ttl_wrap .sec_ttl.heading-a {
  order: 2;
  text-align: center;
  font-size: 2.4rem;
  line-height: calc(47 / 24);
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #ae4952;
}
.ttl_wrap .sub {
  order: 1;
  text-align: center;
  margin-bottom: 15px;
}
.ttl_wrap .sub span {
  position: relative;
  font-size: 1.4rem;
  line-height: calc(43 / 14);
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #333233;
}
.ttl_wrap .sub span:after {
  position: relative;
  display: block;
  content: "";
  margin: 0 auto;
  width: 100%;
  height: 1px;
  background: #b96b5f;
}
.sec_ttl.heading-b {
  position: relative;
  font-size: 1.8rem;
  line-height: calc(47 / 18);
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #ae4952;
  margin-bottom: 20px;
}
.sec_ttl.heading-b:before {
  position: relative;
  display: block;
  content: "";
  margin-bottom: 10px;
  width: 38px;
  height: 1px;
  background: #9d3541;
}

.page-menu .sec02 .circle_wrap {
  margin-top: 85px;
  margin-bottom: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-menu .sec02 .circle_wrap .circle + .circle {
  margin-left: 54px;
}
.page-menu .sec02 .circle_wrap .circle {
  position: relative;
}
.page-menu .sec02 .circle_wrap .circle .img {
  max-width: 118px;
  margin: 0 auto;
}
.page-menu .sec02 .circle_wrap .circle:not(:last-of-type):after {
  position: absolute;
  right: -36px;
  top: 50px;
  display: block;
  content: "";
  background: url("../img/menu/ico_plus.png") no-repeat center center;
  background-size: 100% auto;
  width: 17px;
  height: 16px;
}

.page-menu .sec02 .circle_wrap .circle p {
  text-align: center;
  font-size: 1.4rem;
  line-height: calc(22 / 14);
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #ae4952;
}
.page-menu .sec02 .circle_wrap .circle p.img {
  text-align: center;
  margin-bottom: 14px;
}

.page-menu .sec02 .text {
  font-size: 1.5rem;
  line-height: calc(38 / 15);
  letter-spacing: 0.1em;
}
.page-menu .sec02 .mt20 {
  margin-top: 20px;
}
.page-menu .sec02 .mt100 {
  margin-top: 100px;
}

.page-menu .sec02 .price_wrap {
  margin: 100px 0 70px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-menu .sec02 .price_wrap p.first_txt {
  display: inline-block;
  margin-right: 37px;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  line-height: 1;
  background: #9d3541;
  padding: 6px 12px 8px 12px;
  border-radius: 10px;
  box-sizing: border-box;
}

.page-menu .sec02 .price_wrap p.regular_price {
  color: #ae4952;
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
  margin-right: 35px;
}
.page-menu .sec02 .price_wrap p.regular_price .txt {
  display: block;
  font-size: 0.9rem;
  letter-spacing: 0;
}
.page-menu .sec02 .price_wrap p.regular_price .yen {
  font-size: 1.5rem;
}
.page-menu .sec02 .price_wrap p.regular_price .strikethrough {
  position: relative;
}
.page-menu .sec02 .price_wrap p.regular_price .strikethrough:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 60%;
  transform: translateY(-50%);
  width: 100%;
  height: 1px;
  background: #ae4952;
}

.page-menu .sec02 .price_wrap p.special_price {
  text-align: center;
  color: #ae4952;
  font-size: 3.4rem;
  letter-spacing: 0.01em;
  line-height: 1.45;
}
.page-menu .sec02 .price_wrap p.special_price .yen {
  font-size: 2.3rem;
}
.page-menu .sec02 .price_wrap p.special_price .tax {
  display: block;
  font-size: 1.1rem;
  letter-spacing: 0.2em;
}

.page-menu .sec02 .price_list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 19px 0 18px 0;
  border-top: 1px solid #d2d3d3;
  border-bottom: 1px solid #d2d3d3;
  box-sizing: border-box;
}
.page-menu .sec02 .price_list + .price_list {
  border-top: none;
}

.page-menu .sec02 .price_list .txt h4 {
  font-size: 1.8rem;
  line-height: 1.2;
  color: #ae4952;
  letter-spacing: 0.1em;
}
.page-menu .sec02 .price_list .price {
  font-size: 2rem;
  line-height: 1;
  color: #5f5f60;
  letter-spacing: 0.2em;
  text-align: center;
}
.page-menu .sec02 .price_list .price .yen {
  font-size: 1.5rem;
  line-height: 1;
}
.page-menu .sec02 .price_list .price .tax {
  font-size: 0.9rem;
  line-height: calc(18 / 9);
  letter-spacing: 0.15em;
}

.page-menu .sec02 .card_wrap {
  margin-top: 40px;
}
.page-menu .sec02 .card_wrap p {
  text-align: center;
  font-size: 1.3rem;
  line-height: calc(31 / 13);
  letter-spacing: 0.1em;
}
.page-menu .sec02 .card_wrap .card {
  margin-top: 20px;
  text-align: center;
}

.page-menu .sec02 .deco {
  width: 100%;
  max-width: 1300px;
  margin: 85px auto 0 auto;
}
.page-menu .sec02 .deco img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .sec-line:before {
    height: 16.578vw;
    margin: 9.626vw auto 6.15vw auto;
  }

  .page-menu .sec02 .wrap {
    width: 86%;
  }
  .ttl_wrap .sec_ttl.heading-a {
    font-size: 4.545vw;
    line-height: calc(47 / 17);
  }
  .ttl_wrap .sub {
    margin-bottom: 2.5vw;
  }
  .ttl_wrap .sub span {
    font-size: 3.209vw;
    line-height: calc(43 / 12);
  }
  .ttl_wrap .sub span:after {
    position: relative;
    display: block;
    content: "";
    margin: 0 auto;
    width: 100%;
    height: 1px;
    background: #b96b5f;
  }
  .sec_ttl.heading-b {
    font-size: 4.011vw;
    line-height: calc(47 / 15);
    margin-bottom: 0;
  }
  .sec_ttl.heading-b:before {
    margin-bottom: 2vw;
    width: 7.219vw;
  }

  .page-menu .sec02 .circle_wrap {
    margin-top: 9.358vw;
    margin-bottom: 7.487vw;
  }
  .page-menu .sec02 .circle_wrap .circle + .circle {
    margin-left: 9.893vw;
  }
  .page-menu .sec02 .circle_wrap .circle:not(:last-of-type):after {
    right: -7.5vw;
    top: 10vw;
  }

  .page-menu .sec02 .circle_wrap .circle p {
    font-size: 2.406vw;
    line-height: calc(15 / 9);
  }
  .page-menu .sec02 .circle_wrap .circle p.img {
    margin-bottom: 4vw;
  }

  .page-menu .sec02 .text {
    font-size: 3.743vw;
    line-height: calc(25 / 14);
  }
  .page-menu .sec02 .mt20 {
    margin-top: 8.021vw;
  }
  .page-menu .sec02 .mt100 {
    margin-top: 12.032vw;
  }

  .page-menu .sec02 .price_wrap {
    margin: 8.021vw 0 10.16vw 0;
  }
  .page-menu .sec02 .price_wrap p.first_txt {
    margin-right: 4.813vw;
    font-size: 2.406vw;
    padding: 5px 12px 6px 12px;
  }

  .page-menu .sec02 .price_wrap p.regular_price {
    font-size: 4.813vw;
    margin-right: 4.813vw;
  }
  .page-menu .sec02 .price_wrap p.regular_price .txt {
    font-size: 2.406vw;
  }
  .page-menu .sec02 .price_wrap p.regular_price .yen {
    font-size: 3.209vw;
  }

  .page-menu .sec02 .price_wrap p.regular_price .strikethrough:before {
    top: 60%;
  }

  .page-menu .sec02 .price_wrap p.special_price {
    font-size: 5.882vw;
  }
  .page-menu .sec02 .price_wrap p.special_price .yen {
    font-size: 4.278vw;
  }
  .page-menu .sec02 .price_wrap p.special_price .tax {
    font-size: 2.406vw;
    letter-spacing: 0.1em;
  }

  .page-menu .sec02 .price_list {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 5.209vw 0;
  }

  .page-menu .sec02 .price_list:first-of-type {
    padding-bottom: 18vw;
  }
  .page-menu .sec02 .price_list + .price_list {
    border-bottom: none;
  }
  .page-menu .sec02 .price_list .text {
    position: absolute;
    left: 0;
    top: 16vw;
  }

  .page-menu .sec02 .price_list .txt h4 {
    font-size: 3.743vw;
  }
  .page-menu .sec02 .price_list .price {
    font-size: 3.743vw;
  }
  .page-menu .sec02 .price_list .price .yen {
    font-size: 3.209vw;
  }
  .page-menu .sec02 .price_list .price .tax {
    font-size: 2.406vw;
  }

  .page-menu .sec02 .card_wrap {
    margin-top: 3vw;
  }
  .page-menu .sec02 .card_wrap p {
    text-align: left;
    font-size: 2.941vw;
    line-height: calc(21 / 11);
  }
  .page-menu .sec02 .card_wrap .card {
    width: 50%;
    max-width: 189px;
    margin: 8.021vw auto 0 auto;
  }

  .page-menu .sec02 .deco {
    display: none;
  }
}

/* ------------------------------
    page-access
------------------------------ */

.page-access .access {
  position: relative;
  z-index: 4;
}

.page-access .access__heading {
  font-size: 2.4rem;
  color: #9b3541;
  line-height: calc(47 / 24);
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: bold;
}

.page-access .access-img-map {
  max-width: 850px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 70px;
}

.page-access .access-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 125px;
}

.page-access .access-list__item {
  width: calc((100% - 100px) / 3);
}

.page-access .access-list__item:nth-child(n + 4) {
  margin-top: 53px;
}

.page-access .access-list__text {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: calc(22 / 14);
  color: #5f5f60;
  margin-top: 15px;
}

.page-access .access-map-wrap {
  position: relative;
}

.page-access .access-map {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  min-height: 290px;
  position: relative;
  margin-top: 98px;
}

.page-access .access-map::before {
  content: "";
  display: block;
  padding-top: 53.6363%;
}

.page-access .access-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.page-access .access-map-btn {
  position: absolute;
  right: 50px;
  bottom: 30px;
}

.page-access .access-map-btn .btn {
  width: 180px;
  border-radius: 23px;
  padding: 10px 10px 12px 18px;
  text-align: left;
}

.access-ftr {
  margin-top: 25px;
}

.access-ftr .f_btm .access-ftr__wrap p {
  font-size: 1.3rem;
  line-height: calc(23 / 13);
  color: #5f5f60;
  letter-spacing: 0.1em;
  margin-top: 17px;
}

.access-ftr .f_btm .info_wrap {
  flex-direction: row-reverse;
}

.access-ftr .f_btm .info_wrap .flex {
  justify-content: space-between;
}

.access-ftr .f_btm .info_wrap .box-map .access-ftr__img {
  width: calc((345 / 550) * 100%);
}

.access-ftr .f_btm .info_wrap .box-map .img {
  width: calc((180 / 550) * 100%);
}

.access-ftr .f_btm .box-info {
  padding-top: 0;
}

.access-ftr .f_btm .box-info .site-ttl-sub,
.access-ftr .f_btm .box-info .site-ttl-main {
  color: #9b3541;
}

.access-ftr .f_btm .box-info .site-ttl-sub {
  font-size: 1.4rem;
  line-height: calc(30 / 14);
  letter-spacing: 0.1em;
}

.access-ftr .f_btm .box-info .site-ttl-main {
  font-size: 2.4rem;
  line-height: calc(47 / 44);
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-top: 10px;
}

.access-ftr .f_btm .box-info .site-ttl-main + p {
  margin-top: 15px;
}

.access-ftr .f_btm .box-info table {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .page-access .wrap {
    width: 95%;
  }

  .page-access .access__heading {
    font-size: 1.7rem;
    letter-spacing: 0.15em;
    line-height: calc(28 / 17);
  }

  .page-access .access-img-map {
    margin-top: 40px;
  }

  .page-access .access-list {
    margin-top: 50px;
  }

  .page-access .access-list__item {
    width: 100%;
  }

  .page-access .access-list__item:nth-child(n + 4) {
    margin-top: 0;
  }

  .page-access .access-list__item:not(:first-child) {
    margin-top: 20px;
  }

  .page-access .access-list__text {
    font-size: 1.2rem;
    line-height: calc(21 / 12);
  }

  .page-access .access-map-wrap {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  .page-access .access-map {
    margin-top: 50px;
  }

  .page-access .access-map-btn {
    right: 10px;
    bottom: 10px;
  }

  .page-access .access-map-btn .btn {
    width: 130px;
    padding: 10px 10px 12px 10px;
    font-size: 1.3rem;
  }

  .page-access .access-map-btn .btn::after {
    right: 8px;
  }

  .access-ftr {
    margin-top: 0;
  }

  .access-ftr .f_btm .info_wrap {
    display: flex;
    flex-direction: column-reverse;
  }

  .access-ftr .f_btm .info_wrap .box-info {
    margin-top: 0;
  }

  .access-ftr .f_btm .box-info .site-ttl-sub {
    font-size: 1.2rem;
    line-height: calc(30 / 12);
  }

  .access-ftr .f_btm .box-info .site-ttl-main {
    font-size: 1.7rem;
    line-height: calc(28 / 17);
    letter-spacing: 0.15em;
    margin-top: 5px;
  }

  .access-ftr .f_btm .box-info .site-ttl-main + p {
    margin-top: 10px;
  }

  .access-ftr .f_btm .box-info table {
    margin-top: 10px;
  }

  .access-ftr .f_btm .info_wrap .box-map {
    margin-top: 45px;
  }
}

/* ------------------------------
    page-profile
------------------------------ */

.page-profile .profile__heading {
  font-size: 2.4rem;
  color: #9b3541;
  line-height: calc(47 / 24);
  letter-spacing: 0.1em;
  font-weight: bold;
}

.page-profile .profile-about {
  padding-bottom: 100px;
}

.page-profile .profile-about p {
  font-size: 1.5rem;
  color: #5f5f60;
  letter-spacing: 0.1em;
  line-height: calc(38 / 15);
}

.page-profile .profile-about .profile-about__img {
  margin-top: 65px;
}

.page-profile .profile-about__text-block {
  margin-top: 50px;
}

.page-profile .profile-about__text:not(:first-child) {
  margin-top: 40px;
}

.page-profile .profile-about-row {
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.page-profile .profile-about-row__img {
  width: calc((385 / 930) * 100%);
}

.page-profile .profile-about-row__text {
  width: calc((540 / 930) * 100%);
  margin-left: 70px;
}

.page-profile .profile-about-row__text p:first-child {
  margin-top: -12px;
}

.page-profile .profile-about-row__text p:not(:first-child) {
  margin-top: 25px;
}

.page-profile .profile-detail {
  padding-top: 170px;
  padding-bottom: 80px;
  background-color: #000;
  background: url(../img/profile/bg_pc.png) top / 100% 100% no-repeat;
}

.page-profile .profile-detail__wrap {
  display: flex;
  align-items: center;
  position: relative;
}

.page-profile .profile-detail__photo {
  max-width: 315px;
}

.page-profile .profile-detail__body {
  margin-left: 72px;
  margin-top: 15px;
}

.page-profile .profile-detail__name {
  display: flex;
  flex-direction: column;
  color: #973541;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
}

.page-profile .profile-detail__name span:not(:first-child) {
  margin-top: 9px;
}

.page-profile .profile-detail__name span:last-child {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 500;
}

.page-profile .profile-detail__name-lg {
  font-size: 2.4rem;
  font-weight: bold;
}

.page-profile .profile-detail__text {
  margin-top: 53px;
}

.page-profile .profile-detail__text p {
  font-size: 1.5rem;
  color: #333233;
  line-height: calc(33 / 15);
  letter-spacing: 0.1em;
}

.page-profile .profile-detail__box {
  display: flex;
  align-items: center;
  position: absolute;
  right: -7px;
  top: -14px;
}

.page-profile .profile-detail__box .profile-detail__copy {
  font-weight: 600;
  color: #973541;
  letter-spacing: 0.1em;
  line-height: calc(39 / 16);
  writing-mode: vertical-rl;
}

.page-profile .profile-detail__box .profile-detail__img {
  width: 140px;
  margin-right: 53px;
  flex-shrink: 0;
}

.page-profile .profile-detail .profile-history {
  background: #fff;
  border: 5px solid #f1dbd5;
  padding: 67px 65px 40px;
  border-radius: 10px;
  margin-top: 75px;
}

.page-profile .profile-detail .profile-history dl {
  display: flex;
  flex-wrap: wrap;
  margin-top: 35px;
}

.page-profile .profile-detail .profile-history dl dt,
.page-profile .profile-detail .profile-history dl dd {
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  line-height: calc(38 / 15);
  color: #333233;
  padding-top: 25px;
}

.page-profile .profile-detail .profile-history dl dt {
  width: 18%;
}

.page-profile .profile-detail .profile-history dl dd {
  width: 82%;
}

.profile-banner {
  max-width: 436px;
  width: 94%;
  margin: 50px auto 0;
}

@media screen and (max-width: 767px) {
  .page-profile .profile__heading {
    font-size: 1.7rem;
    line-height: calc(28 / 17);
    letter-spacing: 0.15em;
  }

  .page-profile .profile-about__text-block {
    margin-top: 25px;
  }

  .page-profile .profile-about {
    padding-bottom: 47px;
  }

  .page-profile .profile-about p {
    font-size: 1.4rem;
    color: #5f5f60;
    line-height: calc(25 / 14);
  }

  .page-profile .profile-about__text:not(:first-child) {
    margin-top: 28px;
  }

  .page-profile .profile-about .profile-about__img {
    margin-top: 35px;
  }

  .page-profile .profile-about-row {
    flex-direction: column;
    margin-top: 45px;
  }

  .page-profile .profile-about-row__img {
    width: 100%;
  }

  .page-profile .profile-about-row__text {
    width: 90%;
    margin: 0 auto;
    margin-top: 38px;
  }

  .page-profile .profile-about-row__text p:first-child {
    margin-top: 0;
  }

  .page-profile .profile-detail {
    background: url(../img/profile/bg_sp.png) top / 100% 100% no-repeat;
    padding-top: 80px;
	  padding-bottom: 50px;
  }

  .page-profile .profile-detail__wrap {
    flex-direction: column;
  }

  .page-profile .profile-detail__photo {
    max-width: 54.4vw;
    margin-right: auto;
  }

  .page-profile .profile-detail__body {
    margin-left: 0;
  }

  .page-profile .profile-detail__box {
    flex-direction: column-reverse;
    top: 0;
    right: -15px;
  }

  .page-profile .profile-detail__box .profile-detail__copy {
    font-size: 1.3rem;
    font-size: 3.467vw;
    line-height: calc(25 / 13);
  }

  .page-profile .profile-detail__box .profile-detail__img {
    margin-right: 0;
    width: 19.467vw;
    margin-top: 53px;
  }

  .page-profile .profile-detail__name {
    font-size: 1.2rem;
    margin-top: 20px;
  }

  .page-profile .profile-detail__name span:not(:first-child) {
    margin-top: 2px;
  }

  .page-profile .profile-detail__name-lg {
    font-size: 1.7rem;
    line-height: calc(29 / 17);
  }

  .page-profile .profile-detail__text {
    margin-top: 20px;
  }

  .page-profile .profile-detail__text p {
    font-size: 1.3rem;
    line-height: calc(25 / 13);
    color: #737373;
  }

  .page-profile .profile-detail .profile-history {
    margin-top: 30px;
    padding: 30px 25px 30px;
  }

  .page-profile .profile-detail .profile-history dl {
    margin-top: 0;
  }

  .page-profile .profile-detail .profile-history dl dt,
  .page-profile .profile-detail .profile-history dl dd {
    width: 100%;
    font-size: 1.3rem;
    line-height: calc(23 / 13);
  }

  .page-profile .profile-detail .profile-history dl dt {
    padding-top: 15px;
  }

  .page-profile .profile-detail .profile-history dl dd {
    padding-top: 6px;
    padding-bottom: 10px;
  }

  .page-profile .profile-detail .profile-history dl dd:not(:last-child) {
    border-bottom: 1px solid #eeeeee;
  }

  .profile-banner {
    margin-top: 20px;
  }
}
