@charset "UTF-8";
/* 共通 */
html {
  font-size: 100%;
}
body {
  position: relative;
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-weight: 600;
  color: #806660;
  font-size: 16px;
  background: #fffcf4;
  -webkit-font-smoothing: antialiased; /*アンチエイリアスを滑らかに*/
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.1em;
  line-height: 1.9;
}
a {
  text-decoration: none;
  transition: .4s;
}
ul, ol {
  list-style: none;
  padding: 0;
}
main {
  display: block;
  position: relative;
  overflow: hidden;
}
main section {
  padding: 100px 0 130px;
  position: relative;
}
main section.stb {
  padding: 110px 0;
}
@media (max-width: 550px) {
  main section {
    padding: 60px 0 75px;
  }
  main section.stb {
    padding: 60px 0;
  }
}
/* 画像 */
img {
  line-height: 1;
  vertical-align: top;
  max-width: 100%;
  transition: .4s;
}
/* テキスト */
p {
  margin-bottom: 10px;
}
.marker {
  text-decoration: underline;
  text-decoration-thickness: 0.45em;
  text-decoration-color: rgba(252, 196, 4, 0.6);
  text-underline-offset: -0.05em;
  text-decoration-skip-ink: none;
}
/*見出し01*/
.maintitle {
  margin-bottom: 65px;
  display: block;
  text-align: center;
  line-height: 1.45;
  position: relative;
  font-weight: 600;
  font-size: clamp(1.5rem, 0.75rem + 2.4vw, 2.1rem);
  letter-spacing: 0.02em;
  color: #806660;
}
.ib {
  display: inline-block;
}
.maintitle span.ib {
  color: #806660;
}
.maintitle.mtleft {
  text-align: left;
}
.txtmgb {
  margin-bottom: 35px !important;
}
.maintitle span, .maintitle:first-letter {
  color: #ff9e42; /* #f5aa5b */
}
@media (max-width: 550px) {
  .txtmgb {
    margin-bottom: 27px !important;
  }
  .maintitle {
    margin-bottom: 40px;
  }
}
/*見出し02*/
.mtitle {
  font-weight: 600;
  position: relative;
  margin-bottom: 45px;
  letter-spacing: 0.1em;
  font-size: clamp(1.15rem, 0.5875rem + 1.8vw, 1.6rem);
  line-height: 1.7;
  text-align: center;
  border-bottom: 4px double #ff9e42;
  border-top: 4px double #ff9e42;
  color: #ff9e42;
  padding: 10px 0;
}
.mtitle span {
  font-size: 56%;
  position: relative;
  padding-left: 40px;
}
.mtitle span::before {
  background-color: #ff9e42;
  position: absolute;
  content: "";
  top: 0.75em;
  left: 0;
  width: 29px;
  height: 1px;
}
@media (max-width: 550px) {
  .mtitle {
    padding: 5px 0;
    margin-bottom: 35px;
  }
}
/*見出し03*/
.stitle {
  font-weight: 600;
  position: relative;
  font-size: clamp(1.15rem, 0.8375rem + 1vw, 1.4rem);
  margin-bottom: 20px;
  padding-bottom: 8px;
  padding-left: 2px;
  color: #806660;
  line-height: 1.7;
  border-bottom: 2px solid #ff9e42;
}
.stitle span {
  font-size: 76%;
  color: #ff9e42;
  margin-right: 12px;
}
@media (max-width: 1060px) {
  .stitle {
    line-height: 1.9;
  }
  .stitle span {
    font-size: 70%;
    display: block;
  }
}
@media (max-width: 750px) {
  .stitle {
    margin-bottom: 15px;
  }
}
/*ボタン*/
.mainbtn a {
  position: relative;
  vertical-align: middle;
  margin: 0 auto;
  padding: 10px;
  transition: .4s;
  display: inline-block;
  width: 250px;
  text-align: center;
  color: #fff;
  background: #ff9e42;
  border: 1px solid #ff9e42;
  z-index: 1;
  overflow: hidden;
  border-radius: 50px;
}
section .mainbtn a::before {
  position: absolute;
  top: 50%;
  right: 15px;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  line-height: 1;
  transform: translate(0, -50%);
  font-size: .75em;
}
.mainbtn a:hover {
  color: #ff9e42;
  background: #fff;
  transition: .4s;
}
@media (max-width: 550px) {
  .mainbtn {
    margin: auto;
  }
  .mainbtn a {
    font-size: 95%;
    width: 215px;
    padding: 7px;
  }
}
/*flex要素*/
.flexbox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (max-width: 750px) {
  .flexbox {
    display: block;
  }
  .flexbox img {
    width: 100%;
    margin-bottom: 13px;
  }
  .flexbox div {
    width: 100%;
  }
}
.reverse {
  flex-direction: row-reverse;
}
/*幅*/
.inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
@media (min-width: 1700px) {
  .inner02 {
    max-width: 1250px;
    width: 92%;
    margin: 0 auto;
  }
}
@media (max-width: 1699px) {
  .inner02 {
    max-width: 100%;
    width: 100%;
  }
  .mauto {
    margin-left: auto;
    margin-right: auto;
  }
  .mauto.w48 {
    width: 42%;
  }
  .inner02 .flexbox .rimg img {
    border-radius: 0 10px 10px 0;
  }
  .inner02 .reverse .rimg img {
    border-radius: 10px 0 0 10px;
  }
}
@media (max-width: 750px) {
  .inner02 {
    width: 90%;
    margin: 0 auto;
  }
  .mauto.w48 {
    width: 100%;
  }
  .inner02 .flexbox .rimg img {
    border-radius: 10px !important;
    margin-bottom: 17px;
  }
}
.w65 {
  width: 65%;
}
.w54 {
  width: 54%;
}
.w48 {
  width: 48%;
}
.w42 {
  width: 42%;
}
.w32 {
  width: 31.5%;
}
/* 背景 */
.bg_cream, .bg_yellow {
  position: relative;
}
.bg_cream::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff8e6; /*#fff9e8*/
  z-index: -100;
}
.bg_yellow::before {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -30;
  background: url(../img/bg_yellow.jpg) no-repeat center/cover;
  opacity: 0.7;
  box-shadow: 0 8px 7px -3px #fffcf4 inset, 0 -8px 7px -3px #fffcf4 inset;
}
.bsnone.bg_yellow::before {
  box-shadow: none;
}
/* イラスト背景 */
.bg01 {
  position: relative;
}
.bg01::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../img/bg01top.svg), url(../img/bg01bottom.svg);
  opacity: 0.5;
  background-position: top center, bottom center;
  z-index: -1;
  background-repeat: no-repeat;
  background-size: cover;
}
.bg02 {
  padding-bottom: 170px !important;
}
.bg02::before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/bg02.png);
  background-repeat: repeat-x;
  background-position: bottom center;
  background-size: 860px;
  z-index: -50;
  opacity: 0.6;
}
@media (max-width: 700px) {
  .bg02::before {
    background-size: 600px;
  }
}
@media (max-width: 550px) {
  .bg02 {
    padding-bottom: 125px !important;
  }
}
.bg03 {
  position: relative;
}
.bg03::before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/bg03a.png), url(../img/bg03b.png);
  background-repeat: no-repeat;
  background-position: top left 1%, bottom right 1%;
  background-size: 30%;
  z-index: -1;
  opacity: 0.2;
}
@media (max-width:550px) {
  .bg03::before {
    background-size: 200px;
  }
}
.bg04 {
  position: relative;
}
.bg04::before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/bg04.png);
  background-repeat: no-repeat;
  background-position: top 10px left 1%;
  background-size: 30%;
  z-index: -1;
  opacity: 0.2;
}
@media (max-width:550px) {
  .bg04::before {
    background-size: 200px;
  }
}
/* 葉っぱ */
.leaf01 {
  position: relative;
}
.leaf01::before {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-image: url(../img/leaf01.png);
  background-size: cover;
  background-position: top right;
  z-index: -1;
  opacity: 0.3;
}
@media (max-width: 750px) {
  .leaf01::before {
    opacity: 0.25;
  }
}
.leaf02::before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/leaf02.png);
  background-repeat: no-repeat;
  background-position: top left -0.5%;
  background-size: 24%;
  z-index: -1;
  opacity: 0.4;
}
@media (max-width: 750px) {
  .leaf02::before {
    background-size: 130px;
  }
  .spleaf.leaf02::before {
    background-position: top 2% left -30px;
    background-size: 150px;
    z-index: 2;
    transform: scaleX(-1);
    opacity: 0.6;
  }
}
.leaf03 {
  position: relative;
}
.leaf03::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../img/leaf03.png);
  opacity: 0.15;
  background-position: top center;
  z-index: -1;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 750px) {
  .leaf03::before {
    background-size: contain;
  }
}
/* イラスト 反転 */
.bgx::before, .bgx::after {
  transform: scaleX(-1);
}
.bgy::before, .bgy::after {
  transform: scaleY(-1);
}
.bgxy::before, .bgxy::after {
  transform: scaleX(-1) scaleY(-1);
}
/* イラスト */
.secimg {
  width: 100%;
  max-width: 90%;
  text-align: center;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.tl_illust {
  position: absolute;
  top: -7%;
  left: -3%;
  width: 20% !important;
  opacity: 0.75;
}
.tl_illust img {
  border-radius: 0 !important;
}
.br_illust {
  position: absolute;
  bottom: 0;
  right: -3%;
  width: 24% !important;
  opacity: 0.75;
}
.br_illust img {
  border-radius: 0 !important;
}
@media (max-width: 750px) {
  .tl_illust {
    top: -1%;
  }
  .br_illust {
    bottom: -6%;
  }
}
/*画像*/
.rimg img {
  border-radius: 10px;
}
/*=== 共通部分ここまで ===*/
/* header */
.header_sticky {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  box-shadow: 0px 4px 4px -5px rgba(0, 0, 0, 0.2);
  background-color: #fdfdfa;
}
.header {
  padding: 1px 0 0;
  transition: all .5s;
  width: 100%;
  position: relative;
}
.header_inner {
  max-width: 1200px;
  width: 96%;
  margin: 15px auto 17px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header_title a {
  display: flex;
  align-items: center;
}
.header_logo {
  width: 245px;
}
.header h1 {
  transition: .3s;
  z-index: 110;
}
.header_title:hover h1 {
  opacity: 0.7;
  transition: .3s;
}
.header .inner {
  max-width: 1200px;
}
.header ul {
  display: flex;
  text-align: center;
  align-items: center;
  overflow: hidden;
}
.header ul li {
  min-width: 130px;
}
.border_b {
  border-top: 1px solid #eee;
}
.border_b .inner {
  width: 98%;
  max-width: fit-content;
}
.header ul li a {
  display: block;
  width: 100%;
  transition: all .3s;
  position: relative;
  top: 0;
  padding: 13px 25px;
  color: #806660;
  font-size: 0.87rem;
  border-left: 1px dashed #eee;
  line-height: 1.8;
  white-space: nowrap;
}
.header ul li:last-child a {
  border-right: 1px dashed #eee;
}
.header ul li a:hover {
  color: #ff9e42;
}
.header ul li a span {
  display: block;
  font-size: 50%;
  color: #ff9e42;
  transition: all .3s;
  text-transform: uppercase;
  white-space: nowrap;
}
.header ul li a:hover span {
  color: #fcc404;
}
/*
.header ul li a::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 20px;
	height: 20px;
	background: #fcc404;
	border-radius: 100%;
	transition: all .4s ease-in;
	opacity: 0;
}
.header ul li a:hover::after {
	opacity: 0.1;
	width: 38px;
	height: 38px;
}
*/
.header_nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header_nav .f_link_btns {
  margin-top: 3px;
  margin-left: 10px;
}
.header_item {
  display: flex;
  justify-content: flex-end;
}
.header_item .mainbtn a {
  padding: 5px;
  width: 190px;
  font-size: 90%;
  background: #ff9e42;
}
.header_item .mainbtn a:hover {
  border: 1px solid #ff9e42;
  color: #ff9e42;
  background: #fff;
}
.btnright a {
  border: 1px solid #fcc404 !important;
  color: #fff !important;
  background: #fcc404 !important;
}
.btnright a:hover {
  color: #fcc404 !important;
  background: #fff !important;
}
.header_item > div {
  margin: 0 5px;
}
.menu_btn {
  position: fixed;
  top: 19px;
  right: 16px;
  cursor: pointer;
  display: flex;
  height: 55px;
  width: 23px;
  justify-content: center;
  align-items: center;
  z-index: 110;
  opacity: 1;
  transition: .3s;
}
.menu_btn span, .menu_btn span:before, .menu_btn span:after {
  content: '';
  display: block;
  height: 2px;
  width: 33px;
  background: #ff9e42;
  position: absolute;
  transition: all 0.4s;
}
.menu_btn span:before {
  bottom: 7px;
}
.menu_btn span:after {
  top: 7px;
}
#menu_btn_check:checked ~ .menu_btn {
  filter: none;
}
#menu_btn_check:checked ~ .menu_btn span {
  background-color: rgba(255, 255, 255, 0) !important;
  transition: all 0.4s;
}
#menu_btn_check:checked ~ .menu_btn span::before {
  bottom: 0;
  transform: rotate(45deg) !important;
  transition: all 0.4s;
}
#menu_btn_check:checked ~ .menu_btn span::after {
  top: 0;
  transform: rotate(-45deg) !important;
  transition: all 0.4s;
}
#menu_btn_check {
  display: none;
}
.menu_content {
  width: 100%;
  height: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 80;
  overflow: auto;
}
.menu_content .menu_padding {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 600px;
  width: 95%;
}
/* 高さ */
@media (max-height: 775px) {
  .menu_content .menu_padding {
    position: initial;
    padding: 60px 0;
    transform: translate(0, 0);
    margin: auto;
  }
}
.menu_content nav {
  padding: 0 30px 40px;
}
.menu_content ul {
  text-align: center;
}
.menu_content ul li {
  padding: 3px 0;
  margin: 3px 0;
  list-style: none;
  border-bottom: 1px dashed #fcc404;
  text-align: left;
}
.menu_content ul li a {
  display: block;
  width: 100%;
  font-size: 0.95rem;
  box-sizing: border-box;
  text-decoration: none;
  padding: 8px 5px;
  color: #806660;
  position: relative;
  line-height: 1.65;
}
.menu_content ul li a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-weight: bold;
  margin-right: 5px;
  color: #ff9e42;
}
.menu_content ul li a:hover {
  opacity: 0.6;
}
.menu_content {
  width: 100%;
  height: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  transition: all 0.6s;
  pointer-events: none;
  opacity: 0;
  background: #fff;
  background-size: cover;
  background-position: 30% 50%;
}
.menu_content .mainbtn {
  text-align: center;
  margin-bottom: 5px;
}
.menu_content .mainbtn:last-child {
  margin-bottom: 0;
}
.menu_content .mainbtn a:after {
  content: none;
}
.menu_content .mainbtn a {
  padding: 10px;
}
#menu_btn_check:checked ~ .menu_content {
  opacity: 1;
  pointer-events: auto;
}
.menu_btn_mgt, .hamburger_menu, .header_inner label {
  display: none;
}
@media (max-width: 1375px) {
  .header ul li a {
    padding: 13px 1vw;
  }
}
@media (max-width: 1275px) {
  .header ul {
    width: fit-content;
    margin: auto;
  }
  .header ul li {
    min-width: auto;
  }
  .header ul li a {
    font-size: 1.17vw;
    padding: 13px;
  }
  .border_b .inner {
    max-width: 100%;
  }
}
@media (max-width: 1040px) {
  .border_b {
    border-top: none;
  }
  .header {
    padding: 10px;
  }
  .menu_btn_mgt, .hamburger_menu, .header_inner label {
    display: block;
  }
  .header_nav {
    display: none;
  }
  .header .inner {
    display: none;
  }
  .header_inner {
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }
  .header_logo {
    width: 240px;
    pointer-events: auto;
  }
  .menu_btn {
    top: 15px;
    right: 24px;
    pointer-events: auto !important;
  }
}
@media (max-width: 550px) {
  .header {
    padding: 6px 9px;
  }
  .header_logo {
    width: 170px;
  }
  .menu_content .mainbtn a {
    width: 85%;
    padding: 6.5px !important;
    font-size: 0.85rem;
  }
  .menu_content ul li a {
    padding: 7px 0;
    font-size: 0.87rem;
  }
  .menu_padding ul li a span {
    font-size: 80%;
  }
  .menu_content .mainbtn {
    margin: 0 15px;
    margin-bottom: 5px;
  }
  .menu_btn {
    top: 2px;
    right: 19px;
  }
}
/* footer */
.footer_contact {
  padding: 60px 0 80px;
}
.footer_contact .maintitle {
  margin-bottom: 45px;
}
.footer_bg {
  position: relative;
}
.footer_bg::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  z-index: -100;
}
.footer_bg::before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(../img/footer.png);
  background-repeat: repeat-x;
  background-position: bottom left;
  z-index: -50;
  opacity: 0.6;
  background-size: cover;
}
@media (max-width: 750px) {
  .footer_contact {
    padding: 60px 0;
  }
  .footer_bg::before {
    background-position: bottom left 2%;
    background-size: 900px;
  }
}
@media (max-width: 550px) {
  .footer_contact .maintitle {
    margin-bottom: 37px;
  }
  .footer_contact {
    padding: 45px 0;
  }
}
/* footer ボタン */
.cbtnwrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 90%;
  max-width: 920px;
  margin: auto;
}
.cbtnwrap .cbtn {
  width: 22.5%;
  position: relative;
  transition: .6s;
}
.cbtnwrap .cbtn:nth-child(2n) {
  top: 20px;
}
.cbtnwrap .cbtn a i {
  margin-right: 5px;
  margin-bottom: 8px;
  font-size: 1.3rem;
}
.cbtnwrap .cbtn a {
  position: relative;
  margin: auto;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: url(../img/bg_orange.jpg) no-repeat center/cover;
  color: #fff;
  font-size: 1.2rem;
  white-space: nowrap;
}
.cbtnwrap .cbtn a::before {
  content: '';
  display: block;
  position: absolute;
  top: 7px;
  right: -13px;
  width: 100%;
  height: 100%;
  z-index: -3;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  background: url(../img/bg_orange.jpg) no-repeat center/cover;
  opacity: 0.4;
}
.cbtnwrap .cbtn:hover {
  transform: scale(1.05);
}
@media (max-width: 950px) {
  .cbtnwrap .cbtn a i {
    font-size: 2vw;
    margin-bottom: 5px;
  }
  .cbtnwrap .cbtn a {
    font-size: 1.9vw;
  }
}
@media (max-width: 750px) {
  .cbtnwrap .cbtn:hover {
    transform: scale(1);
  }
  .cbtnwrap .cbtn a::before {
    top: 5px;
    right: -7px;
  }
  .cbtnwrap {
    max-width: 420px;
  }
  .cbtnwrap .cbtn {
    width: 47.5%;
    margin-bottom: 13px;
  }
  .cbtnwrap .cbtn:nth-child(2n) {
    top: 0;
  }
  .cbtnwrap .cbtn a i {
    font-size: 1.2rem;
    margin-bottom: 7px;
  }
  .cbtnwrap .cbtn a {
    font-size: 1.1rem;
  }
}
@media (max-width: 550px) {
  .cbtnwrap {
    max-width: 415px;
    width: 85%;
  }
  .cbtnwrap .cbtn a i {
    font-size: 4.5vw;
    margin-bottom: 5px;
  }
  .cbtnwrap .cbtn a {
    font-size: 4.05vw;
  }
}
/* ロゴとアドレス */
.footer_address {
  position: relative;
  text-align: center;
  padding: 35px 0;
  background: #fdfdfa;
}
.footer_address .maintitle {
  margin: 1% auto 2%;
}
.footer_address a {
  display: inline-block;
}
.flogo {
  width: 330px;
  margin-bottom: 17px;
}
@media (max-width: 750px) {
  .flogo {
    width: 285px;
  }
}
@media (max-width: 550px) {
  .flogo {
    max-width: 83%;
    width: 290px;
  }
}
.footer_address p {
  margin-bottom: 0;
}
.address br {
  display: none;
}
.telfax br {
  display: none;
}
@media (max-width: 550px) {
  .address br {
    display: block;
  }
  .footer_address p {
    margin-bottom: 7px;
  }
}
@media (max-width: 550px) {
  .telfax span {
    display: none;
  }
  .telfax br {
    display: block;
  }
  .footer_address {
    padding: 33px 0 23px;
  }
}
/* コピーライト */
.copyright {
  text-align: center;
  padding: 5px 3px 8px;
  color: #fff;
  background: #ff9e42;
}
@media (max-width: 550px) {
  .copyright {
    font-size: 0.8rem;
  }
}
/*ページ上に戻るボタン*/
.go_top {
  display: block;
  width: 57px;
  height: 57px;
  box-sizing: border-box;
  background: #ff9e42;
  border: 1px solid #fdfdfa;
  padding-top: 30px;
  text-align: center;
  letter-spacing: -1px;
  font-size: 85%;
  text-decoration: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 9;
  border-radius: 50px;
}
.go_top::before {
  font-family: "Font Awesome 5 Free";
  content: "\f077";
  font-weight: bold;
  color: #fff;
  font-size: 1.5rem;
  position: absolute;
  top: 45%;
  left: 49.5%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.go_top:hover {
  opacity: 0.6;
}
.tfade {
  position: relative;
  z-index: 9;
}
@media(max-width:550px) {
  .go_top {
    width: 50px;
    height: 50px;
    right: 15px;
    opacity: 1;
  }
  .go_top::before {
    font-size: 1.2rem;
  }
}
/* スライド */
.topslide {
  overflow: hidden;
  position: relative;
}
.topslide::before {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #111;
  z-index: 1;
  opacity: 0.07;
}
.slide_items {
  position: relative;
  width: 100%;
}
.slide_items img {
  width: 100%;
  height: calc(100vh - 175px);
  min-height: 520px;
  object-fit: cover;
}
/*スライドアニメーション*/
@keyframes fadezoom {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
.slick-animation {
  animation: fadezoom 10s linear 0s normal both;
}
.slide_text {
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-size: 3.7rem;
  letter-spacing: 0.06em;
  color: #fff;
  z-index: 2;
  line-height: 1.5;
  text-align: center;
  text-shadow: 0px 2.5px 3px rgb(0 0 0 / 10%), 0px -2.5px 3px rgb(0 0 0 / 5%);
}
.slide_text p {
  margin-bottom: 0;
}
.glowAnime span {
  opacity: 0;
  display: inline-block;
}
/*文字アニメーション*/
.glowAnime.glow span {
  animation: glow_anime_on .6s ease forwards;
  animation-duration: 2.2s;
}
@keyframes glow_anime_on {
  0% {
    opacity: 0;
    transform: scale(1.4);
  }
  100% {
    opacity: 1;
    transform: scale(1.0);
  }
}
@media (max-width: 1175px) {
  .slide_text {
    font-size: 3rem;
  }
  .slide_items img {
    min-height: auto;
    height: 650px;
  }
}
@media (max-width: 755px) {
  .slide_text {
    font-size: 2.1rem;
  }
  .slide_items img {
    height: 480px;
  }
}
@media (max-width: 555px) {
  .slide_items img {
    height: 375px;
  }
  .slide_text {
    font-size: 6.5vw;
  }
}
.pdb0 {
  padding-bottom: 0 !important;
}
.pdb {
  padding-bottom: 50px !important;
}
@media (max-width: 550px) {
  .pdb {
    padding-bottom: 30px !important;
  }
}
.center {
  text-align: center;
}
.spblock {
  display: none;
}
@media (max-width:750px) {
  .spblock {
    display: block;
  }
  .spnone {
    display: none;
  }
  .spcenter {
    text-align: center !important;
  }
}
.fitc {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.tbtn {
  margin-top: 45px;
}
@media (max-width: 550px) {
  .tbtn {
    margin-top: 30px;
  }
}
.aic {
  align-items: center;
}
/*アニメーション*/
/*flowup*/
.flowup {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 1.1s, transform 1.4s;
  transition-delay: 0.3s;
}
.flowup.inview {
  opacity: 1;
  transform: translateY(0);
}
/*delay*/
.delay01 {
  transition-delay: 0.65s !important;
}
.delay02 {
  transition-delay: 0.85s !important;
}
/*新着情報*/
#newsWrap {
  position: relative;
}
/*鳥*/
.bird {
  position: absolute;
  top: -15%;
  left: -4%;
  width: 13%;
}
@media (max-width: 750px) {
  .bird {
    width: 85px;
  }
}
.news {
  padding: 90px 0 60px;
}
.news .inner {
  max-width: 1100px;
}
.news .maintitle {
  margin-bottom: 30px;
}
@media (max-width: 750px) {
  .news .maintitle {
    margin-bottom: 15px;
  }
  .news {
    padding: 55px 0 20px;
  }
}
/*ご挨拶*/
@media (max-width: 885px) {
  .wtext {
    text-align: left;
  }
}
/* イラスト 回転 */
.rotation {
  position: absolute;
  right: -5%;
  top: -150px;
  animation: rotateanim 65s linear infinite normal;
  z-index: -1;
  opacity: 0.3;
  width: 32%;
}
@keyframes rotateanim {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media (max-width: 1175px) {
  .rotation {
    top: -8%;
    width: 45%;
  }
}
@media (max-width: 550px) {
  .rotation {
    top: -60px;
    right: -55px;
    width: 250px;
  }
}
/* 画像 */
.welcomeimg {
  position: relative;
  flex-wrap: nowrap;
  max-width: 1000px;
  margin: 0 auto 70px;
}
.welcomeimg div {
  width: 55%;
}
.welcomeimg div:first-child {
  margin-top: -30px;
  margin-right: -25px;
  transform: rotate(-4deg)
}
.welcomeimg div:last-child {
  margin-bottom: -30px;
  margin-left: -25px;
  transform: rotate(4deg)
}
@media(max-width:750px) {
  .welcomeimg div:first-child, .welcomeimg div:last-child {
    margin: 0;
    width: 75%;
  }
  .welcomeimg div:last-child {
    margin-left: auto;
    margin-top: -15px;
  }
}
@media (max-width: 550px) {
  .welcomeimg {
    position: relative;
    margin-bottom: 20px;
  }
}
/*共同生活援助・ご利用対象者*/
/*イラスト*/
.center_rotation {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: -1;
  opacity: 0.3;
  width: 22%;
  max-width: 400px;
}
.center_rotation img {
  animation: rotateanim 65s linear infinite normal;
}
@media (max-width: 1090px) {
  .center_rotation {
    width: 32%;
  }
}
@media (max-width: 945px) {
  .center_rotation {
    display: none;
  }
}
/**/
.psr {
  position: relative;
}
.imgtopback .tl_illust {
  position: absolute;
  top: -16%;
  left: -4%;
  width: 24% !important;
  z-index: -2;
  opacity: 0.35;
}
@media (max-width: 750px) {
  .imgtopback .tl_illust {
    opacity: 0.65;
    z-index: 1;
  }
}
/*施設紹介*/
.maintitle img {
  display: block;
  width: 80px;
  margin: -50px auto 15px;
}
@media(max-width:550px) {
  .maintitle img {
    margin: -15px auto 12px;
    width: 55px;
  }
}
.links .inner {
  max-width: 1200px;
  width: 97%;
}
.links .flexbox {
  justify-content: center;
}
.link {
  margin: 0 1.15% 40px;
  width: 31%;
}
.link a {
  display: block;
  position: relative;
}
.linkimg img {
  margin-bottom: 0 !important;
  object-fit: cover;
  width: 100%;
  height: 260px;
}
.linkimg {
  border-radius: 10px;
  overflow: hidden;
}
.link a:hover .linkimg img {
  transform: scale(1.05, 1.05);
  transition: .6s;
}
.linktext p {
  margin-bottom: 0;
}
.linktext {
  color: #806660;
  position: absolute;
  bottom: -15px;
  left: 0;
  padding: 10px;
  background: #fff;
  margin-bottom: 0;
  font-size: 1.07rem;
  width: 255px;
  border-radius: 0 10px 0 0;
  box-shadow: rgb(0 0 0 / 2.5%) 0px 2px 8px 0px;
}
.linktext::after {
  position: absolute;
  top: 50%;
  right: 15px;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  line-height: 1;
  transform: translate(0, -50%);
  font-size: .7em;
  color: #fcc404;
  background: #fff;
  border: 1px solid #fcc404;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .6s;
}
.link a:hover .linktext::after {
  color: #fff;
  background: #fcc404;
  transition: .3s;
}
@media(max-width:1400px) {
  .linkimg img {
    height: 20vw;
  }
}
@media(max-width:1250px) {
  .link {
    margin: 0 1% 35px;
    width: 31%;
  }
  .linktext {
    font-size: 1.07rem;
    width: 255px;
  }
}
@media(max-width:1200px) {
  .links .inner {
    width: 88%;
  }
  .link {
    margin: 0 1.5% 40px;
    width: 46.5%;
  }
  .linkimg img {
    height: 25vw;
  }
}
@media(max-width:1000px) {
  .links .flexbox {
    justify-content: center;
  }
  .links {
    padding-bottom: 50px;
  }
}
@media(max-width:750px) {
  .link {
    margin: 0 0 37px;
  }
  .link:last-child {
    margin-bottom: 0 !important;
  }
  .linktext {
    font-size: 100%;
    width: 245px !important;
  }
  .links {
    padding-bottom: 100px;
  }
  .linkimg img {
    height: 59vw;
  }
}
@media(max-width:550px) {
  .links {
    padding-bottom: 80px;
  }
}
/* 下層ページトップ ===============================================================================================*/
.fv {
  padding: 120px 0;
  width: 100%;
  display: flex;
  align-items: center;
  background: url(../img/fv.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 47%;
  position: relative;
  /*box-shadow: 0 -8px 7px -3px #fffcf4 inset;*/
}
.fv::before {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #fff;
  opacity: 0.2;
}
.fv .inner {
  max-width: 95%;
}
.fv h2 {
  margin-bottom: 7px !important;
  z-index: 1;
}
.fv .maintitle:first-letter {
  color: #806660;
}
@media(max-width:1150px) {
  .fv {
    padding: 90px 0;
  }
}
@media(max-width:550px) {
  .fv {
    padding: 50px 0;
  }
  .fv h2 {
    margin-bottom: 5px !important;
  }
}
/* breadcrumb */
.binner {
  width: 100%;
  max-width: 100% !important;
  font-size: 1.1rem;
  position: relative;
  color: #806660;
}
.breadcrumb {
  z-index: 1;
  text-align: center;
  line-height: 1.35;
}
.breadcrumb li {
  display: inline;
  list-style: none;
}
.breadcrumb li:after {
  content: '>';
  padding: 0 0.2em;
  position: relative;
  top: -0.1em;
}
.breadcrumb li:last-child:after {
  content: '';
}
.breadcrumb li a {
  text-decoration: none;
  color: #806660;
}
.breadcrumb li:first-child a::before {
  font-family: "Font Awesome 5 Free";
  content: '\f015';
  font-weight: bold;
  font-size: 90%;
  position: relative;
  top: -0.05em;
}
@media(max-width:750px) {
  .breadcrumb {
    font-size: 0.87rem;
  }
}
/* コージーホーム高尾・コージーホーム頃末南・ミライホーム曽根ページ =============================================================================================*/
/*魅力*/
.feature p {
  padding: 13px;
  background: #fff;
  border: 2px solid #fff4d6;
  border-radius: 5px;
}
.feature p span {
  padding-left: 22px;
  position: relative;
  display: inline-block;
}
.feature p span::before {
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  font-weight: bold;
  display: inline-block;
  color: #fcc404;
  font-size: .9em;
  position: absolute;
  top: 0.15em;
  left: 0;
}
@media(max-width:550px) {
  .feature p {
    margin-bottom: 7px;
  }
  .feature p {
    padding: 7px;
  }
}
/*空室状況*/
.nkmgb {
  margin-bottom: 20px;
}
.nktext {
  font-size: 1.6rem;
}
.notes p {
  margin-bottom: 0;
  font-size: 1.2rem;
}
@media(max-width:550px) {
  .nkmgb {
    margin-bottom: 10px;
  }
  .nktext {
    font-size: 1.3rem;
  }
}
/*サービス内容*/
.services {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sibox {
  width: 18%;
}
.sibox img {
  height: 75px !important;
  filter: brightness(110%);
  margin: auto;
  margin-bottom: 13px !important;
}
.sibox p {
  font-size: 107%;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding-left: 21px;
  position: relative;
  white-space: nowrap;
  margin-bottom: 0;
}
.sibox p::before {
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  font-weight: bold;
  display: inline-block;
  color: #fcc404;
  font-size: .9em;
  position: absolute;
  top: 0.15em;
  left: 0;
}
@media(max-width:1150px) {
  .sibox p {
    font-size: 93%;
  }
}
@media(max-width:965px) {
  .services {
    justify-content: center;
    max-width: 700px;
    margin: auto;
  }
  .sibox {
    margin: 0 1% 30px;
    width: 31%;
  }
  .sibox p {
    font-size: 100%;
  }
}
@media(max-width:550px) {
  .services {
    max-width: 330px;
  }
  .sibox {
    margin: 0 0.5% 22px;
    width: 48%;
  }
  .sibox:last-child {
    margin-bottom: 0;
  }
  .sibox p {
    padding-left: 10%;
    font-size: 0.85rem;
  }
  .sibox img {
    height: 50px !important;
  }
}
@media(max-width:355px) {
  .sibox p {
    font-size: 3.7vw;
  }
}
/*施設紹介*/
.photos {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.photo {
  position: relative;
  margin: 0 1% 35px;
  width: 31%;
}
.photo div {
  position: relative;
}
.photo div::before {
  content: '';
  display: block;
  padding-top: 70%; /*高さの比率*/
}
.photo div img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s ease;
  border-radius: 10px;
}
.photo p {
  position: absolute;
  bottom: -15px;
  left: -0.7px;
  padding: 7px 20px;
  background: #fff;
  margin-bottom: 0;
  width: fit-content;
  border-radius: 0 10px 0 0;
  box-shadow: rgb(0 0 0 / 2.5%) 0px 2px 8px 0px;
  white-space: nowrap;
}
@media(max-width:930px) {
  .photo p {
    font-size: 90%;
    padding: 3px 15px;
  }
}
@media(max-width:750px) {
  .photos {
    display: block;
  }
  .photo {
    margin: 0 0 15px;
    width: 100%;
  }
  .photo p {
    font-size: 100%;
    bottom: -0.7px;
    box-shadow: none;
    border-radius: 0 10px 0 10px;
  }
}
/*基本的な1日の流れ*/
.flow {
  position: relative;
}
.flow::before {
  content: "";
  width: 8px;
  height: 97%;
  background-color: #fcc404;
  display: block;
  position: absolute;
  bottom: -3px;
  left: 19px;
  opacity: 0.45;
}
.flow .flowd:last-child {
  margin-bottom: 0 !important;
}
.flow .flowd {
  padding-left: 65px;
  position: relative;
  margin-bottom: 25px;
}
/* 左側 円 */
.flow .flowd::before {
  content: "";
  display: block;
  position: absolute;
}
.flow .flowd::before {
  z-index: 1;
  width: 75px;
  height: 75px;
  background: #ff9e42;
  border-radius: 50%;
  top: 0;
  left: -15px;
}
/* 左側 時間 */
.ftime {
  font-size: 0.8rem;
  position: absolute;
  top: 52%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: -3px;
  z-index: 3;
  color: #fff;
}
.ftshort {
  padding-left: 5px;
}
/* 吹き出し */
.flow .fwrap {
  position: relative;
  background-color: #fff;
  padding: 20px;
  margin-left: 1em;
  border-left: solid 8px #fcc404;
}
.fwrap::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: -30px;
  display: inline-block;
  border-style: solid;
  border-width: 15px;
  border-color: rgba(0, 0, 0, 0) #fcc404 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
}
.fwrap p {
  margin-bottom: 0;
}
@media(max-width: 750px) {
  .flow .fwrap {
    width: 97%;
  }
}
@media(max-width: 550px) {
  .flow .flowd {
    padding-left: 59px;
    margin-bottom: 20px;
  }
  .flow .fwrap {
    padding: 10px 13px;
    margin-right: 20px;
  }
  .flow::before {
    left: 25px;
  }
  .flow .flowd::before {
    left: -1px;
    width: 60px;
    height: 60px;
  }
  .ftime {
    top: 56%;
    left: 5px;
    font-size: 0.73rem;
  }
}
/*1日の流れ画像*/
.w59 {
  width: 59%;
}
.w36 {
  width: 36.5%;
}
.oneday .inner {
  max-width: 1150px;
}
.onedayimg .oimg:last-child {
  margin-top: 15px;
}
@media(max-width: 750px) {
  .onedayimg {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
  }
  .onedayimg .oimg {
    width: 48.5%;
    position: relative;
  }
  .onedayimg .oimg img {
    border-radius: 7px;
  }
  .onedayimg .oimg:last-child {
    top: 7px;
    margin-top: 0;
  }
}
@media(max-width: 750px) {
  .onedayimg {
    margin-bottom: 15px;
  }
}
/* 月額料金 */
/*テーブル*/
.info_table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.info_table th, .info_table td {
  padding: 12px 10px;
}
.info_table th {
  position: relative;
  width: 30%;
  border-bottom: 2px solid #ffd440;
  color: #fff;
}
.info_table tr:last-child th {
  border-bottom: none;
}
.info_table th::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fcc404;
  z-index: -10;
}
.info_table th::after {
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top: calc(50% - 10px);
  right: -10px;
  border-left: 10px solid #fcc404;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
.info_table td {
  background: #fff8e6;
  width: 70%;
  padding-left: 23px;
}
.info_table tr:nth-child(odd) td {
  background-color: #fdfdfa;
}
@media (max-width:550px) {
  .info_table {
    font-size: 93%;
  }
}
/**/
.feenote {
  margin-bottom: 15px;
}
.feenote02 {
  font-size: 90%;
  margin-top: 15px;
  margin-bottom: 0;
}
@media (max-width:750px) {
  .feenote02 {
    margin-top: 10px;
    font-size: 0.8rem;
  }
}
.fee_wrap {
  position: relative;
  padding: 30px;
  box-shadow: 7px 7px 0px 0px #fff2c4;
  margin-bottom: 35px;
  border-radius: 15px;
}
.fee_wrap::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  z-index: -100;
  border-radius: 15px;
}
.fee_wrap:last-child {
  margin-bottom: 0 !important;
}
.info_table.fee th {
  border-bottom: none;
  border-right: 2px solid #ffd440;
}
.info_table.fee th:last-child {
  border-right: none;
}
.info_table.fee th::after {
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #fcc404;
}
.info_table.fee td {
  padding: 15px 0;
  text-align: center;
}
/* table sp表示 */
.spsctext {
  display: none;
  font-size: 0.8rem;
}
@media (max-width:750px) {
  .spsctext {
    display: block;
  }
  .feebox .info_table {
    width: 890px;
  }
  .feebox {
    padding-bottom: 5px;
    overflow-x: scroll;
  }
}
@media (max-width:750px) {
  .feebox .info_table {
    width: 720px;
  }
}
@media (max-width:550px) {
  .fee_wrap {
    padding: 20px;
  }
}
/* 会社概要ページ =======================================================================================================================================*/
/*理念*/
.philosophy {
  padding: 120px 0 150px;
}
.philosophy .maintitle {
  margin-bottom: 20px;
}
.phtext {
  font-size: clamp(1.25rem, 0.25rem + 3.2vw, 2.05rem);
  margin-bottom: 0;
}
/**/
.k_center_rotation {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: -1;
  opacity: 0.25;
  width: 20%;
  max-width: 350px;
}
.k_center_rotation img {
  animation: rotateanim 65s linear infinite normal;
}
.birota {
  width: 50% !important;
  max-width: 650px;
}
@media (max-width: 1330px) {
  .k_center_rotation {
    width: 300px;
  }
  .birota {
    width: 90% !important;
  }
}
@media (max-width: 550px) {
  .philosophy {
    padding: 70px 0 85px;
  }
  .philosophy .maintitle {
    margin-bottom: 10px;
  }
  .k_center_rotation {
    width: 200px;
  }
}
/*代表挨拶*/
.greeting .inner {
  max-width: 980px;
}
.wbox {
  padding: 50px 60px;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 10px;
}
.wbox p {
  max-width: 825px;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width:750px) {
  .wbox {
    padding: 30px 20px 20px;
    background: rgba(255, 255, 255, 0.85);
  }
}
/*イラスト*/
.widedeco {
  position: absolute;
  top: -40px;
  left: 0;
  width: 100%;
  z-index: 1;
  overflow: hidden;
}
.widedeco img {
  display: block;
  width: 100%;
}
@media(max-width: 1020px) {
  .widedeco {
    width: 200%;
  }
}
@media(max-width: 600px) {
  .widedeco {
    width: 270%;
    left: -10px;
  }
  .widedeco {
    top: -5vw;
  }
}
/*会社概要*/
.about .inner {
  max-width: 1100px;
}
.abflex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 70px;
}
.abflex .rimg {
  width: 48.5%;
  position: relative;
}
.abflex .rimg:last-child {
  top: 20px;
}
@media (max-width:550px) {
  .abflex {
    margin-bottom: 43px;
  }
  .abflex .rimg img {
    border-radius: 7px;
  }
  .abflex .rimg:last-child {
    top: 7px;
  }
}
/*map*/
@media (max-width:550px) {
  .map iframe {
    height: 280px;
  }
}
/* お問い合わせページ ==================================================================================================================================*/
.contact_top {
  padding: 60px 0 110px;
}
.contactbird {
  width: 100%;
  max-width: 70px;
  margin: auto;
  margin-bottom: 20px;
}
.contact_top_text {
  margin-top: 10px;
  margin-bottom: 70px;
  max-width: 600px;
}
@media(max-width:550px) {
  .contact_top {
    padding: 40px 0 60px;
  }
  .contactbird {
    max-width: 55px;
    margin-bottom: 15px;
  }
  .contact_top_text {
    font-size: 90%;
    margin-bottom: 35px;
  }
}
.contactp {
  padding-bottom: 0;
}
.contactp .rtext {
  margin-bottom: 45px;
}
@media (max-width: 750px) {
  .contactp .rtext {
    margin-bottom: 30px;
  }
}
.contact_wrap {
  position: relative;
  background: #fff;
  border: 3px solid #fff3d6;
  margin: auto;
  padding: 30px 10px;
  border-radius: 15px;
}
.rcheck p::before {
  font-family: "Font Awesome 5 Free";
  content: "\f14a";
  font-weight: bold;
  display: inline-block;
  color: #ff9e42;
  margin-right: 0.4em;
  font-size: 0.93em;
  text-decoration: none;
}
.tel_contact i {
  color: #ff9e42;
}
.tel_contact {
  font-size: clamp(1.35rem, 0.6rem + 2.4vw, 1.95rem);
  margin-bottom: 3px;
  white-space: nowrap;
  color: #806660;
  z-index: 1;
  position: relative;
}
.tel_contact:hover {
  color: #806660;
  opacity: 0.6;
}
.telflex {
  max-width: 1055px;
  margin: auto;
  align-items: flex-start;
}
.telflex .contact_wrap {
  margin: 0;
}
.tel_text {
  font-size: 0.95rem;
  margin-top: 7px;
  margin-bottom: 5px;
}
.te.tel_text {
  margin-top: 5px !important;
}
@media (max-width: 750px) {
  .te.tel_text {
    margin-bottom: 30px;
  }
}
.faxlist {
  display: flex;
  justify-content: center;
}
.faxlist p {
  margin-right: 25px;
  font-size: 0.9rem;
  margin-bottom: 0;
  white-space: nowrap;
}
.faxlist p:last-child {
  margin-right: 0 !important;
}
@media (max-width: 760px) {
  .faxlist p {
    margin-right: 20px;
  }
}
.telmini {
  position: relative;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
  font-size: clamp(1.15rem, 0.7125rem + 1.4vw, 1.5rem);
  line-height: 1.5;
}
.spb {
  margin-bottom: 60px;
}
@media (max-width: 1210px) {
  .tel_text {
    text-align: left;
  }
}
@media (max-width: 750px) {
  .faxlist p {
    margin-right: 30px;
  }
  .tel_text {
    text-align: center;
  }
  .telflex .contact_wrap {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
  .contact_wrap.fax {
    margin-bottom: 0;
  }
  .flexbox.telflex div:first-child {
    margin-bottom: 30px !important;
  }
}
@media (max-width: 570px) {
  .tel_text {
    margin-bottom: 2.5px;
    text-align: left;
  }
}
@media (max-width: 490px) {
  .spb {
    margin-bottom: 13px;
    font-size: 1.1rem;
  }
  .telmini {
    margin-bottom: 17px;
    font-size: 1.1rem;
  }
}
@media (max-width: 365px) {
  .tel_text {
    margin-bottom: 7px;
  }
  .faxlist {
    display: block;
    width: fit-content !important;
    margin-right: auto;
  }
  .faxlist p {
    margin-right: 0;
  }
}
.tmgb {
  margin-bottom: 25px;
}
.fpdt {
  padding-top: 60px;
}
@media (max-width: 950px) {
  .fpdt {
    padding-top: 20px;
  }
}
@media (max-width: 550px) {
  .fpdt {
    padding-top: 50px;
  }
}
.tl_text {
  margin-top: 13px;
  font-size: clamp(1rem, 0.94rem + 0.2133vw, 1.1rem);
}
@media (max-width: 450px) {
  .tmgb {
    margin-bottom: 15px;
  }
  .contact_wrap {
    max-width: 100%;
    padding: 17px 0;
  }
  .tl_text {
    margin-top: 7px;
  }
}
/* メール */
.mnote {
  max-width: 920px;
  margin: auto;
  margin-top: 60px;
}
.mpdb {
  padding-bottom: 70px !important;
  margin-bottom: 0 !important;
}
@media(max-width:450px) {
  .mnote {
    margin-top: 40px;
  }
  .mpdb {
    padding-bottom: 30px !important;
  }
}
.mailform {
  max-width: 1100px;
  margin: 60px auto 0;
}
@media (max-width: 550px) {
  .mailform {
    margin-top: 25px;
  }
}
.mailform .row {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
}
.mailform .row:not(.last) {
  border-bottom: 0.9px dotted #806660;
}
.mailform .row div {
  text-align: left;
}
.mailform .row div:nth-child(1) {
  width: 28%;
  font-size: 0.95rem;
}
.mailform .row div:nth-child(2) {
  width: 70%;
  line-height: 1.5;
}
.mailform .row span {
  color: #fff;
  background: #ff9e42;
  padding: 5px;
  margin-right: 5px;
  font-size: 12px;
  border-radius: 3px;
}
.mailsp {
  background: #fff !important;
  border: 1px solid #ff9e42;
  color: #ff9e42 !important;
}
.mailform .row small {
  display: block;
  margin-top: 3px;
}
.mailform label {
  color: #806660;
}
.mailform .box, .mailform textarea {
  border: 1px solid #ddd;
  padding: 5px;
  width: 100% !important;
  border-radius: 0;
  -webkit-appearance: none;
  margin-bottom: 5px;
  background: #fff;
  color: #806660;
}
.mailform button {
  display: block;
  text-align: center;
  font-size: 1rem;
  margin: 0 auto;
  white-space: nowrap;
  border: 1px solid transparent;
  color: #fff;
  background: #ff9e42;
  padding: 1% 7%;
  transition: .4s;
  border-radius: 30px;
}
.mailform button:hover {
  background-color: #fff;
  color: #ff9e42;
  border: 1px solid #ff9e42;
  opacity: 1;
}
.mailform button::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: bold;
  margin-right: 10px;
}
/*チェックボックス*/
.mailform input[type=checkbox] {
  display: none;
}
.mailform input[type=checkbox] + label {
  display: inline-block;
  padding-left: 20px;
  position: relative;
  margin-right: 20px;
  margin-bottom: 10px;
  cursor: pointer;
}
.mailform input[type=checkbox] + label::before {
  background: #fff;
  border: 1px solid #b5b5b5;
  content: '';
  display: block;
  position: absolute;
  top: 55%;
  transform: translate(0, -50%);
  left: 0;
  width: 15px;
  height: 15px;
  border-radius: 3px;
}
.mailform input[type=checkbox] + label::after {
  border-right: 3px solid #ff9e42;
  border-bottom: 3px solid #ff9e42;
  content: '';
  display: block;
  height: 13px;
  width: 7px;
  opacity: 0;
  position: absolute;
  top: 25%;
  left: 4px;
  transform: rotate(45deg);
  transition: .1s;
}
.mailform input[type=checkbox]:checked + label::after {
  opacity: 1;
}
@media (max-width: 450px) {
  .mailform button {
    width: 65%;
    padding: 6px;
  }
  .formsel label {
    font-size: 0.95rem;
  }
  .mailform input[type=checkbox] + label {
    display: block;
  }
}
@media (max-width: 800px) {
  .mailform .row {
    padding: 20px 0;
    flex-direction: column;
  }
  .mailform .row div:nth-child(1) {
    width: 100%;
    margin-bottom: 20px;
  }
  .mailform .row div:nth-child(2) {
    width: 100%;
  }
}
/*個人情報の取り扱いについて*/
.privacy {
  padding-top: 0 !important;
}
.privacy_wrap {
  font-size: clamp(1rem, 0.862rem + 0.4907vw, 1.23rem);
  color: #806660;
  margin: 0 auto;
  max-width: 1100px;
  border-bottom: 2px solid #fcc404;
}
.privacy_item {
  position: relative;
  width: 100%;
  margin: 0 auto;
  cursor: pointer;
  padding: 0 10px;
}
.privacy_header {
  transition: ease-in-out 100ms;
}
.privacy_text {
  width: 100%;
  display: none;
  padding: 20px 35px 30px;
  line-height: 1.7;
  font-size: 0.95rem;
}
.privacy_text span {
  font-size: 103%;
}
@media(max-width:750px) {
  .privacy_text {
    padding: 20px 15px 30px;
  }
}
.privacy_text p {
  margin-bottom: 17px;
}
.arrow {
  transition: ease-in-out 300ms;
}
.rotate-fa {
  transform: rotate(180deg);
}
.privacy_header span {
  position: absolute;
  top: 50%;
  right: 3%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.privacy_header .fa-lock {
  color: #fcc404;
}
.privacy_gold {
  color: #ff9e42;
}
/*img*/
.pd_image {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}
.pd_image::before {
  content: '';
  display: block;
  padding-top: 66.5%;
}
.pd_image img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}