body {
    font-family: 'Shippori Mincho', serif;
    margin: 0;
    font-weight: 400;
	  color: hsl(34, 30%, 23%);
    -webkit-text-size-adjust: 100%;
}

.pcOnly {
	display: block !important;
}
@media screen and (max-width:640px) {
	.pcOnly {
		display: none !important;
	}
}

.spOnly {
	display: none;
}
@media screen and (max-width:640px) {
	.spOnly {
		display: block;
	}
}

.header_scroll {
    background: rgb(255, 255, 255);
    padding: 20px 0;
    position: fixed;
    justify-content: space-between;
    transition: .5s;
    width: 100%;
}

.header_scroll.transform {
    background: rgba(255,255,255,0.8);
    padding: 20px 0;
}

.header_scroll.transform img {
    height: 56px;
}

.header_over {
    text-align: center;
}

.header_over img {
    display: inline-block;
    background-repeat:  no-repeat;
    width:auto;
    height:106px;
    margin: auto;
}

.nav_offcm01 {
  position: fixed;
  top: 30px;
  right: 20px;
  display: inline-block;
  z-index: 60;
}
/* menu */
.nav_offcm01 .nav_menu {
	position: fixed;
	top: 0;
	right: -100vw;
	width: 282px;
	height: 100%;
	-webkit-transition: 0.53s transform;
	        transition: 0.53s transform;
	-webkit-transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	        transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	background-color: #ffffff;
    z-index: 100;
	text-align: left;
    padding: 40px 30px 30px 40px;
}
@media screen and (max-width:640px) {
  .nav_offcm01 .nav_menu {
    width: -webkit-fill-available;
  }
}
.nav_offcm01 .nav_menu img {
  width: 120px;
  height: 56px;
}
.nav_offcm01 .nav_menu ul {
  margin: 70px 0 30px;
  padding: 0;
}
.nav_offcm01 .nav_menu li {
	list-style: none;
  margin-bottom: 20px;
  height: 24px;
}
.nav_offcm01 .nav_menu li a {
	display: inline-block;
	padding: 0;
	text-decoration: none;
	color: #4B3C28;
}
.nav_offcm01 .nav_menu li a:hover {
    border-bottom: 1px solid #4B3C28 !important;
}
.nav_offcm01 .nav_menu .copy {
	font-size: 10px;
}
.nav_offcm01 .btn {
    border-bottom: 1px solid #4B3C28 !important;
}

.nav_offcm01 #nav_toggle01 {
	position: absolute;
	display: none;
	opacity: 0;
}
.nav_offcm01 #nav_toggle01:checked ~ .nav_menu {
	-webkit-transform: translateX(-100vw);
	        transform: translateX(-100vw);
}
/* menu toggle */
.nav_offcm01 #nav_toggle01 ~ label {
	display: block;
	padding: 0.5em;
	cursor: pointer;
	-webkit-transition: 0.5s transform;
	        transition: 0.5s transform;
	-webkit-transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
	        transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
	text-align: center;
	color: #333333;
    position: relative;
    z-index: 200;
}
.nav_offcm01 #nav_toggle01:checked ~ label {
	-webkit-transform: translateX(-0);
	        transform: translateX(-0);
}
.nav_offcm01 #nav_toggle01 ~ label::before {
	content: url("../images/nav_open.svg");
    display: inline-block;
    width: 30px;
    height: 30px;
}
.nav_offcm01 #nav_toggle01:checked ~ label::before {
	content: url("../images/nav_close.svg");
}

.section_select_link {
  padding-top: 100px;
  margin-top: -100px;
}

.kv {
  display: flex;
  width: 100%;
  margin-top: 151px;
}

@media screen and (max-width:640px) {
  .kv {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media screen and (min-width:1130px) {
  .kv {
    padding-bottom: 30px;
  }
}
@media screen and (min-width:1200px) {
  .kv {
    padding-bottom: 80px;
  }
}
@media screen and (min-width:1350px) {
  .kv {
    padding-bottom: 130px;
  }
}
@media screen and (min-width:1430px) {
  .kv {
    padding-bottom: 218px;
  }
}
@media screen and (min-width:1600px) {
  .kv {
    padding-bottom: 276px;
  }
}

.kv .kv_text {
  font-size: 30px;
  writing-mode: vertical-rl;
  line-height: 52px;
  letter-spacing: 4px;
  width: 30%;
  padding: 90px 40px 0 0;
}

@media screen and (max-width:640px) {
  .kv .kv_text {
    font-size: 24px;
    line-height: 1.8;
    letter-spacing: 4px;
    padding: 40px 20px 30px;
    width: 130px;
    min-height: 280px;
    margin: auto;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
  }
}

.kv #photo {
  position: relative;
  width: 70%;
  min-width: 750px;
  min-height: 560px;
}
@media screen and (max-width:640px) {
  .kv #photo {
    min-width: unset;
    width: 100%;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:1;
    -webkit-order:1;
    order:1;
  }
}
@media screen and (min-width:620px) and ( max-width:640px) {
  .kv #photo {
    min-height: 465px;
  }
}
@media screen and (min-width:600px) and ( max-width:619px) {
  .kv #photo {
    min-height: 440px;
  }
}
@media screen and (min-width:570px) and ( max-width:599px) {
  .kv #photo {
    min-height: 420px;
  }
}
@media screen and (min-width:540px) and ( max-width:569px) {
  .kv #photo {
    min-height: 400px;
  }
}
@media screen and (min-width:520px) and ( max-width:539px) {
  .kv #photo {
    min-height: 380px;
  }
}
@media screen and (min-width:500px) and ( max-width:519px) {
  .kv #photo {
    min-height: 360px;
  }
}
@media screen and (max-width:499px) {
  .kv #photo {
    min-height: 280px;
  }
}

.kv #photo img {
  top: 0;
  right: 0;
  position: absolute;
  width: 100%;
  min-width: 750px;
  min-height: 560px;
  max-width: 1120px;
}
@media screen and (max-width:640px) {
  .kv #photo img {
    min-width: unset;
    min-height: unset;
    max-width: unset;
  }
}

.section_news {
  width: 665px;
  margin: auto;
  padding: 70px 10px;
}
@media screen and (max-width:640px) {
  .section_news {
    width: auto;
    padding: 15px 10px 70px 10px ;
  }
}

.section_news .news_title {
  font-size: 28px;
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width:640px) {
  .section_news .news_title {
    margin-bottom: 20px;
  }
}

.cp_actab,
.cp_actab-none {
	position: relative;
	overflow: hidden;
	width: 100%;
  font-size: 14px;
  border-top: solid 1px #BCB6B0;
}
.cp_actab:last-child,
.cp_actab-none:last-child {
  border-bottom: solid 1px #BCB6B0;
}
.cp_actab input,
.cp_actab-none input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab label,
.cp_actab-none label {
	display: flex;
  padding: 10px 0;
}
.cp_actab .cp_actab-content,
.cp_actab-none .cp_actab-content {
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
  position: relative;
}
.cp_actab .cp_actab-content p,
.cp_actab-none .cp_actab-content p {
  margin: 0;
  padding: 0 0 10px 0;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content{
	max-height: 20em;
}
/* Icon */
.cp_actab label::after {
	position: absolute;
  top: 12px;
  right: 10px;
	display: block;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
  content: '\f077';
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  color: #BCB6B0;
  pointer-events: none;
}
.cp_actab input[type=checkbox]:checked + label::after {
	transform: rotate(180deg);
}

.section_news ul {
  list-style: none;
  font-size: 14px;
  margin: 0;
  padding: 0;
  line-height: 24px;
}

.section_news ul li {
  display: flex;
}

.section_news ul li:not(:last-child) {
  margin-bottom: 20px;
}

.section_news ul li .day {
  width: 20%;
  border-right: solid 1px #BCB6B0;
}
@media screen and (max-width:640px) {
  .section_news .day {
    width: 30%;
  }
}

.section_news ul li .news {
  width: 80%;
  margin-left: 20px;
}
@media screen and (max-width:640px) {
  .section_news .news {
    width: 70%;
    margin-left: 10px;
  }
}

.section_about {
  display: flex;
  width: 100%;
}
@media screen and (max-width:768px) {
  .section_about {
    display: block;
  }
}
@media screen and (min-width:1200px) {
  .section_about {
    padding-bottom: 64px;
  }
}


.section_about .img {
  position: relative;
  width: 60%;
}
@media screen and (max-width:768px) {
  .section_about .img {
    width: 90%;
  }
}
.section_about .img::after {
  content: "";
  width: 122%;
  height: 72%;
  background-color: #FFF3EB;
  position: absolute;
  z-index: -10;
  top: 120px;
  left: 0;
}
@media screen and (max-width:768px) {
  .section_about .img::after {
    width: 110%;
    height: 95%;
    top: 60px;
  }
}
@media screen and (min-width:1200px) {
  .section_about .img::after {
    height: 90%;
    max-width: 1153px;
  }
}

.section_about .img img {
  width: 100%;
  max-width: 858px;
}

.section_about .about {
  height: max-content;
  width: 40%;
  padding: 180px 0 0 40px;
  max-width: 965px;
}
@media screen and (max-width:768px) {
  .section_about .about {
    width: auto;
    padding: 25px 0 0;
  }
}

.section_about .about p {
  font-size: 30px;
  line-height: 56px;
  margin: 0;
  writing-mode: vertical-rl;
}
@media screen and (max-width:768px) {
  .section_about .about p {
    font-size: 24px;
    line-height: 44px;
    min-height: 312px;
    margin: auto;
  }
}

.section_support {
  padding: 90px 20px 0;
  text-align: center;
  width: 665px;
  margin: auto;
}
@media screen and (max-width:640px) {
  .section_support {
    padding: 65px 30px 0;
    width: auto;
  }
}

.section_support .support_title {
  position: relative;
  font-size: 22px;
  margin-bottom: 70px;
}
@media screen and (max-width:640px) {
  .section_support .support_title {
    margin-bottom: 55px;
  }
}

.section_support .support_title::before {
  content: url("../images/support.svg");
  width: 100px;
  opacity: 0.15;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.section_support .support_contents {
  display: flex;
  align-items: start;
}
@media screen and (max-width:640px) {
  .section_support .support_contents {
    flex-direction: column;
    margin-bottom: 30px;
  }
}

.section_support .support_contents:not(:last-child) {
  margin-bottom: 50px;
}
@media screen and (max-width:640px) {
  .section_support .support_contents:not(:last-child) {
    margin-bottom: 40px;
  }
}

.section_support .support_contents img {
  width: 165px;
}
@media screen and (max-width:640px) {
  .section_support .support_contents img {
    width: 50%;
    margin: auto;
  }
}

.section_support .support_contents p {
  margin: 0;
}

.section_support .support_contents .contents_right {
  text-align: left;
  margin: 0 0 0 30px;
}
@media screen and (max-width:640px) {
  .section_support .support_contents .contents_right {
    margin: 20px 0 0 0;
  }
}

.section_support .support_contents .contents_left {
  text-align: left;
  margin: 0 30px 0 0;
}
@media screen and (max-width:640px) {
  .section_support .support_contents .contents_left {
    margin: 20px 0 0 0;
    order: 1;
  }
}

.section_support .support_contents .title {
  color: #d92e03;
  display: flex;
  margin-bottom: 30px;
}
@media screen and (max-width:640px) {
  .section_support .support_contents .title {
    margin-bottom: 20px;
  }
}

.section_support .support_contents .title .count {
  font-size: 76px;
  font-family: 'EB Garamond', serif;
  line-height: 0.7;
  margin-right: 20px;
}

.section_support .support_contents .title .sentence {
  font-size: 20px;
  width: max-content;
}

.section_price {
  padding: 110px 20px 70px;
  text-align: center;
  width: 800px;
  margin: auto;
}
@media screen and (max-width:768px) {
  .section_price {
    padding: 63px 10px 30px;
    width: auto;
  }
}

.section_price .targets_title {
  position: relative;
  font-size: 22px;
  margin-bottom: 70px;
}

.section_price .targets_title::before {
  content: url("../images/price.svg");
  width: 100px;
  opacity: 0.15;
  position: absolute;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.section_price .targets_list {
  margin: 0 0 70px;
  padding: 0;
  list-style: none;
}
@media screen and (max-width:640px) {
  .section_price .targets_list {
    margin: 0 0 40px;
    font-size: 12px;
  }
}

.section_price .targets_list li {
  display: flex;
  border: solid 1px #E6E4ED;
  align-items: center;
  margin-bottom: 20px;
  height: 80px;
}
@media screen and (max-width:640px) {
  .section_price .targets_list li {
    display: block;
    height: auto;
    border: none;
  }
}

.section_price .targets_list li .data {
  background-color: #E6E4ED;
  padding: 12px 20px;
  width: 210px;
  font-size: 20px;
}
@media screen and (max-width:640px) {
  .section_price .targets_list li .data {
    padding: 10px;
    width: auto;
    font-size: unset;
  }
  .section_price .targets_list li .data {
    font-size: 19px !important;
  }
}

.section_price .targets_list .target {
  padding: 26px 20px !important;
}
@media screen and (max-width:640px) {
  .section_price .targets_list .target {
    padding: 10px !important;
  }
}

.section_price .targets_list li .detail {
  padding: 20px;
  text-align: left;
  width: 590px;
}
  .section_price .targets_list li .detail {
    font-size: 14px !important;
  }
@media screen and (max-width:640px) {
  .section_price .targets_list li .detail {
    padding: 10px;
    width: auto;
    font-size: 11px;
    border: solid 1px #E6E4ED;
  }
}

.section_price .flow_title {
  font-size: 20px;
  margin-bottom: 20px;
}

.section_price .flow_list{
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 480px;
}
@media screen and (max-width:640px) {
  .section_price .flow_list{
    width: auto;
  }
}
.section_price .flow_list li{
    background-color: #E6E4ED;
    margin-bottom: 35px;
    padding: 20px 10px;
    position: relative;
    font-size: 20px;
}
.section_price .flow_list li:last-child{
    background-color: #7A6FA7;
    color: #ffffff;
    margin-bottom: 20px;
}
.section_price .flow_list li::after{
  bottom: -24px;
  color: #7A6FA7;
  content: "";
  left: 50%;
  -webkit-transform: translate(-50%,-10%);
  transform: translate(-50%,-10%);
  position: absolute;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-top: 14px solid #7A6FA7;
}
.section_price .flow_list li:last-child:after{
    content: none;
}
.section_price .flow_warning {
  font-size: 14px;
  margin: -5px 0 70px;
}

.mb40 {
  margin-bottom: 40px !important;
}

.section_price .price_col2 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width:640px) {
  .section_price .price_col2 {
    display: block;
    margin-bottom: 20px;
  }
}

.section_price .price_col2 ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 380px;
}
@media screen and (min-width:641px) and ( max-width:768px) {
  .section_price .price_col2 ul {
    margin: 0 10px 20px;
    width: -webkit-fill-available;
  }
}
@media screen and (max-width:640px) {
  .section_price .price_col2 ul {
    width: 100%;
  }
}

.section_price .price_col2 ul li {
  height: 40px;
  padding: 10px 10px 0;
  font-size: 18px;
}
.section_price .price_col2 ul li:first-child {
  background-color: #E6E4ED;
  color: #4B3C89;
  font-size: 20px;
}
.section_price .price_col2 ul li:not(:first-child):not(:last-child) {
  border-bottom: solid 1px #BCB6B0;
}
.section_price .price_col2 ul li:last-child {
  padding: 10px 10px 15px;
}

.section_price .price_col2 .col2_half {
  display: flex;
}

.section_price .price_col2 .col2_half .left {
  width: 120px;
  text-align: justify;
  text-align-last: justify;
  text-justify : inter-ideograph;
  display: inlin-block;
  justify-content: space-between
}
@media screen and (max-width:640px) {
  .section_price .price_col2 .col2_half .left {
    width: 40%;
    display: flex;
  }
}

.section_price .price_col2 .col2_half .right {
  width: 240px;
  text-align: right;
}
@media screen and (max-width:640px) {
  .section_price .price_col2 .col2_half .right {
    width: 60%;
  }
}

.section_price .price_col2 .col2_half .letter_wrap {
  width: 55px;
  margin-left: auto;
}

.section_price .price_col2 .col2_half .letter {
  margin-left: auto;
  display: flex !important;
  text-align: justify;
  text-align-last: justify;
  text-justify: inter-ideograph;
  display: inlin-block;
  justify-content: space-between;
}

.section_price .price_col2 .col2_half .letter .letter_contents {
  font-size: unset;
}

.text_align_last_justify {
  display: flex !important;
  text-align: justify;
  text-align-last: justify;
  text-justify: inter-ideograph;
  display: inlin-block;
  justify-content: space-between;
}

.width50 {
  width: 50px !important;
}
.width134 {
  width: 120px !important;
}
@media screen and (max-width:768px) {
  .width134 {
    width: 140px !important;
  }
}

.section_price .price_col2 .col2_half .right div {
  display: inline-block;
  text-align: right;
}

.section_price .price_col2 .col2_half .right span {
  font-size: 10px;
  display: inline-block;
  text-align: left;
}

.section_price .price_col2 .other .col2_half .right span {
  width: unset;
}

.warning {
  color: #C2501E;
}

.font14 {
  font-size: 14px !important;
  line-height: 22px;
 }

.font20 {
 font-size: 20px !important;
}

.section_price .price_col2 .other li {
  height: 70px;
}

.section_price .price_col2 .other li:first-child {
  height: 40px;
}

.section_price .price_col2 .other li:last-child {
  background-color: #F5E4D6;
  height: 35px;
  padding: 10px;
  font-size: 22px;
}
@media screen and (max-width:640px) {
  .section_price .price_col2 .other li:last-child {
    margin-top: 0;
  }
}

.section_price .price_col2 .other .col2_half .left {
  width: 240px;
  text-align-last: unset;
  text-align: left;
}
@media screen and (max-width:768px) {
  .section_price .price_col2 .other .col2_half .left {
    width: 80%;
    display: inline-block;
  }
}

.section_price .price_col2 .other .col2_half .right {
  width: 120px;
  text-align: right;
}
@media screen and (max-width:768px) {
  .section_price .price_col2 .other .col2_half .right {
    width: 20%;
  }
}

.border-bottom-unset {
  border-bottom: unset !important;
}

.section_price .price_warning {
  text-align: left;
  font-size: 14px;
  margin: 0;
  padding-left: 20px;
}

.section_price .price_warning li{
  list-style: none;
  position: relative;
}

.section_price .price_warning li::before{
  content:  "※";
  position: absolute;
  left: -20px;
}

.section_price .insurance_list {
  list-style: none;
  margin: 70px auto 20px;
  padding: 0;
}
@media screen and (max-width:640px) {
  .section_price .insurance_list {
    margin: 40px auto 20px;
  }
}

.section_price .insurance_list li {
  padding: 10px 0;
  font-size: 18px;
}
@media screen and (max-width:640px) {
  .section_price .insurance_list li {
    padding: 12px 0;
  }
}

.section_price .insurance_list li:not(:first-child) {
  border-bottom: solid 1px #BCB6B0;
}
.section_price .insurance_list .b_dot:not(:first-child) {
  border-bottom: dotted 1px #CCCCCC;
}
.section_price .insurance_list li:first-child {
  background-color: #E6E4ED;
  color: #4B3C89;
  font-size: 20px;
}
@media screen and (max-width:640px) {
  .section_price .insurance_list li:first-child  {
    font-size: 20px;
  }
}

.section_price .insurance_list .data,
.section_price .insurance_list .detail {
  display: flex;
}

@media screen and (max-width: 640px) {
ul.insurance_list li:nth-child(2),
ul.insurance_list li:nth-child(4) {
    background-color: #fbfbfb;
}
}

@media screen and (max-width:640px) {
	.section_price .insurance_list .data,
	.section_price .insurance_list .detail {
	flex-wrap: wrap;
	justify-content: center;
	}
}

.section_price .insurance_list .detail {
  font-size: 22px;
}

.section_price .insurance_list .data div,
.section_price .insurance_list .detail div {
  width: calc(800px/5);
}
@media screen and (max-width:640px) {
  .section_price .insurance_list .data div,
  .section_price .insurance_list .detail div {
    width: calc(100%/3);
    font-size: 18px;
  }
}

.section_kodawari {
  background-color: #FFF7E8;
  position: relative;
  padding: 80px 30px 70px;
  margin-top: 50px;
}
@media screen and (max-width:640px) {
  .section_kodawari {
    padding: 50px 30px 30px;
  }
}

.section_kodawari .title{
  font-size: 40px;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  width: fit-content;
}
@media screen and (max-width:640px) {
  .section_kodawari .title{
    font-size: 26px;
  }
}

.section_kodawari .slick-slide img {
  margin: 0 auto;
}
@media screen and (min-width:641px) and ( max-width:768px) {
  .section_kodawari .slick-slide img {
    width: 55%;
  }
}

.section_kodawari .contents {
  display: flex !important;
  opacity: unset;
}
@media screen and (max-width:640px) {
  .section_kodawari .contents {
    display: block !important;
  }
}

.section_kodawari .contents .contents_text {
  width: 330px;
}
@media screen and (min-width:641px) and ( max-width:768px) {
  .section_kodawari .contents .contents_text {
    width: 40%;
  }
}
@media screen and (max-width:640px) {
  .section_kodawari .contents .contents_text {
    width: auto;
    font-size: 10px;
  }
}

.section_kodawari .contents .contents_text .theme {
  font-size: 20px;
  margin-bottom: 30px;
  padding-top: 50px;
}
@media screen and (max-width:640px) {
  .section_kodawari .contents .contents_text .theme {
    font-size: 14px;
    margin-bottom: 10px;
    padding-top: 20px;
    text-align: center;
  }
}

.section_kodawari .contents .contents_text p {
  margin: 0;
}

.section_origin {
  position: relative;
  padding: 120px 0 90px;
  height: 720px;
  margin: auto;
}
@media screen and (max-width:768px) {
  .section_origin {
    padding: 75px 0;
    width: auto;
    height: 1130px;
  }
}
@media screen and (min-width:415px) and ( max-width:639px) {
  .section_origin {
    height: 1102px;
  }
}

@media screen and (min-width:376px) and ( max-width:414px) {
  .section_origin {
    height: 1099px;v
  }
}

@media screen and (max-width:375px) {
  .section_origin {
    height: 1098px;
  }
}
@media screen and (min-width:1266px) {
  .section_origin {
    padding: 120px 0 180px;
  }
}
@media screen and (min-width:1490px) {
  .section_origin {
    padding: 120px 0 340px;
  }
}
@media screen and (min-width:1730px) {
  .section_origin {
    padding: 120px 0 400px;
  }
}

.section_origin .origin {
  position: absolute;
  z-index: 30;
  top: 200px;
  right: 440px;
  width: 50%;
  min-width: 320px;
  display: inline-block;
  max-width: 884px;
}
@media screen and (min-width:641px) and ( max-width:768px) {
  .section_origin .origin {
    right: 280px;
  }
}
@media screen and (max-width:768px) {
  .section_origin .origin {
    top: 757px;
    right: unset;
    left: 10px;
  }
}
@media screen and (min-width:641px) and ( max-width:768px) {
  .section_origin .origin {
    top: 662px;
  }
}
@media screen and (min-width:415px) and ( max-width:640px) {
  .section_origin .origin {
    top: 882px;
  }
}

@media screen and (min-width:376px) and ( max-width:414px) {
  .section_origin .origin {
    top: 913px;
  }
}

@media screen and (max-width:375px) {
  .section_origin .origin {
    top: 898px;
  }
}
@media screen and (max-width:320px) {
  .section_origin .origin {
    top: 720px;
  }
}

.section_origin .origin p {
  font-size: 30px;
  line-height: 56px;
  margin: 0 0 70px 0;
  width: max-content;
  display: inline-block;
  min-width: 320px;
}

@media screen and (max-width:768px) {
  .section_origin .origin_title p {
    font-size: 24px;
    line-height: 1.8;
    min-height: 392px;
    margin: 0 auto 20px;
    writing-mode: vertical-rl;
  }
}

.section_origin .origin span {
  line-height: 40px;
  width: max-content;
  display: inline-block;
  min-width: 320px;
}
@media screen and (max-width:768px) {
  .section_origin .origin span {
    line-height: 30px;
    font-size: 12px;
  }
}

.section_origin .background {
  width: 62%;
  height: 558px;
  background-color: #E6E4ED;
  position: absolute;
  z-index: 10;
  top: 282px;
  right: 350px;
  max-width: 1020px;
}
@media screen and (max-width:768px) {
  .section_origin .background {
    width: 95%;
    height: 326px;
    top: 310px;
    right: 0;
  }
}

@media screen and (max-width:640px) {
  .section_origin .background {
    top: 652px;
  }
}
@media screen and (min-width:461px) and ( max-width:768px) {
  .section_origin .background {
    height: 434px;
  }
}
@media screen and (min-width:415px) and ( max-width:460px) {
  .section_origin .background {
    height: 375px;
  }
}

@media screen and (min-width:376px) and ( max-width:414px) {
  .section_origin .background {
    height: 293px;
  }
}
@media screen and (max-width:375px) {
  .section_origin .background {
    height: 278px;
  }
}

.section_origin img {
  position: absolute;
  z-index: 20;
  right: 0;
  width: 50%;
  min-width: 500px;
  max-width: 825px;
}
@media screen and (min-width:641px) and ( max-width:768px) {
  .section_origin img {
    width: 70%;
    min-width: unset;
  }
}
@media screen and (max-width:640px) {
  .section_origin img {
    width: 90%;
    max-width: 435px;
    min-width: unset;
  }
}

.section_facilities p {
  font-size: 30px;
  writing-mode: vertical-rl;
  height: max-content;
  min-height: 154px;
  margin: 0 auto;
}

@media screen and (max-width:768px) {
  .section_facilities p {
    font-size: 24px;
    line-height: 44px;
    min-height: 265px;
    margin: auto;
  }
}

.section_shimakan,
.section_itokan {
  text-align: center;
  padding: 90px 0 10px;
}
@media screen and (max-width:640px) {
  .section_shimakan,
  .section_itokan {
    padding: 27px 0 10px;
  }
}

.section_shimakan .shimakan,
.section_itokan .itokan {
  display: flex;
  justify-content: space-between;
}

.section_shimakan h2,
.section_itokan h2 {
  border-top: solid 2px #FF694B;
  font-size: 35px;
  font-weight: 400;
  margin: 0 30px 0 10px;
  display: inherit;
  width: 25%;
}
@media screen and (max-width:640px) {
  .section_shimakan h2,
  .section_itokan h2 {
    font-size: 24px;
    width: 20%;
  }
}
.section_shimakan h2 {
  writing-mode: vertical-lr;
  margin: 0 0 0 30px;
  padding: 20px 10px 0 0;
}
@media screen and (max-width:640px) {
  .section_shimakan h2 {
    margin: 0 0 0 20px;
  }
}
.section_itokan h2 {
  writing-mode: vertical-rl;
  margin: 0 30px 0 0;
  padding: 20px 0 0 10px;
}
@media screen and (max-width:640px) {
  .section_itokan h2 {
    margin: 0 20px 0 0;
  }
}

.section_shimakan img,
.section_itokan img {
  width: 70%;
}
@media screen and (max-width:640px) {
  .section_shimakan img,
  .section_itokan img {
    height: 214px;
  }
}

.section_shimakan .address,
.section_itokan .address {
  display: flex;
  justify-content: center;
  padding: 65px 10px 40px 10px;
}
@media screen and (max-width:640px) {
  .section_shimakan .address,
  .section_itokan .address {
    font-size: 12px;
    padding: 40px 10px;
  }
}

.section_shimakan .address .name,
.section_itokan .address .name {
  display: inherit;
  border-right: solid 1px #BCB6B0;
  padding-right: 30px;
}

@media screen and (min-width:641px) {
.section_shimakan .address .name,
.section_itokan .address .name {
  font-size: 20px;
}
}

@media screen and (max-width:640px) {
  .section_shimakan .address .name,
  .section_itokan .address .name {
    padding-right: 10px;
  }
}

.section_shimakan .address .name ruby,
.section_itokan .address .name ruby {
  display: inline-block;
}

.section_shimakan .address .name rt,
.section_itokan .address .name rt {
  display: flex;
  flex-direction: column;
  text-align: justify;
  text-align-last: justify;
  text-justify : inter-ideograph;
}

@media screen and (min-width:641px) {
.section_shimakan .address .name rt,
.section_itokan .address .name rt {
  font-size: 14px;
}
}

.section_shimakan .place,
.section_itokan .place {
  padding-left: 30px;
}
@media screen and (max-width:640px) {
  .section_shimakan .place,
  .section_itokan .place {
    padding-left: 10px;
  }
}

.section_shimakan .place p,
.section_itokan .place p {
  margin: 0;
  text-align: left;
}

@media screen and (min-width:641px) {
.section_shimakan .place p,
.section_itokan .place p {
  font-size: 20px;
}
}

@media screen and (max-width:768px) {
  .section_shimakan iframe,
  .section_itokan iframe {
    width: -webkit-fill-available;
    padding: 10px;
  }
}

.section_recruit {
  padding: 110px 20px 140px;
}
@media screen and (max-width:640px) {
  .section_recruit {
    padding: 53px 20px 70px 20px;
  }
}

.section_recruit .box {
    position: relative;
    padding: 40px;
    border: solid 1px #4B3C89;
  	color: #4B3C89;
	  width: 670px;
    margin: auto;
}
@media screen and (max-width:768px) {
	.section_recruit .box {
		width: auto;
		padding: 30px 10px 40px;
	}
}
@media screen and (min-width:500px) and ( max-width:640px) {
	.section_recruit .box {
		padding: 30px 10px 210px;
	}
}
@media screen and (max-width:499px) {
	.section_recruit .box {
    padding: 30px 11px 200px;
	}
}

.section_recruit .box img {
	position: absolute;
  top: -10px;
  left: -20px;
}
@media screen and (min-width:641px) and ( max-width:768px) {
	.section_recruit .box img {
    width: 30%;
    top: 20px;
    left: -10px;
	}
}
@media screen and (min-width:500px) and ( max-width:640px) {
	.section_recruit .box img {
    width: auto;
	}
}
@media screen and (max-width:499px) {
	.section_recruit .box img {
    width: 90%;
	}
}
@media screen and (max-width:640px) {
	.section_recruit .box img {
    top: 265px;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
	}
}

.section_recruit .box .box-title {
    position: absolute;
    top: 0;
    left: 10px;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    background: #FFF;
    margin: 0;
    font-weight: 400;
    width: 116px;
    text-align: center;
}

.section_recruit .box .box-contents {
	text-align: center;
    width: 465px;
    margin-left: auto;
}
@media screen and (max-width:640px) {
	.section_recruit .box .box-contents {
		width: auto;
	}
}

.section_recruit .box .box-contents p {
    margin: 0 0 20px; 
    padding: 0;
  	font-size: 30px;
}
@media screen and (max-width:640px) {
	.section_recruit .box .box-contents p {
    margin: 0 0 5px;
		font-size: 20px;
	}
}

.section_recruit .box .box-contents span {
  line-height: 28px;
}
@media screen and (max-width:640px) {
	.section_recruit .box .box-contents span {
		font-size: 14px;
    line-height: unset;
	}
}

.section_overview {
	background-color: #E6E4ED;
	padding: 60px 20px 70px;
}
@media screen and (min-width:641px) and ( max-width:768px) {
  .section_overview {
    padding: 60px 50px 70px;
  }
}
@media screen and (max-width:640px) { 
	.section_overview {
		padding: 40px 10px;
	}
}

.section_overview h2 {
	text-align: center;
    font-weight: 400;
    margin: 0 0 20px;
}

.section_overview ul {
	list-style: none;
	padding: 0;
  margin: 0 auto;
  max-width: 752px;
}
@media screen and (max-width:640px) { 
  .section_overview ul {
    font-size: 12px;
  }
}

.section_overview li {
	display: flex;
    position: relative;
    border-top: 1px solid #ffffff;
	align-items: center;
}
.section_overview li::before {
	content: "";
    position: absolute;
    left: 0;
    top: -1px;
    width: calc(20% + 40px);
    height: inherit;
    border-top: 1px solid #4B3C89;
    z-index: 10;
}
@media screen and (max-width:640px) {
	.section_overview li::before {
		width: calc(25% + 30px);
	}
}
.section_overview li:last-child {
	display: flex;
    position: relative;
    border-bottom: 1px solid #ffffff;
}
.section_overview li:last-child:before {
	content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: calc(20% + 40px);
    height: inherit;
    border-bottom: 1px solid #4B3C89;
    z-index: 10;
}
@media screen and (max-width:640px) {
	.section_overview li:last-child:before {
    	width: calc(25% + 30px);
	}
}

.section_overview .data,
.section_overview .detail {
	padding: 20px 30px;
}
@media screen and (max-width:640px) {
	.section_overview .data,
	.section_overview .detail {
		padding: 10px;
	}
}

.section_overview .data {
	width: 20%;
  text-align: justify;
  text-align-last: justify;
  text-justify : inter-ideograph;
  display: inline-block;
}
@media screen and (max-width:640px) {
	.section_overview .data {
		width: 25%;
    padding: 15px 20px;
	}
}

.section_overview .detail {
	width: 80%;
    letter-spacing: 2px;
}
@media screen and (max-width:640px) {
	.section_overview .detail {
		width: 75%;
    padding: 10px 0px 10px 20px;
	}
}

footer {
    height: 270px;
}
@media screen and (max-width:640px) {
  footer {
      height: 309px;
  }
}

.footer_over {
    padding: 30px 10px 10px;
    text-align: center;
}
@media screen and (max-width:640px) {
  .footer_over {
      padding: 40px 10px 10px;
  }
}

.footer_over img {
    display: inline-block;
    background-image: url("../images/logo.svg");
    background-repeat:  no-repeat;
    width:auto;
    height:106px;
    margin: auto;
}

.footer_over .tel {
  line-height: 42px;
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 10px 0 0;
}

.footer_over .tel span {
  line-height: 1.5;
  border-right: solid 1px #BCB6B0;
  padding: 0 10px;
}

.footer_over p {
  margin: 0;
}

.footer_over a {
  font-size: 30px;
  text-decoration: none;
  color: #4B3C28;
  height: 46px;
  padding: 0 10px;
}

.footer_copy {
    text-align: center;
    padding: 10px;
}
@media screen and (max-width:640px) {
  .footer_copy {
    padding: 10px 10px 20px;
  }
}

.topBtn a {
  height: 50px;
  width: 50px;
  background-color: rgb(75, 60, 137);
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  border-radius: 50%;
  font-size: 1.6rem;
  text-decoration: none;
  color: rgb(255, 255, 255);
  z-index: 50;  
}
@media screen and (max-width:640px) {
  .topBtn a {
    right: 20px !important;
  }
}

.contactBtn a {
  background-color: rgb(75, 60, 137);
  display: block;
  text-align: center;
  text-decoration: none;
  color: rgb(255, 255, 255);
  z-index: 50;
  padding: 10px;
  width: 100%;
}

.contactBtn .contact_inner {
  line-height: 42px;
  align-items: center;
  display: flex;
  justify-content: center;
}

.contactBtn .deta {
  line-height: 1.5;
  border-right: solid 1px #BCB6B0;
  padding: 0 10px;
}

.contactBtn p {
  margin: 0;
}

.contactBtn .detail{
  font-size: 30px;
  text-decoration: none;
  height: 46px;
  padding: 0 10px;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.fixed {
  position:fixed;
  top:0;
  left:0;
  width:100%;
}

/* オーバーレイ */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    background: #4B3C89;
    opacity: 0.9;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    z-index: 60;
}

/* ヘッダー */
header  {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:50;
  -webkit-user-select:none;
  -moz-user-select:none;
  user-select:none;
}
/* ナビゲーション：アクティブ時 */
header .navOpen .nav {
    opacity: 1;
    right: 0;
}

/* ナビゲーションアイコン */
header .navBtn {
    display: block;
    width: 30px;
    position: absolute;
    top: 10px;
    right: 30px;
    cursor: pointer;
}
@media screen and (max-width:640px) {
  header .navBtn {
      right: 10px;
  }
}

/*====================================================================
slick
====================================================================*/
  .sliderWrap {
    padding: 25px;
    margin-bottom: 60px;
  }  
  @media screen and (max-width:640px) {
    .sliderWrap {
      padding: 0 25px;
      margin-bottom: 40px;
    }  
  }
 .sliderArea {
	max-width: 100%;
	margin: 0 auto;
	padding: 0 25px;
  width: 770px;
  }
  @media screen and (max-width:640px) {
    .sliderArea {
      width: auto;
      }
  }
  .sliderArea.w300 {
	max-width: 300px;
  }
  .slick-slide img {
	width: 380px;
	height: auto;
  margin: auto;
  }
  @media screen and (max-width:640px) {
    .slick-slide img {
    width: -webkit-fill-available;
    }
  }
  .slick-prev, .slick-next {
	z-index: 1;
  }
  .slick-prev:before, .slick-next:before {
	color: #4B3C28;
  }
  .slick-slide {
	transition: all ease-in-out .3s;
	opacity: .2;
  }
  .slick-active {
	opacity: 1;
  }
  .slick-current {
	opacity: 1;
  }
  .thumb {
	margin: 20px 0 0;
  }
  .thumb .slick-slide {
	cursor: pointer;
  }
  .thumb .slick-slide:hover {
	opacity: .7;
  }
  .slick-dots {
    display: none !important;
  }
