@charset "UTF-8";
.bg-pink, .sec-keyv, .sec-news, .sec-message, .sec-service, .sec-flow, .sec-voice, .sec-faq, .sec-last_message {
  position: relative; }
  .bg-pink:before, .sec-keyv:before, .sec-news:before, .sec-message:before, .sec-service:before, .sec-flow:before, .sec-voice:before, .sec-faq:before, .sec-last_message:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fef1ea;
    z-index: 1;
    mix-blend-mode: multiply; }
  .bg-pink *, .sec-keyv *, .sec-news *, .sec-message *, .sec-service *, .sec-flow *, .sec-voice *, .sec-faq *, .sec-last_message * {
    position: relative;
    z-index: 2;
    mix-blend-mode: normal;
    /* 必須ではないが念のため */ }

/*
@mixin font-size($size) {
	font-size: $size + px;
	font-size: ($size/10) + rem;
	
	@include mq( $sp , $pc-l )  {
		font-size: ($size/8) + px;
		font-size: ($size/12.5) + rem;
	}
}*/
.bg-white {
  background: none !important; }

span.pc {
  display: block; }
  @media screen and (max-width: 859px) {
    span.pc {
      display: none; } }

span.sp {
  display: none; }
  @media screen and (max-width: 859px) {
    span.sp {
      display: block; } }

.btn.-center {
  text-align: center; }

.normal-slide {
  padding: 0; }
  @media print, screen and (min-width: 860px) {
    .normal-slide {
      padding: 0 60px; } }
  @media screen and (max-width: 859px) {
    .normal-slide {
      margin-bottom: 90px; } }
  .normal-slide .slick-prev,
  .normal-slide .slick-next {
    top: 50%;
    position: absolute;
    padding: 0;
    border: none;
    background: none;
    text-indent: -9999px;
    width: 26px;
    height: 26px;
    padding: 0 6px; }
    .normal-slide .slick-prev:hover,
    .normal-slide .slick-next:hover {
      border-bottom: 1px solid #5e4423; }
    @media screen and (max-width: 859px) {
      .normal-slide .slick-prev,
      .normal-slide .slick-next {
        top: auto;
        bottom: -55px; } }
  .normal-slide .slick-prev {
    background: url("../../img/icon/arrow-normal.svg") no-repeat center top;
    background-size: 20px auto;
    left: 0;
    transform: scale(-1, 1); }
    @media screen and (max-width: 859px) {
      .normal-slide .slick-prev {
        left: 60px; } }
  .normal-slide .slick-next {
    background: url("../../img/icon/arrow-normal.svg") no-repeat center top;
    background-size: 20px auto;
    right: 0; }
    @media screen and (max-width: 859px) {
      .normal-slide .slick-next {
        right: 60px; } }

.sec-keyv .keyv {
  overflow: hidden;
  width: 100%;
  position: relative; }
  .sec-keyv .keyv .wrap {
    position: relative;
    overflow: hidden;
    border-radius: 0 0 0 50px; }
    @media print, screen and (min-width: 860px) {
      .sec-keyv .keyv .wrap {
        width: calc(100% - 226px);
        margin: 0 0 0 auto; } }
    .sec-keyv .keyv .wrap .btn-line {
      width: 220px;
      height: 220px;
      position: absolute;
      left: 53px;
      bottom: 45px;
      background: #fff;
      border-radius: 110px; }
      .sec-keyv .keyv .wrap .btn-line:hover img {
        opacity: 0.7; }
      @media screen and (max-width: 859px) {
        .sec-keyv .keyv .wrap .btn-line {
          width: 150px;
          height: 150px;
          left: 15px;
          bottom: 15px; } }
@keyframes zoomUp {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.15); } }
  .sec-keyv .keyv .keyv-copy {
    line-height: 1.5;
    margin: 0; }
    .sec-keyv .keyv .keyv-copy span {
      display: block; }
    @media print, screen and (min-width: 860px) {
      .sec-keyv .keyv .keyv-copy {
        position: absolute;
        left: 100px;
        top: 30px;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        text-orientation: mixed; }
        .sec-keyv .keyv .keyv-copy .copy-s {
          font-size: 26px;
          font-size: 2.6rem; }
        .sec-keyv .keyv .keyv-copy .copy-l {
          font-size: 38px;
          font-size: 3.8rem; } }
    @media screen and (min-width: 860px) and (max-width: 1200px) {
      .sec-keyv .keyv .keyv-copy {
        left: 4vw; } }
    @media screen and (max-width: 859px) {
      .sec-keyv .keyv .keyv-copy {
        padding: 15px 30px; }
        .sec-keyv .keyv .keyv-copy .copy-s {
          font-size: 18px;
          font-size: 1.8rem; }
        .sec-keyv .keyv .keyv-copy .copy-l {
          font-size: 26px;
          font-size: 2.6rem; } }
.sec-keyv .slide-img img {
  display: block; }

.section {
  padding: 5em 0; }
  @media screen and (max-width: 859px) {
    .section {
      padding: 45px 0; } }
  .section p, .section h2, .section img, .section ul, .section a, .section div {
    mix-blend-mode: initial !important; }

.sec-news {
  padding: 40px 0 0; }
  .sec-news .news-wrap {
    background: #fffcf6;
    border-radius: 10px 0 0 10px;
    padding: 40px 18vw 40px 60px;
    margin-left: 32vw; }
    .sec-news .news-wrap .news-list {
      margin-top: 1em;
      padding: 0; }
      .sec-news .news-wrap .news-list li {
        list-style: none;
        border-bottom: 1px solid #bf9200; }
        .sec-news .news-wrap .news-list li a {
          padding: 1em 2em;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          transition: 0.2s; }
          .sec-news .news-wrap .news-list li a .title {
            padding-left: 1.5em;
            width: calc(100% - 5.5em); }
          .sec-news .news-wrap .news-list li a time {
            width: 5.5em; }
          @media screen and (max-width: 859px) {
            .sec-news .news-wrap .news-list li a .title {
              width: 100%;
              padding: 0; } }
          .sec-news .news-wrap .news-list li a:hover {
            opacity: 0.7;
            transition: 0.2s; }
        .sec-news .news-wrap .news-list li:last-child {
          border-bottom: none; }
    .sec-news .news-wrap .btn {
      text-align: right; }
    @media screen and (max-width: 859px) {
      .sec-news .news-wrap {
        margin-left: 15px;
        padding: 25px 15px 10px 0; }
        .sec-news .news-wrap .sec-title {
          padding-left: 35px; }
          .sec-news .news-wrap .sec-title .news-list li {
            padding-left: 35px; }
        .sec-news .news-wrap .btn {
          margin: 0; } }

/*.sec-news{
	@include mq( $tb , max )  {
		padding: 5em 2em!important;
	}
	.news-wrap{
		@include mq( $tb , min )  {
			display: grid;
			grid-template-columns:22% 78%;
			grid-gap :0 9%;
			grid-template-areas:"item1 item2" "item3 item2";
			.news-title{
				grid-area:item1;
			}
			.news-body{
				grid-area:item2;
			}
			.news-btn{
				grid-area:item3;
			}
		}
	}

	.acms-label{
		margin: 0 10px;
	}
	.title{
		margin-left: 10px;
	}
	.news-title{
		@include mq( $tb , max )  {
			text-align: center;
			width: 100%;
		}
		.title{
			@include mq( $tb , max )  {
				padding: 0 0 1em;
			}
			.en{
				@include font-size(42);
				color: $text-color;
				@include mq( $tb , max )  {
					margin: 0;
					text-align: center;
					line-height: 1.5;
				}
			}
			.jp{
				@include font-size(18);
				color: $green-color;
				margin: 0;
				@include mq( $tb , max )  {
					text-align: center;
				}
			}
		}
	}
	.news-body{
		@include mq( $tb , max )  {
			width: 100%;
			margin-top: 2em;
		}
	}
	.news-btn{
		@include mq( $tb , max )  {
			width: 100%;
			text-align: center;
		}
	}
}*/
.sec-message .message-wrap {
  display: flex; }
  .sec-message .message-wrap .message-img {
    width: 62%;
    border-radius: 0 50px 0 0;
    overflow: hidden; }
    @media screen and (max-width: 859px) {
      .sec-message .message-wrap .message-img {
        width: 71%; } }
  .sec-message .message-wrap .sec-title {
    width: 38%;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    display: flex;
    align-items: end;
    padding-left: 1em; }
    @media screen and (max-width: 859px) {
      .sec-message .message-wrap .sec-title {
        width: 29%; } }
    @media print, screen and (min-width: 860px) {
      .sec-message .message-wrap .sec-title {
        padding-left: 130px; } }
    .sec-message .message-wrap .sec-title h2 {
      color: #4c6e32;
      font-size: 50px;
      font-size: 5rem;
      text-align: left; }
      @media screen and (max-width: 859px) {
        .sec-message .message-wrap .sec-title h2 {
          font-size: 25px;
          font-size: 2.5rem; } }
.sec-message .message-text p {
  font-size: 18px;
  font-size: 1.8rem; }
@media screen and (max-width: 859px) {
  .sec-message .message-text {
    padding: 0 15px; } }

@media print, screen and (min-width: 860px) {
  .sec-kodawari .kodawari-wrap {
    -js-display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -35px;
    margin-right: -35px; }
    .sec-kodawari .kodawari-wrap .kodawari-img {
      width: 55%;
      padding: 0 35px; }
    .sec-kodawari .kodawari-wrap .kodawari-body {
      width: 45%;
      padding: 0 35px; } }
@media screen and (min-width: 1023px) and (max-width: 1200px) {
  .sec-kodawari .kodawari-wrap .kodawari-img {
    width: 50%; }
  .sec-kodawari .kodawari-wrap .kodawari-body {
    width: 50%;
    padding: 0 10vw 0 0; } }
.sec-kodawari .sec-title h2 {
  text-align: left; }
@media screen and (max-width: 859px) {
  .sec-kodawari .kodawari-body {
    margin-top: 1.5em; }
  .sec-kodawari .btn {
    text-align: center; } }

.sec-profile {
  padding: 0; }
  .sec-profile .profile-wrap .profile-img {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 70px;
    background: #ffc2b7;
    background: rgba(255, 138, 123, 0.5); }
    .sec-profile .profile-wrap .profile-img img {
      border-radius: 0 40px; }
    .sec-profile .profile-wrap .profile-img p {
      position: relative;
      margin: 0; }
      .sec-profile .profile-wrap .profile-img p:before {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(100% - 20px);
        height: calc(100% - 20px);
        border-radius: 0 40px;
        border: 1px solid #bf9200; }
  .sec-profile .profile-wrap .profile-body .sec-title h2 {
    text-align: left; }
  .sec-profile .profile-wrap .profile-body .text {
    font-size: 20px;
    font-size: 2rem;
    line-height: 2;
    margin-top: 2em; }
    .sec-profile .profile-wrap .profile-body .text p {
      margin: 0; }
    @media screen and (max-width: 859px) {
      .sec-profile .profile-wrap .profile-body .text {
        margin-top: 1em;
        padding-bottom: 120px; } }
  @media screen and (max-width: 859px) {
    .sec-profile .profile-wrap .profile-body {
      padding: 45px 15px 0;
      position: relative; } }
  @media print, screen and (min-width: 860px) {
    .sec-profile .profile-wrap {
      -js-display: flex;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
      .sec-profile .profile-wrap .profile-img {
        width: 50%;
        padding: 5.5vw 10.2vw; }
      .sec-profile .profile-wrap .profile-body {
        width: 50%;
        padding: 5.4vw 8.5vw 5.4vw 7vw; } }
  .sec-profile .readmore {
    position: relative;
    display: block;
    border: none;
    outline: 0;
    cursor: pointer;
    background: none;
    letter-spacing: 0.1em;
    text-align: center; }
    @media screen and (max-width: 859px) {
      .sec-profile .readmore {
        background: linear-gradient(0deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.4) 82%, rgba(255, 255, 255, 0) 100%);
        padding: 3.5em 0;
        margin: -3.5em -15px !important;
        bottom: 60px;
        position: absolute;
        width: 100%; } }
    .sec-profile .readmore:before {
      /*content: "";*/
      width: 30px;
      height: 30px;
      text-align: center;
      border-radius: 50%;
      /*display: block;*/
      margin: 5px auto 0;
      /*background: url("../../img/icon/arrow-circle_r.svg") no-repeat center / 30px;*/
      transform: rotate(90deg);
      padding: 0 0 1px 3px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: FontAwesome;
      content: "";
      font-size: 12px;
      font-size: 1.2rem;
      border-radius: 15px;
      border: 1px solid #bf9200;
      color: #bf9200;
      transition: 0.3s; }
    .sec-profile .readmore:hover:before {
      /*background: url("../../img/icon/arrow-circle_r_c.svg")no-repeat center center;
      background-size: contain;*/
      transform: rotate(90deg);
      background: #bf9200;
      color: #fff; }
  .sec-profile .readmore.on-click:before {
    transform: rotate(-90deg); }
  .sec-profile .readmore .open {
    display: block; }
  .sec-profile .readmore.on-click .open {
    display: none; }
  .sec-profile .readmore .close {
    display: none; }
  .sec-profile .readmore.on-click .close {
    display: block; }

@media screen and (max-width: 859px) {
  .sec-voice {
    padding-top: 50px; } }
.sec-voice .voice-wrap {
  margin: 20px 0; }
  @media screen and (max-width: 859px) {
    .sec-voice .voice-wrap {
      margin-bottom: 90px; } }
.sec-voice .voice-item {
  padding: 25px; }
  @media screen and (max-width: 859px) {
    .sec-voice .voice-item {
      padding: 5px; } }
  .sec-voice .voice-item .inner {
    background: #fff; }
    .sec-voice .voice-item .inner p {
      margin: 0; }
    .sec-voice .voice-item .inner .text {
      padding: 1em;
      padding-bottom: 0.5em;
      line-height: 1.5; }
    .sec-voice .voice-item .inner .btn {
      font-size: 20px;
      font-size: 2rem;
      padding: 0.5em 50px 20px 1em;
      text-align: right;
      position: relative; }
      .sec-voice .voice-item .inner .btn::after {
        display: block;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        /*content: "";
        display: block;*/
        width: 25px;
        height: 25px;
        /*background: url("../../img/icon/arrow-circle_r.svg")no-repeat center center;
        background-size: contain;*/
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: FontAwesome;
        content: "";
        font-size: 12px;
        font-size: 1.2rem;
        border-radius: 15px;
        border: 1px solid #bf9200;
        color: #bf9200;
        transition: 0.3s; }
    .sec-voice .voice-item .inner .person {
      padding: 5px 5px 0.5em;
      border-top: 1px solid #bf9200; }
  .sec-voice .voice-item a {
    color: #5e4423; }
    .sec-voice .voice-item a:hover .inner .btn::after {
      /*background: url("../../img/icon/arrow-circle_r_c.svg")no-repeat center center;
      background-size: contain;*/
      transition: 0.3s;
      background: #bf9200;
      color: #fff; }

.sec-column .column-item {
  padding: 15px;
  margin-top: 2em; }
  .sec-column .column-item p {
    margin: 0; }
  .sec-column .column-item .thumb {
    padding-bottom: 95%;
    background-size: cover;
    background-position: center center; }
  .sec-column .column-item .date {
    padding: 1em 0; }
  .sec-column .column-item .title {
    padding: 0;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.2; }
    @media screen and (max-width: 859px) {
      .sec-column .column-item .title {
        font-size: 22px;
        font-size: 2.2rem; } }
  .sec-column .column-item .text {
    padding: 1em 0 0.5em;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5; }
  .sec-column .column-item .btn {
    font-size: 20px;
    font-size: 2rem;
    padding: 0.5em 50px 20px 1em;
    text-align: right;
    position: relative; }
    .sec-column .column-item .btn::after {
      display: block;
      position: absolute;
      top: 50%;
      right: 10px;
      transform: translateY(-50%);
      transition: 0.3s;
      /*content: "";
      display: block;*/
      width: 25px;
      height: 25px;
      /*background: url("../../img/icon/arrow-circle_r.svg")no-repeat center center;
      background-size: contain;*/
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: FontAwesome;
      content: "";
      font-size: 12px;
      font-size: 1.2rem;
      border-radius: 15px;
      border: 1px solid #bf9200;
      color: #bf9200;
      transition: 0.3s; }
.sec-column a {
  color: #5e4423; }
  .sec-column a:hover .inner .btn::after {
    /*background: url("../../img/icon/arrow-circle_r_c.svg")no-repeat center center;
    background-size: contain;*/
    transition: 0.3s;
    background: #bf9200;
    color: #fff; }

.sec-faq .faq-contents {
  background: #fff;
  padding: 85px 0 60px;
  margin-top: 55px; }
  @media screen and (max-width: 859px) {
    .sec-faq .faq-contents {
      padding: 30px 15px 45px;
      margin-top: 35px; } }
@media print, screen and (min-width: 860px) {
  .sec-faq .inner {
    width: 860px;
    margin: 0 auto; } }
@media screen and (max-width: 859px) {
  .sec-faq .inner {
    padding: 0 10px; } }

@media print, screen and (min-width: 860px) {
  .sec-last_message {
    padding-bottom: 7em; } }
.sec-last_message .message-box {
  margin-top: 40px; }
  .sec-last_message .message-box .inner {
    border-left: 1.5px solid #bf9200;
    border-right: 1.5px solid #bf9200; }
    .sec-last_message .message-box .inner p {
      margin: 0;
      line-height: 2;
      padding: 50px 55px;
      text-align: left; }
      @media screen and (max-width: 859px) {
        .sec-last_message .message-box .inner p {
          padding: 25px 35px; } }
  .sec-last_message .message-box .line-top,
  .sec-last_message .message-box .line-bottom {
    display: block;
    width: calc(100% - 34px);
    height: 24px;
    position: relative;
    margin: 0 auto; }
    .sec-last_message .message-box .line-top:before, .sec-last_message .message-box .line-top:after,
    .sec-last_message .message-box .line-bottom:before,
    .sec-last_message .message-box .line-bottom:after {
      content: "";
      display: block;
      width: 16.5px;
      height: 25.5px;
      position: absolute; }
  .sec-last_message .message-box .line-top {
    background: url("../../img/icon/bg_kado-line.svg") repeat-x 0 0;
    background-size: 7px auto; }
    .sec-last_message .message-box .line-top:before, .sec-last_message .message-box .line-top:after {
      background: url("../../img/icon/bg_kado.svg") no-repeat 0 0;
      background-size: contain; }
    .sec-last_message .message-box .line-top:before {
      top: 0;
      left: -16px; }
    .sec-last_message .message-box .line-top:after {
      transform: scale(-1, 1);
      top: 0;
      right: -16px; }
  .sec-last_message .message-box .line-bottom {
    background: url("../../img/icon/bg_kado-line.svg") repeat-x 0 100%;
    background-size: 7px auto; }
    .sec-last_message .message-box .line-bottom:before, .sec-last_message .message-box .line-bottom:after {
      background: url("../../img/icon/bg_kado.svg") no-repeat 0 0;
      background-size: contain; }
    .sec-last_message .message-box .line-bottom:before {
      transform: scale(1, -1);
      bottom: 0;
      left: -16px; }
    .sec-last_message .message-box .line-bottom:after {
      transform: scale(-1, -1);
      bottom: 0;
      right: -16px; }
