
@charset "UTF-8";

/* HTML 5 elements
---------------------------------------- */
html,body {
  touch-action: inherit !important;
  -webkit-text-size-adjust: none;
  overscroll-behavior: none;
  -ms-scroll-chaining: chained;
}
html {
  scroll-padding-top: 140px;
  scroll-behavior: smooth;
  background: #2e2e2e;
}

section, nav, article, aside, hgroup, header, footer, figure, figcaption, summary {
  display: block;
  margin: 0;
  padding: 0;
}

/* reset
---------------------------------------- */
* {
  margin: 0px;
  padding: 0px;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  padding: 0;
  margin: 0;
  line-height:0;
  border: none;
  background-color: none;
}
.imgBox,
.listItem {
  line-height:0;
}
  .icon {
    width: 20px;
    min-width: 20px;
    vertical-align: middle;
  }
.bgnone {
  padding: 0;
  margin: 0;
  line-height:0;
  border: none;
  background: none;
}

ul, li {
  list-style-type: none;
  margin: 0;
}
ol {
  padding: 0 0 0 1.5rem;
}
  ol li {
    list-style-type: inherit;
    list-style-position: outside;
    padding: 0 0 0 1rem;
  }

table {
  width: 100%;
  /* max-width: 100%; */
  margin: 1.5% 0 2%;
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  padding: 0 0 0;
  margin: 10px 0;
  -webkit-margin-start: auto;
  -webkit-margin-end: auto;
  border: none;
  border-top: #f5f5f5 1px solid;
}

br {
  padding: 0;
  margin: 0;
  font-size: 1px;
  line-height: 1;
}
.spOnly {
	display: none;
}
.pcOnly {
	display: inherit;
}
.center {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .spOnly {
    display: inherit;
  }
  .pcOnly {
    display: none;
  }
}

@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/* 要素
-------------------------------------------------------------- */
section {
}

article {
  padding: 0;
  margin: 0;
  font-weight: normal;
}

p {
  padding: 0;
  margin: 0 0;
}
.ctn p {
  margin: 15px 0;
}

a {
  color: #000;
  transition: all 0.1s ease-in-out;
}
.contein a:[class*=" moreBtn-"]:not {
  color: #366be1;
  display: inline-flex;
  line-height: 1.3;
}
.contein a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 415px) {
  .contein a:hover {
    opacity: 1;
  }
}

.openBtn {
}
.toggleBox {
  transition: all 0.1s ease-in-out;
  opacity: 0;
  height: 0;
  position: absolute;
  overflow: hidden;
}
.openBtn.active + .toggleBox {
  height: auto;
  position: static;
  opacity: 1;
}

/* チェックボックス */
.checkBox01 {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
}
  .checkBox01::before {
    background: #fff;
    border: 1px solid #f4e7d7;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
  }
  .checkBox01::after {
    border-right: 3px solid #f4e7d7;
    border-bottom: 3px solid #f4e7d7;
    content: '';
    display: block;
    height: 9px;
    left: 10px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 5px;
  }

/*スクロールバー表示させる*/
.scroll::-webkit-scrollbar{
  width: 7px;
  border-radius: 15px;
}
.scroll::-webkit-scrollbar-thumb {
  background: #d3d1c7;
  border-radius: 15px;
}
.scroll::-webkit-scrollbar-track-piece:start {
  background: #f5f5f5;
  border-radius: 15px;
}
.scroll::-webkit-scrollbar-track-piece:end {
  background: #f6f6f6;
  border-radius: 15px;
}
#modal-bg {
  z-index: 999;
  width: 200vw;
  height: 200vh;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.65);
}

.waku01 {
	padding: 15px;
  margin: 0 0 15px;
  background: #f4f4f4;
}
.waku02 {
	padding: 15px 20px;
  margin: 0 0 15px;
  background: #fff8ca;
}

.red {
  color: red;
}

/* flexPtn
-------------------------------------------------------------- */
.flexPtn {
  display: flex;
}
.flexPtn_wrapp {
  display: flex;
  flex-wrap: wrap;
}

/* form
-------------------------------------------------------------- */
input[type="text"], input[type="tel"], input[type="email"],
select, textarea {
  font-family: "YakuHanJP","Noto Sans JP", Meiryo, sans-serif;
  width: 100%;
  max-width: 400px;
  font-weight: normal;
  font-size: 100%;
  line-height: 1.5;
  padding: 8px 15px 10px;
  margin: 0 auto;
  border: none;
  border-radius: 5px;
  outline: none;
  border: 2px solid #dadada;
  -webkit-appearance: none;
  -moz-appearance: none;
  -webkit-tap-highlight-color: transparent;
  /* background: #687672; */
  background: #fff;
}
input:-internal-autofill-selected {
  background: #f5f5f5;
}
input[type="email"] {
  width: 100%;
  max-width: 500px;
}
.address input[type="text"] {
  width: 100%;
  max-width: 600px;
}
textarea {
  width: 100%;
  max-width: 700px;
  height: 180px;
  padding: 10px 15px;
  line-height: 1.5;
}
  input::placeholder,
  textarea::placeholder{
    color: #dadada;
  }
  input:-ms-input-placeholder,
  input::-ms-input-placeholder{
    color: #dadada;
  }

.sp input,
.sp select,
.sp textarea {
  font-size: 18px;
}

.goBtnBox {
	margin: 0 0 60px;
  position: relative;
	display: flex;
  /* justify-content: center; */
  align-items: center;
}
  /* iOSでのデフォルトスタイルをリセット */
  input[type="submit"],
  input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
  }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none;
  }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px;
  }

  .submitBox {
    text-align: center;
  }
  input[type="submit"] {
    font-family: "YakuHanJP","Noto Sans JP", Meiryo, sans-serif;
    width: 300px;
    line-height: 65px;
    cursor: pointer;
    padding: 0;
    margin: 0 auto;
    display: block;
    text-align: center;
    border: none;
    color: #fff;
    border: 2px solid #35b688;
    border-radius: 15px;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    font-weight: 500;
    background: #35b688;
  }
    input[type="submit"]:hover {
      color: #fff;
      border: 2px solid #3f4234;
      background: #3f4234;
    }
  input[type="submit"].wpcf7c-elm-step2 {
  }
  input[type="button"].wpcf7-back {
    font-family: "YakuHanJP","Noto Sans JP", Meiryo, sans-serif;
    width: 150px;
    line-height: 65px;
    cursor: pointer;
    padding: 0 10px;
    margin: 0 0 0 20px;
    text-align: center;
    border: none;
    border-bottom: 2px solid #dadada;
    color: inherit;
    border-radius: 0;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    font-weight: 500;
    background: #dadada;
  }
    input[type="button"].wpcf7-back:hover {
      color: #fff;
      border-bottom: 2px solid #282828;
      background: #282828;
    }

  div.wpcf7 .ajax-loader {
    transform: translate(140px, 20px);
  	position: absolute;
    top: 0;
    left: 50%;
    right: 50%;
  }
  .submitBox input:disabled {
    cursor: not-allowed;
    color: rgba(0, 0, 0, 0.5);
    background: #efefef;
  }
@media screen and (max-width: 768px) {
input[type="text"], input[type="tel"], input[type="email"],
select, textarea {
  width: 100%;
}
input[type="email"] {
  width: 100%;
  max-width: 100%;
}
textarea {
  width: 100%;
  max-width: 100%;
}
  input[type="submit"].wpcf7c-elm-step2 {
    max-width: 50%;
  }
  input[type="button"].wpcf7-back {
    max-width: 150px;
  }

}

/* お問い合わせフォーム
-------------------------------------------------------------- */
.flag{
  display: none;
}
.wpcf7 {
  font-family: "YakuHanJP","Noto Sans JP", Meiryo, sans-serif;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
  .wpcf7 * {
    -webkit-transition: all 0.15s ease;
            transition: all 0.15s ease;
  }
	div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    margin: 20px 0 100px;
    padding: 20px;
    border: none;
    font-size: 1.2rem;
    font-weight: 600;
    color: #fff;
    background: #ba272d;
  }

@media screen and (max-width: 768px) {
.a.check {
	display: block;
}
}


/* body
-------------------------------------------------------------- */
body {
  padding: 60px 0 0;
  margin: 0;
  font-size: 80.5%;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.18em;
  font-feature-settings: "palt";
  color: #2e2e2e;
  font-family: "YakuHanJP","Noto Sans JP", Meiryo, sans-serif;
}

.all_scrolling_for {
/*
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: fixed;
*/
}

h2 {
  font-family: "YakuHanJP","Noto Sans JP", Meiryo, sans-serif;
  padding: 20px 0;
  margin: 20px 0;
  text-align: left;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  color: #303030;
  border: none;
}

.title { /* センタリングとフォントサイズ指定のシンプルなスタイル。*/
  font-family: "YakuHanJP","Noto Sans JP", Meiryo, sans-serif;
	text-align: center;
  padding: 40px 10px 40px;
  line-height: 1.5;
  margin: 0;
  color: ;
}
  .title .text:after {
    width: 130px;
    height: 3px;
    margin: 0 auto;
    content: "";
    display: block;;
    margin: 20px auto 10px;
    background: ;
  }
.title01 {
  font-family: "YakuHanJP","Noto Sans JP", Meiryo, sans-serif;
  text-align: center;
  padding: 40px 10px 40px;
  margin: 0;
}
  .title01 .text {
    display: inline-block;
  }
    .title01 .text:after {
      width: 100%;
      height: 3px;
      margin: 30px auto 10px;
      content: "";
      display: inline-block;;
      background: #111;
    }
  .title01 .sText {
    margin: 10px 0 20px;
    font-size: clamp(0.8rem, 0.789rem + 0.05vw, 0.83rem);
  }
.title02 { /* 背景に棒がついている。センタリング */
  padding: 30px 13px;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
  .title02::before {
    width: 100%;
    height: 2px;
    display: block;
    content: "";
    border-radius: 10px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) translateX(0%);
    background: #ebf2f0;
  }
  .title02 b {
    padding: 0 13px;
    margin: 0 auto;
    display: block;
    color: #687672;
    position: relative;
    background: #fff;
  }

/* mainTitle */
.mainTitle {
  height: 300px;
  display: block;
  text-align: center;
  color: #fff;
  line-height: 0;
  position: relative;
}
  .mainTitle::before {
    z-index: 1;
    opacity: 0.15;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
  }
  .mainTitle .titleBg {
    height: 100%;
    display: flex;
    position: relative;
  }
  .mainTitle_txtWrapBox {
    z-index: 1;
    width: 100%;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.3;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }
    .titleBg {
      height: 100%;
      display: flex;
    }
      .titleBg img {
        object-fit: cover;
        /* aspect-ratio: 503/250; */
      }
    .mainTitle_txtWrapBox .mainTitleTxt {
      font-family: "oswald";
      width: 100%;
      margin: 0 0 15px;
      font-size: clamp(2rem, 1.636rem + 1.82vw, 3rem);
      display: block;
      text-align: center;
      letter-spacing: 0.07em;
    }
    .mainTitle_txtWrapBox .subTxt {
      width: 100%;
      display: block;
      text-align: center;
      font-weight: normal;
      font-size: clamp(0.8rem, 0.655rem + 0.73vw, 1.2rem);
      letter-spacing: 0.1em;
    }
@media screen and (max-width: 768px) {
.mainTitle {
}
  .mainTitle::before {
    opacity: 0.25;
  }
    .titleBg img {
      height: 300px;
    }
}

@media screen and (max-width: 768px) {
  body{
    padding: 70px 0 0;
  }
  h2 {
    font-size: 1.3rem;
  }
  .title {
    padding: 25px 10px 25px;
  }
}

h3 {
  font-family: "YakuHanJP","Noto Sans JP", Meiryo, sans-serif;
  margin: 20px 0 20px;
  font-size: clamp(1.15rem, 1.082rem + 0.29vw, 1.3rem);
  line-height: 1.5;
  font-weight: 700;
}

a {
  transition: all 0.1s ease-in-out;
  color: #111;
  outline: none;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
.contents a:hover {
  text-decoration: underline;
}

h4 {
}
h5 {
  font-size: 0.9rem;
}

/* 共通要素
-------------------------------------------------------------- */
#toc_container { /* #toc_container */
  padding: 20px 30px 40px;
  margin: 0 auto 50px;
}
  .toc_title {
    color: ;
  }
    .toc_number {
      color: ;
    }

.breadcrumb { /* breadcrumb */
  padding: 15px 0;
  font-size: 0.8rem;
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: 0.1em;
}
  .breadcrumbInner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
  }
  .breadcrumb a,
  .breadcrumb span {
    color: #2e2e2e;
  }
  .breadcrumb span {
    margin: 0 15px 0;
  }
@media screen and (max-width: 1200px) {
  .breadcrumb {
    padding: 15px 20px;
    font-size: 0.7rem;
  }
    .breadcrumbInner {
      flex-wrap: wrap;
    }
  .breadcrumb span {
    margin: 0 5px 0;
  }
}

.pagination { /* pagination */
  max-width: 1200px;
  padding: 30px 13px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
  .pagination span,
  .pagination a {
    width: 25px;
    height: 25px;
    display: inline-flex;
    padding: 0;
    margin: 0 2px;
    letter-spacing: 0;
    font-size: 0.8rem;
    justify-content: center;
    align-items: center;
    color: #2e2e2e;
  }
  .current {
    border-radius: 50%;
    background: #eee;
  }

#topBtn { /* topBtn */
  z-index: 999;
  width: 50px;
  margin: 0 auto;
  position: fixed;
  bottom: 0;
  right: 15px;
}
  #topBtn .btn {
    width: 100%;
    height: 50px;
    padding: 0;
    margin: 0 0 0;
    font-size: 0.7rem;
    color: #fff;
    font-weight: bold;
    display: block;
    position: relative;
    text-decoration: none;
    border-radius: 50%;
    /* border-radius: 15px; */
    background: #25271d;
  }
  #topBtn .btn:after {
    width: 100%;
    height: 100%;
    content: "TOP";
    display: flex;
    align-items: center;
    justify-content: center;
  }
.contact #topBtn {
  display: none !important;
}
@media screen and (max-width: 768px) {
}

#ez-toc-container { /* 目次 */
  margin: 0 0 15px;
  background: #fcfcfc;
}
  #ez-toc-container a {
    color: #2e2e2e;
  }
  .ez-toc-title-container {
    position: relative;
    text-align: center;
  }
    .ez-toc-title {
      height: 40px;
      line-height: 40px;
      color: #666;
      margin: 0 !important;
      padding: 0 !important;
    }
    #ez-toc-title-toggle { /* 目次開閉ボタン */
    }
      .ez-toc-glyphicon::before {
        height: 40px;
        line-height: 40px;
        cursor: pointer;
        font-family: 'icomoon' !important;
        content: "\ea56";
        font-style: normal;
        display: block;
        font-size: 1.5rem;
        transition: all 0.1s ease-in-out;
        position: absolute;
        top: 0;
        right: 10px;
      }
        .toc_close .ez-toc-glyphicon::before {
          transform: rotate(180deg);
        }
      .ez-toc-title-toggle input#item {
        display: none;
      }
  .ez-toc-list-level-1 {
    counter-reset: num 0;
  }
  #ez-toc-container nav {
    padding: 0 2% 2%;
    font-size: 0.85rem;
  }
    #ez-toc-container nav > ul {
      font-weight: 500;
    }
      #ez-toc-container nav > ul > li {
        padding: 8px 0;
        margin: 0 2%;
        counter-increment: num;
        border-bottom: 1px solid #ddd;
      }
        #ez-toc-container nav > ul > li:before {
          padding: 0 5px 0 0;
          display: inline-block;
          color: #687672;
          content: counter(num);
        }
        #ez-toc-container nav > ul > li:last-child {
          border-bottom: none;
        }
        #ez-toc-container nav > ul > li .ez-toc-link {
          padding: 3px 0 0;
          display: inline;
        }
      #ez-toc-container nav > ul ul {
        padding: 0 2%;
        font-weight: normal;
      }
        #ez-toc-container nav > ul ul li {
          display: flex;
          align-items: flex-start;
        }
        #ez-toc-container nav > ul ul li .ez-toc-link {
          color: #666;
        }
        #ez-toc-container nav > ul ul li:before {
          padding: 0 5px 0 0;
          display: inline-block;
          content: "・";
          color: #687672;
        }

.author {
  padding: 5px 15px;
  margin: 0 0 40px;
  background: #f6f7f9;
}
  .author .inner {
    align-items: center;
  }
    .author .imgBox {
      width: 70px;
      min-width: 70px;
      overflow: hidden;
      text-align: center;
    }
      .author .imgBox img {
        width: 100%;
      }
    .author .authorTxt {
      padding: 0 0 0 20px;
      font-size: 0.85rem;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
    }
      .author .authorTxt .displayName {
        padding: 3px 3px;
        margin: 0 3px 0 0;
        font-size: 0.7rem;
        line-height: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid ;
      }
      .author .authorTxt .c {
        width: 100%;
        margin: 8px 0 0;
        display: block;
        font-weight: normal;
        font-size: 0.8rem;
        line-height: 1.5;
      }
header + .author { /* 記事上部の著者情報 */
  margin: 0;
}
  header + .author .imgBox {
    width: 50px;
    min-width: 50px;
    padding: 8px 0;
  }
@media screen and (max-width: 768px) {
  .author .authorTxt .c {
    font-size: 0.7rem;
  }
}

.time {
  padding: 8px 0;
  display: flex;
  align-items: center;
  color: #666;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  font-weight: normal;
  justify-content: flex-end;
  border-bottom: 1px solid #eee;
}
  .time .icon {
    font-size: 0.9rem;
    color: #687672;
  }

blockquote { /* 引用を見やすくカスタマイズ */
	position: relative;
	padding: 30px 39px 30px 39px;
	box-sizing: border-box;
	font-style: italic;
	color: ;
	background: #f4e7d7;
	border: none;
	border-top: solid 3px #f4e7d7;
	border-bottom: solid 3px #f4e7d7;
}
  blockquote:before,
  blockquote:after{
    display: inline-block;
    position: absolute;
    width: 32px;
    height: 32px;
    vertical-align: middle;
    text-align: center;
    content: "\f10d";
    font-family:'FontAwesome';
    font-weight: normal;
    color:  #f4e7d7;
    font-size: normal;
    line-height: 30px;
    /* background: ; */
  }
  blockquote:before{
    top: 0; left: 0;
  }
  blockquote:after{
    bottom: 0; right: 0;
  }
  blockquote + p{
    margin-top: 1.6em;
  }
  blockquote p {
    position: relative;
    padding: 0;
    margin: 10px 0;
    z-index: 3;
    line-height: 1.7;
  }
  blockquote > p:last-child{
    margin-bottom: 0 !important;
  }

.references { /* 参考文献 */
  border-top: 1px solid #eee;
  padding: 15px 0;
  margin: 15px 0;
}
  .references p {
    padding: 0;
    margin: 0;
  }
  .references ul {
    margin: 8px 0 0 5px;
  }
    .references ul li {
      margin: 5px 0;
      font-size: 0.85rem;
      display: flex;
      line-height: 1.5;
      align-content: flex-start;
    }
      .references li:before {
        display: inline-block;
        content: "・";
        line-height: 0;
        color: #666;
        padding: 8px 5px 0 0;
      }
  .references a {
  }

.colorPtn01 {
  color: ;
}

.titleMiniTxt {
  margin: 15px 0;
  font-weight: 600;
}

.forProblemWrapper {
  display: flex;
  justify-content: center;
  background: #687672;
}
.forProblemWrapper p {
  padding: 0;
  margin: 0;
}
.forProblem { /* こんなことでお悩みの方に */
  max-width: 700px;
  padding: 30px 50px;
  margin: 0 auto;
  display: inline-flex;
  flex-direction: column;
  font-size: 1.2rem;
}
  .forProblem > .item {
  }
    .forProblem .checkBox01 {
      cursor: default;
      width: 16px;
      height: 16px;
      margin: auto 15px auto 0;
      padding: 0;
    }
    .forProblem .checkBox01::before {
      margin: 0;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%,-50%);
    }
    .forProblem .checkBox01::after {
      border-right: 2px solid #f4e7d7;
      border-bottom: 2px solid #f4e7d7;
      opacity: 1;
      margin-top: -1px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%,-50%) rotate(45deg);
    }
@media screen and (max-width: 768px) {
  .forProblem {
    font-size: 1rem;
  }
}

.forProblemWrapper02 {
  background: none;
}
.forProblemWrapper02 p {
  padding: 0;
  margin: 0;
}
  .forProblemWrapper02 .forProblem {
    max-width: 700px;
    padding: 30px 50px;
    margin: 0 auto;
    display: inline-flex;
    flex-direction: column;
    font-size: 1.2rem;
    border: 2px solid #f4e7d7;
  }
@media screen and (max-width: 768px) {
  .forProblemWrapper02 .forProblem {
    padding: 30px 30px;
    font-size: 1rem;
  }
}

.categoryLine {
  margin: 0 0 15px;
}
  .categoryLine span {
    padding: 5px 10px;
    border-radius: 35px;
    font-size: 0.7rem;
    letter-spacing: 0.05rem;
    color: #fff;
    background: #687672;
  }
@media screen and (max-width: 768px) {
  .categoryLine {
    margin: 0 0 5px;
  }
}

.p_type01 {
  font-family: "游ゴシック体", "Yu Gothic","Noto Sans JP", Meiryo, sans-serif;
  font-size: clamp(1rem, 0.682rem + 1.36vw, 1.7rem);
  line-height: 1.8;
  font-weight: 600;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
.p_type01 {
  letter-spacing: 0.1em;
}
}

.p_type02 {
  font-family: "游ゴシック体", "Yu Gothic","Noto Sans JP", Meiryo, sans-serif;
  font-size: clamp(0.8rem, 0.718rem + 0.35vw, 0.98rem);
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
.p_type02 {
  letter-spacing: 0.1em;
}
}

.lineYellow {
  background: linear-gradient(to top, #fff9c8 40%, transparent 0%);
  font-weight: bold;
}
.borderLine01 {
  padding: 0 0 0 0;
  border-bottom: 1px solid #2e2e2e;
}

.color_01 { /* エメラルドグリーン */
  color: #35b688;
}

.kadomaru01 {
  padding: 3%;
  margin: 10px 0;
  border-radius: 15px;
  background: #f9f9f9;
}
.kadomaru02 {
  padding: 3%;
  margin: 10px 0;
  border-radius: 15px;
  border: 1px solid #c9e1ea;
  background: #f0f7f9;
}
.kadomaru03 {
  padding: 3%;
  margin: 10px 0;
  border-radius: 15px;
  border: 2px solid #eee;
}

.tableDesign01 {
  margin: 10px auto;
  text-align: left;
}
  .tableDesign01 tbody {
    width: 100%;
  }
    .tableDesign01 .item {
      padding: 15px 0;
      line-height: 1.3;
      letter-spacing: 0.1rem;
    }
    .tableDesign01 .head {
      border-bottom: 2px solid ;
      font-weight: 700;
      background: #f9f9f9;
    }
      .tableDesign01 .item th {
        padding: 10px 5px;
        font-weight: 700;
        border: 1px solid #eee;
      }
      .tableDesign01 .item td {
        padding: 10px 5px;
        border: 1px solid #eee;
        border-left: none;
      }
@media screen and (max-width: 1200px) {
  .tableDesign01 {
  }
}

.tableDesign02 {
  margin: 10px auto;
}
  .tableDesign02 tbody {
    width: 100%;
  }
  .tableDesign02 .item {
    padding: 15px 0;
    line-height: 1.3;
    letter-spacing: 0.1rem;
  }
    .tableDesign02 .item th {
      padding: 10px 5px;
      font-weight: 700;
      font-size: 0.75rem;
      border: 1px solid #eee;
      background: #f9f9f9;
    }
    .tableDesign02 .item td {
      padding: 10px 5px;
      border: 1px solid #eee;
      border-left: none;
    }

.tableDesign03 {
  border-top: 1px solid #e0e0e0;
}
  .tableDesign03 .item{
    display: flex;
    align-items: center;
    border-bottom: 1px solid #e0e0e0;
    background: #f4f4f4;
  }
    .tableDesign03 .t {
      width: 25%;
      height: 100%;
      padding: 10px 5px 10px 5px;
      text-align: center;
      line-height: 1.3;
      font-weight: 600;
    }
    .tableDesign03 .c {
      width: 75%;
      min-height: 90px;
      padding: 30px 5px 30px 40px;
      background: #fff;
    }
    .tableDesign03 .c p {
      margin: 15px 0;
    }
@media screen and (max-width: 1200px) {
  .tableDesign03 {
  border-left: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
}
    .tableDesign03 .t {
      width: 25%;
      height: 100%;
      padding: 10px 5px 10px;
      text-align: center;
      line-height: 1.3;
      font-weight: 600;
    }
    .tableDesign03 .c {
      width: 75%;
      padding: 30px 10px 30px;
      background: #fff;
    }
}

.cTable.type01 { /* 比較表　*/
  width: 100%;
  margin: 20px auto;
}
  .cTable.type01 > .inner {
    overflow: auto;
    margin: 0 -13px;
  }
  .cTable.type01 table {
    width: 100%;
    table-layout: fixed;
    font-size: 0.8rem;
    line-height: 1.3;
    border-top: 1px solid #eee;
  }
  .cTable.type01 table th,
  .cTable.type01 table td {
    padding: 10px;
    border-left: 1px solid #eee;
    border-bottom: 1px solid #eee;
  }
  .cTable.type01 table tbody tr {
    border-right: 1px solid #eee;
  }
  .cTable.type01 .left {
    width: 90px;
    font-size: 0.75rem;
    background: #f5f5f5;
  }
  .cTable.type01 .t_img {
    width: 120px;
    text-align: center;
  }
  .cTable.type01 .t_bold {
    font-weight: 700;
  }
  .cTable.type01 .t_afl {
  }
    .cTable.type01 .t_afl p,
    .cTable.type01 .t_afl img,
    .cTable.type01 .t_afl br {
      display: none;
    }
    .cTable.type01 .t_afl a {
      width: 90%;
      display: flex;
      padding: 5px 3px;
      margin: 0 0 10px;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 0.85rem;
      color: #fff;
      border-radius: 5px;
      border-bottom: #111;
      background: ;
    }
      .cTable.type01 .t_afl .rakuten {
        border-bottom: #111;
        background: #b10d11;
      }
      .cTable.type01 .t_afl .yahoo {
        border-bottom: #111;
        background: #f3235c;
      }
      .cTable.type01 .t_afl .ama {
        border-bottom: #111;
        background: #fbbe4e;
      }
      .cTable.type01 .t_afl .other {
        border-bottom: #111;
        background: #93babf;
      }
@media screen and (max-width: 1200px) {
  .cTable.type01 table th,
  .cTable.type01 table td {
    padding: 5px;
  }
  .cTable.type01 .t_afl a {
    padding: 7px 3px;
    margin: 0 0 10px;
  }
}

.ClmPtn01 { /*  */
  max-width: 1200px;
  margin: 0 auto;
}
  .ClmPtn01 .item {
    width: 100%;
    overflow: hidden;
  }
  .ClmPtn01 .item > .inner {
    padding: 15px;
  }
  .ClmPtn01 .imgBox img {
    width: 100%;
  }
  .ClmPtn01Title {
    color: ;
  }
  .ClmPtn01 .item p {
    margin-top: 10px;
  }
  .aboutus .secMapListWrapper {
    max-width: 1200px;
    margin: 0 auto;
  }
@media screen and (max-width: 768px) {
  .ClmPtn01 {
    flex-direction: column;
  }
  .ClmPtn01 .item > .inner {
    display: flex;
  }
  .ClmPtn01 .item > .inner .imgBox {
    width: 100%;
    min-width: 30%;
    max-width: 30%;
  }
    .ClmPtn01 .item .c {
      margin-left: 15px;
    }
}

.ClmPtn02 { /* 横　３列　*/
  max-width: 1200px;
  margin: 20px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
  .ClmPtn02::after {
    content:"";
  }
  .ClmPtn02::after,
  .ClmPtn02Item {
    width: 32%;
    overflow: hidden;
    margin: 0 0 30px;
  }
  .ClmPtn02Item > .inner {
    height: 100%;
    padding: 0 0 0;
    display: flex;
    flex-direction: column;
    text-align: left;
    color: #2e2e2e;
    background: #fff;
  }
    .ClmPtn02Item .imgBox {
      margin: 0 0 10px;
      position: relative;
    }
    .ClmPtn02Item .imgBox img {
      /* height: 100%; */
      aspect-ratio: 1 / 1;
      object-fit: cover;
    }
    .ClmPtn02TextBox {
      width: 100%;
      height: 220px;
      padding: 0 30px 60px;
      margin: auto 0 0;
      display: flex;
      flex-direction: column;
      position: relative;
      background: #fff;
    }
      .ClmPtn02Item .elm {
        font-size: 0.8rem;
        justify-content: space-between;
      }
        .ClmPtn02Item .cat_name {
          padding: 5px 10px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          border-radius: 35px;
          font-size: 0.8rem;
          letter-spacing: 0.1rem;
          color: #fff;
          background: #687672;
      }
      .ClmPtn02Item .t {
        margin: 20px 0 0;
        font-size: 1rem;
        line-height: 1.5;
        font-weight: 700;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3; /* 制限したい行数が3の場合 */
        overflow: hidden;
      }
      .ClmPtn02Item .itemExcerpt {
        margin: auto 0 0;
        font-size: clamp(0.6rem, 0.509rem + 0.45vw, 0.85rem);
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2; /* 制限したい行数が3の場合 */
        overflow: hidden;
      }
      .ClmPtn02Item .btmBox {
        width: 100%;
        height: 30px;
        padding: 0 30px;
        margin: 0 0 20px;
        align-items: center;
        font-size: clamp(0.6rem, 0.527rem + 0.36vw, 0.8rem);
        position: absolute;
        bottom: 0;
        left: 0;
      }
        .ClmPtn02Item .btmBox b {
          font-family: "oswald";
          font-variation-settings: "wght" 280;
        }
        .ClmPtn02Item .btmBox::before {
          width: 16px;
          height: 16px;
          margin: 0 8px 0 0;
          content: "";
          background: #2e2e2e;
          mask-image: url(images/icon_date.svg);
          -webkit-mask-image: url(images/icon_date.svg);
          mask-size: auto;
          -webkit-mask-size: auto;
          mask-repeat: no-repeat;
          -webkit-mask-repeat: no-repeat;
        }
        .ClmPtn02Item .btmBox::after {
          width: 18px;
          height: 18px;
          margin: 0 0 0 auto;
          content: "";
          background: #2e2e2e;
          mask-image: url(images/icon_arrow01.svg);
          -webkit-mask-image: url(images/icon_arrow01.svg);
          mask-size: auto;
          -webkit-mask-size: auto;
          mask-repeat: no-repeat;
          -webkit-mask-repeat: no-repeat;
        }
@media screen and (max-width: 1200px) {
.ClmPtn02 {
  padding: 0 15px;
}
}
@media screen and (max-width: 768px) {
.ClmPtn02 {
  padding: 0 0;
  margin: 15px auto 0;
}
.ClmPtn02::after {
  width: 100%;
  content:"";
  padding: 0;
}
.ClmPtn02Item {
  width: 100%;
  padding: 10px 10px 10px;
  margin: 0 0 10px;
  border-bottom: 1px solid #eee;
}
.ClmPtn02Item > .inner {
  width: 100%;
  display: flex;
  flex-direction: row;
}
.ClmPtn02Item .imgBox {
  max-width: 150px;
  min-width: 150px;
  margin: 0 15px 0 0;
}
.ClmPtn02TextBox {
  height: auto;
  padding: 0 0 40px 13px;
  margin: 0 0 0;
  position: relative;
}
  .ClmPtn02Item .elm {
    display: inline-flex;
    flex-direction: column;
  }
    .ClmPtn02Item .cat_name {
      font-size: 0.7rem;
      letter-spacing: 0.05rem;
    }
    .ClmPtn02Item .elm .time {
      font-size: 0.6rem;
      position: absolute;
      bottom: 0;
      left: 0;
    }
    .ClmPtn02Item .t {
      margin: 5px 0 0;
      font-size: 0.9rem;
    }
  .ClmPtn02Item .itemExcerpt {
    margin: 13px 0 0;
  }
  .ClmPtn02Item .btmBox {
    padding: 0 13px;
    margin: 0 0 0;
  }
}

.ClmPtn03 { /* 縦　ブログバージョン */
  flex-direction: column;
}
  .ClmPtn03 .item {
    width: 100%;
    overflow: hidden;
    padding: 0 0 30px;
    margin: 0 0 30px;
    border-bottom: 2px solid ;
  }
  .ClmPtn03 .item > .inner {
    max-width: 1200px;
    margin: 0 auto;
    align-items: center;
  }
    .ClmPtn03 .thumImgBox {
      width: 100%;
      max-width: 500px;
      display: block;
    }
      .ClmPtn03 .thumImgBox img {
        width: 100%;
      }
    .ClmPtn03 .txtBox {
      width: 100%;
      padding: 16px 0 0 16px;
    }
      .ClmPtn03Title {
        letter-spacing: 0.1rem;
        font-weight: normal;
      }
      .ClmPtn03Title .time {
        margin: 0 0 15px;
        color: #2e2e2e;
        font-size: 1rem;
        line-height: 1;
        display: block;
      }
      .ClmPtn03Title .t {
        color: #f4e7d7;
        font-size: 1.5rem;
      }
      .ClmPtn03 .txt {
        font-size: 1rem;
        color: #2e2e2e;
      }
@media screen and (max-width: 768px) {
.ClmPtn03 { /* 縦　ブログバージョン */
}
  .ClmPtn03 .item {
    margin: 0;
  }
  .ClmPtn03 .item > .inner {
    flex-direction: column;
  }
  .ClmPtn03 .thumImgBox {
    max-width: 100%;
  }
    .ClmPtn03 .txtBox {
      padding: 20px;
    }
      .ClmPtn03Title .t {
        font-size: 1.3rem;
        letter-spacing: 0;
      }
      .ClmPtn03 .txt {
        font-size: 0.9rem;
        letter-spacing: 0;
        padding: 0 0;
      }
}

.ClmPtn04 { /* 2カラム 会社概要 で使用 */
}
  .ClmPtn04 > .inner {
  }
  .ClmPtn04_leftBox {
    width: 40%;
  }
  .ClmPtn04_rightBox {
    width: 60%;
    padding: 0 0 0 40px;
  }
@media screen and (max-width: 768px) {
.ClmPtn04 { /* 2カラム 会社概要 で使用 */
}
  .ClmPtn04 > .inner {
    flex-direction: column;
  }
  .ClmPtn04_leftBox {
    width: 100%;
  }
  .ClmPtn04_rightBox {
    width: 100%;
    padding: 0 0 0 0;
  }
}

.ClmPtn05 { /* immigration で使用 */
  overflow: hidden;
}
  .ClmPtn05_item {
    width: 100%;
    max-width: 1500px;
    padding: 0 0;
    margin: 50px auto;
    position: relative;
    /* border-top: 3px solid #111;
    border-bottom: 3px solid #111; */
  }
    .ClmPtn05_item > .inner {
      justify-content: flex-end;
    }
      .ClmPtn05_item > .inner:before {
        width: 200vw;
        height: 100%;
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
      }
      .ClmPtn05_item_box01 { /* 大きい方 */
        width: calc(75% - 30px);
        max-width: calc(75% - 30px);
        min-width: 400px;
        padding: 0px 0px 0px 30px;
        display: flex;
        justify-content: flex-end;
        position: relative;
        overflow: hidden;
        border-radius: 0 35px 35px 0;
        border-top: 3px solid #111;
        border-bottom: 3px solid #111;
        border-right: 3px solid #111;
        background-color: #fff;
      }
        .ClmPtn05_item_box01 .imgBox {
        }
          .ClmPtn05_item_box01 img {
            height: 100%;
          }
      .ClmPtn05_item_box02 { /* 小さい方 */
        width: auto;
        max-width: 500px;
        margin: 0 0 0 8%;
        border-top: 3px solid #111;
        border-left: 3px solid #111;
        border-bottom: 3px solid #111;
        border-radius: 35px 0 0 35px;
        overflow: hidden;
        background: #fff;
      }
        .ClmPtn05_item_box02 .normalTitleBox {
          margin: 70px 0 0 !important;
        }
          .ctn .ClmPtn05_item_box02 .normalTitleBox::before {
            background: #35b688;
          }
        .ClmPtn05_item_box02 .c {
          padding: 30px 0 30px 50px;
        }
    .ClmPtn05_item:nth-child(even) > .inner {
      justify-content: flex-start;
    }
      .ClmPtn05_item:nth-child(even) .ClmPtn05_item_box02 {
        order: 2;
        margin: 0 8% 0 0;
        border-left: none;
        border-right: 3px solid #111;
        border-radius: 0 35px 35px 0;
      }
        .ClmPtn05_item:nth-child(even) .ClmPtn05_item_box02 .c {
          padding: 30px 50px 30px 0;
        }
      .ClmPtn05_item:nth-child(even) .ClmPtn05_item_box01 {
        order: 1;
        width: calc(75% - 30px);
        max-width: calc(75% - 30px);
        min-width: 400px;
        padding: 0px 30px 0px 0;
        margin: 0;
        border-right: none;
        border-left: 3px solid #111;
        border-radius: 35px 0 0 35px;
      }
    .ctn .ClmPtn05_item:nth-child(1) .ClmPtn05_item_box02 .normalTitleBox::before {
      background-color: #35b688;
    }
    .ctn .ClmPtn05_item:nth-child(2) .ClmPtn05_item_box02 .normalTitleBox::before {
      background-color: #e54f01;
    }
    .ctn .ClmPtn05_item:nth-child(3) .ClmPtn05_item_box02 .normalTitleBox::before {
      background-color: #ffd001;
    }
@media screen and (max-width: 768px) {
.ClmPtn05 {
}
  .ClmPtn05_item > .inner:before {
    display: none;
  }
  .ClmPtn05_item {
    max-width: 100%;
    padding: 0 30px 30px;
    margin: 0;
  }
  .ClmPtn05_item > .inner {
    flex-direction: column;
    overflow: hidden;
    border: 3px solid #111;
    border-radius: 35px;
    background: #fff;
  }
  .ClmPtn05_item_box01,
  .ClmPtn05_item_box02,
  .ClmPtn05_item:nth-child(even) .ClmPtn05_item_box01,
  .ClmPtn05_item:nth-child(even) .ClmPtn05_item_box02 {
    order: 1;
    width: 100%;
    min-width: inherit;
    max-width: inherit;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 0;
    background: none;
  }
  .ClmPtn05_item_box01 .imgBox {
    /* overflow: hidden;
    border-radius: 35px; */
  }
    .ClmPtn05_item_box01 img {
      height: auto;
    }
    .ClmPtn05_item_box02 .normalTitleBox {
      margin: 40px 0 30px !important;
    }
    .ClmPtn05_item_box02 .c,
    .ClmPtn05_item:nth-child(even) .ClmPtn05_item_box02 .c {
      padding: 0 30px 30px;
    }
}

.menu_tagList {
  max-width: 1200px;
  margin: 30px auto 50px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
  .menu_tagList .item {
    margin: 0 10px 10px 0;
  }
    .menu_tagList .item .flexPtn {
      padding: 7px 13px;
      justify-content: center;
      align-items: center;
      color: #fff;
      font-size: 1.2rem;
      line-height: 1.3;
      border-radius: 15px;
      background: #d1a827;
    }
@media screen and (max-width: 768px) {
.menu_tagList {
}
  .menu_tagList .item .flexPtn {
    font-size: 1rem;
  }
}

.menu_catList {
}
  .menu_catList > .inner {
    max-width: 1200px;
    margin: 30px auto 50px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  .menu_catList .item {
    margin: 0 10px 10px;
  }
    .menu_catList .item .flexPtn {
      margin: 0 20px;
      flex-direction: column;
      justify-content: flex-start;
      align-items: center;
      font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
      line-height: 1.5;
      font-weight: 700;
    }
      .menu_catList .item .flexPtn span {
        font-family: "oswald";
        font-size: clamp(0.625rem, 0.58rem + 0.23vw, 0.75rem);
        font-weight: normal;
        display: block;
        text-align: center;
      }
      .menu_catList .item .flexPtn::after {
        width: 25px;
        height: 25px;
        display: block;
        content: "";
        background: #a1bbd0;
        mask-image: url(images/icon_arrow03.svg);
        -webkit-mask-image: url(images/icon_arrow03.svg);
        mask-size: 100%;
        -webkit-mask-size: 100%;
        mask-repeat: no-repeat;
        -webkit-mask-repeat: no-repeat;
        transform: rotate(90deg);
        /* position: absolute;
        top: 50%;
        right: 15px;
        transform: translate( 0%, -50%); */
      }
@media screen and (max-width: 768px) {
.menu_catList {
}
  .menu_catList .item {
  }
    .menu_catList .item .flexPtn {
      margin: 0 10px;
    }
}

.itemListWrapper01 { /* TOPページで、物件３つ並べたパターン */
  padding: 0 13px 50px;
  background: linear-gradient(to top, #687672 40%, transparent 0%);
}
.itemWrapper01 {
  padding: 0 0 70px;
  display: inline-block;
  margin: 0 auto;
  text-align: left;
  border: 1px solid #2e2e2e;
  background: #fff;
}
  .itemWrapper01Title {
    padding: 0 15px 0 0;
    margin: 0px auto 0 55px;
    display: inline-flex;
    align-items: center;
    font-size: clamp(0.85rem, 0.645rem + 0.87vw, 1.3rem);
    transform: translateY(-20px);
    background-color: #fff;
  }
    .itemWrapper01Title .imgBox {
      width: 50px;
      margin: 0 10px 0 15px;
    }
    .itemWrapper01Title b {
      white-space: nowrap;
    }
.itemWrapper01 > .inner {
  max-width: 1200px;
  margin: 0 60px 0;
  text-align: center;
}
  .itemList01 {
    flex-wrap: wrap;
  }
    .itemList01 .item {
      width: 33%;
      padding: 0 13px;
    }
      .itemList01Title {
        height: 100px;
        padding: 0 3px;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: center;
      }
        .itemList01Title .t {
          display: flex;
          flex-direction: column;
          justify-content: center;
        }
        .itemList01Title .t .miniT {
          font-size: 0.8rem;
        }
    .itemList01 .smallTxt {
      font-size: 0.83rem;
    }
    .itemList01 .imgBox {
      display: flex;
    }
      .itemList01 .imgBox img {
        width: 100%;
        height: 100%;
        aspect-ratio: 438 / 287;
        object-fit: cover;
      }
@media screen and (max-width: 768px) {
.itemListWrapper01 { /* TOPページで、物件３つ並べたパターン */
}
.itemWrapper01 {
  width: 100%;
  padding: 0 30px 15px;
  text-align: center;
}
  .itemList01 .item {
    width: 100%;
  }
  .itemWrapper01Title {
    padding: 0 8px 0;
    margin-left: -5px;
    transform: translateY(-10px);
  }
  .itemWrapper01Title .imgBox {
    width: 30px;
    margin: 0 5px 0 5px;
  }
.itemWrapper01 > .inner {
  margin: 0 13px 0;
}
.itemList01 {
  flex-direction: column;
}
  .itemList01 .item {
    margin: 0 0 20px;
  }
    .itemList01Title {
      height: inherit;
      padding: 0;
      margin: 10px 0 15px;
      font-size: 1rem;
    }
      .itemList01Title .t {
        justify-content: center;
      }
}

.itemListWrapper02 { /* TOPページで、コンサルメニュー３つ並べたパターン*/
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
}
  .itemList02 {
    padding: 70px 50px 50px;
    counter-reset: number 0;
  }
    .itemList02 .item {
      width: 100%;
      padding: 0 30px 0;
      flex-direction: column;
      text-align: center;
      border-right: 1px solid #222;
    }
    .itemList02 .item .topFont {
      align-items: center;
      justify-content: center;
    }
      .itemList02 .item .topFont::before {
        padding: 10px 18px 9px;
        margin: 0 15px 0 0;
        line-height: 1;
        color: #fff;
        font-size: 0.85rem;
        font-weight: 500;
        content: "PLAN";
        background: #0d9550;
      }
      .itemList02 .item .topFont::after {
        font-family: "oswald";
        font-size: 4.8rem;
        line-height: 1;
        color: #fff;
        font-variation-settings: "wght" 350, "wdth" 150;
        -webkit-text-stroke: 2px #2e2e2e;
        /* text-shadow: 1px 1px 0 #000,
        -1px -1px 0 #000, -1px 1px 0 #000,
        1px -1px 0 #000, 0px 1px 0 #000,
        0 -1px 0 #000, -1px 0 0 #000, 1px 0 0 #000; */
        counter-increment: number; /* counter-resetと同じ文字列 */
        content: "0" counter(number); /* カウントした数に応じて番号を表示 */
      }
      .itemList02 .item .imgBox {
        max-width: 85px;
        width: 100%;
        height: 100px;
        margin: 30px auto 15px;
        display: flex;
        align-items: center;
        justify-content: center;
      }
        .itemList02 .item .imgBox img {
          width: 100%;
        }
      .itemList02 .item .smallTxt {
        font-size: 0.85rem;
        letter-spacing: 0.08em;
      }
      .itemList02 .item .t {
        font-size: clamp(0.95rem, 0.882rem + 0.29vw, 1.1rem);
        letter-spacing: 0.08em;
      }
      .itemList02 .item:nth-child(1) { /* nth-child(1) */
      }
      .itemList02 .item:nth-child(1) .imgBox {
        max-width: 95px;
      }
      .itemList02 .item:nth-child(2) .topFont::before { /* nth-child(2) */
        background: #ffd001;
      }
      .itemList02 .item:nth-child(3) { /* nth-child(3) */
        border-right: none;
      }
      .itemList02 .item:nth-child(3) .imgBox {
        max-width: 115px;
      }
      .itemList02 .item:nth-child(3) .topFont::before {
        background: #e54f01;
      }
@media screen and (max-width: 1200px) {
.itemListWrapper02 { /* TOPページで、コンサルメニュー３つ並べたパターン*/
  margin: 0 13px;
}
  .itemList02 {
  }
    .itemList02 .item {
      padding: 0 5% 0;
    }
}
@media screen and (max-width: 768px) {
.itemListWrapper02 { /* TOPページで、コンサルメニュー３つ並べたパターン*/
  margin: 0 30px;
  background: inherit;
}
  .itemList02 {
    padding: 10px 0px 0px;
    flex-direction: column;
  }
    .itemList02 .item {
      padding: 30px 20px 30px;
      margin: 0 auto 20px;
      border: none;
      background: #fff;
    }
}

.sliderClm { /* sliderClm */
  width: 100%;
}
  .sliderClm .slider {
    line-height: 0;
    position: relative;
  }
  .sliderClm .item {
    width: 100%;
    max-width: 520px;
    position: relative;
  }

@media screen and (max-width: 768px) {
  .sliderClm .item {
  }
}

.ulList01 { /* ulリスト系01 */
  position: relative;
  display: inline-block;
}
  .ulList01Title {
    padding: 0 10px;
    margin: 0;
    background: #687672;
    display: inline-flex;
    align-items: center;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,-0%);
    background: #fff;
  }
  .ulList01Title::before {
    width: 60px;
    height: auto;
    aspect-ratio: 6 / 5;
    display: block;
    content: "";
    background: #687672;
    mask-image: url('images/icon_cutlery.svg') ;
    -webkit-mask-image: url('images/icon_cutlery.svg') ;
    mask-size: auto;
    -webkit-mask-size: auto;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
  }
  .ulList01 > .inner {
    padding: 40px 50px;
    margin: 20px 0;
    border: 5px solid #687672;
    background: #fff;
  }
  .ulList01 .item {
    padding: 7px 0;
    font-weight: 600;
  }
@media screen and (max-width: 768px) {
.ulList01 { /* ulリスト系01 */
  margin-left: auto;
  margin-right: auto;
}
}

/* blocksList01*/
.blocksList01 {
  position: relative;
  z-index: 1;
  margin: 0 0 0;
  background: linear-gradient(to top, #f3f3f3 220px, transparent 0%);
}
.blocksList01_title {
    max-width: 1200px;
    margin: 0 auto 0;
  align-items: center;
  font-size: clamp(1.2rem, 1.164rem + 0.18vw, 1.3rem);
  /* font-size: clamp(1rem, 0.891rem + 0.55vw, 1.3rem); */
}
  .blocksList01_title > .imgBox {
    padding: 0 50px 0 0;
    margin: 0 50px 0 0;
    position: relative;
  }
    .blocksList01_title > .imgBox img {
      width: 95px;
    }
    .blocksList01_title > .imgBox:after {
      width: 1px;
      height: 100%;
      content: "";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      background: #2e2e2e;
    }
.blocksList01_title .moreBtn02 {
  margin: 0 0 0 70px;
}

.blocksList01 .ClmPtn02Item {
  background: #fff;
}
  .blocksList01 .ClmPtn02Item .imgBox img {
    aspect-ratio: inherit;
  }
@media screen and (max-width: 1200px) {
  .blocksList01_title {
    padding: 0 13px;
  }
}
@media screen and (max-width: 768px) {
.blocksList01 {
  z-index: 1;
  padding: 0 0 0;
  position: relative;
}
  .blocksList01_title {
  }
    .blocksList01_title > .imgBox {
      padding: 0 20px 0 0;
      margin: 0 20px 0 0;
    }
      .blocksList01_title > .imgBox img {
        width: 68px;
      }
  .blocksList01_title .moreBtn02 {
    height: auto;
    padding: 7px 20px 7px 10px;
    margin: 0 0 0 auto;
    position: absolute;
    bottom: 20px;
    right: 20px;
  }
  .blocksList01_title .moreBtn02::after {
  }
  .blocksList01 .adjust_afterBox {
    height: 70px;
  }
}

/* adjust_afterBox */
.adjust_afterBox {
  width: 100%;
  height: 70px;
  background: #f3f3f3;
}
@media screen and (max-width: 768px) {
  .adjust_afterBox {
    height: 50px;
  }
}

/* linkWrap moreBtn
-------------------------------------------------------------- */
.linkWrap01 { /* 右端に寄せる */
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
  .linkWrap01 *[class^="moreBtn"] {
    margin: 5px;
  }
.linkWrap02 { /* 真ん中に寄せる */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
  .linkWrap02 *[class^="moreBtn"] {
    margin: 5px;
  }

.moreBtn01 {
  max-width: 200px;
  font-weight: 600;
  align-items: center;
  justify-content: center;
}
  .moreBtn01 .icon {
    margin: 0 0 0 8px;
  }
.moreBtn02 {
  /* max-width: 200px; */
  height: 100%;
  padding: 7px 40px 7px 28px;
  font-weight: 600;
  font-size: clamp(0.6rem, 0.527rem + 0.36vw, 0.8rem);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  position: relative;
  background: #d1a827;
}
  .moreBtn02::after {
    width: 25px;
    height: 25px;
    display: block;
    content: "";
    background: #fff;
    mask-image: url(images/icon_arrow03.svg);
    -webkit-mask-image: url(images/icon_arrow03.svg);
    mask-size: 100%;
    -webkit-mask-size: 100%;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translate( 0%, -50%);
  }
@media screen and (max-width: 768px) {
.moreBtn02 {
  padding: 7px 20px 7px 10px;
}
  .moreBtn02::after {
    width: 18px;
    height: 18px;
    right: 5px;
  }
}

.moreBtn03 {
  padding: 5px 8px;
  margin: 0 0 0 0;
  color: #fff;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  border-radius: 10px;
  background: #687672;
}
  .moreBtn03::after {
    width: 23px;
    height: 23px;
    margin: 0 0 0 3px;
    content: "";
    display: block;
    background: #fff;
    mask-image: url(images/icon_arrow03.svg);
    -webkit-mask-image: url(images/icon_arrow03.svg);
    mask-size: auto;
    -webkit-mask-size: auto;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
  }
@media screen and (max-width: 768px) {
.moreBtn03 {
  font-size: 0.8rem;
}
  .moreBtn03::after {
    width: 18px;
    height: 18px;
  }
}

.moreBtn04 {
  /* width: 175px; */
  height: 30px;
  line-height: 30px;
  padding: 0 8px;
  margin: 0 0 0 auto;
  border-radius: 2px;
  color: #111;
  font-size: clamp(0.6rem, 0.527rem + 0.36vw, 0.8rem);
  letter-spacing: 0.08rem;
  border: 1px solid #111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
  .moreBtn04:hover {
    opacity: 1;
    color: #fff;
    border: 1px solid #414042;
    background: #414042;
  }
@media screen and (max-width: 768px) {
  .moreBtn04 {
    margin: 10px 0 0;
  }
}

.moreBtn05 {
  padding: 8px 13px 8px 20px;
  margin: 0 0 0 0;
  color: #fff;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  border-radius: 50px;
  background: #687672;
}
  .moreBtn05::after {
    width: 23px;
    height: 23px;
    margin: 0 0 0 3px;
    content: "";
    display: block;
    background: #fff;
    mask-image: url(images/icon_arrow03.svg);
    -webkit-mask-image: url(images/icon_arrow03.svg);
    mask-size: auto;
    -webkit-mask-size: auto;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
  }
@media screen and (max-width: 768px) {
.moreBtn05 {
  font-size: 0.8rem;
}
  .moreBtn05::after {
    width: 18px;
    height: 18px;
  }
}

.moreBtn06 {
    padding: 8px 5px 8px;
    line-height: 1.3;
    margin: 0 auto;
    border-radius: 50px;
    color: #111;
    font-size: 1rem;
    letter-spacing: 0.08rem;
    border: 1px solid #111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* header
-------------------------------------------------------------- */
.header {
  z-index: 1000;
  width: 100%;
  height: 60px;
  font-family: "YakuHanJP","Noto Sans JP", Meiryo, sans-serif;
  padding: 0 0 0;
  justify-content: center;
  align-items: center;
  font-size: 0.9rem;
  letter-spacing: 0.18em;
  transition: all .3s;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
}
  .header a:hover {
    opacity: 0.8;
  }
  .headerLayout {
    height: 100%;
    justify-content: flex-start;
  	position: relative;
    /* background: #f5f5f5; */
  }
  .headerLayout > .inner {
    width: 100%;
  	max-width: 1200px;
    margin: 0 auto;
    justify-content: flex-start;
    align-items: center;
    position: relative;
  }
  .logoWrapper {
  	position: relative;
  }
  /* #logo
  ---------- */
  .logo {
    z-index: 1002;
    width: 190px;
    min-width: 190px;
    overflow: hidden;
    padding: 0 0 0;
    margin: 0 auto;
    line-height: 0;
    display: block;
    background: none;
  }
    .logo:hover {
      text-decoration: none;
      opacity: 1;
    }
    .logo img {
      width: 100%;
      max-width:  100%;
      height: auto;
      padding: 0;
      margin: 0 0 0;
      border: none;
      background-color: transparent;
    }

@media screen and (max-width: 1200px) {
  .headerLayout {
    padding: 0 15px;
  }
}
@media screen and (max-width: 768px) {
  .header {
    height: 70px;
  }
    .logo {
      width: 130px;
      min-width: 130px;
    }
}


/* menu
-------------------------------------------------------------- */
#menu {
	z-index: 1000;
  width: 50px;
  height: 50px;
  font-size: 2.5rem;
  cursor: pointer;
  display: none;
  justify-content: center;
  align-items: center;
  transition: all .1s;
  position: absolute;
  top: 10px;
  right: 0;
}
  #menu .icon {
    width: 100%;
    height: 100%;
    font-size: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: ;
  }
@media screen and (max-width: 768px) {
  #menu {
    display: flex;
  }
}

.headNav {
  width: 100%;
}
  .headNav > .inner {
    justify-content: flex-end;
  }
  .headNav .item {
    margin: 0 8px;
    font-weight: 500;
    font-size: 0.85rem;
    display: flex;
  }
  .headNav .item .t {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }
  .headNav .info {
    font-weight: 600;
    font-size: 0.95rem;
  }
  .headNav .info .t .imgBox {
    width: 23px;
    margin: 0 4px 0 0;
    height: auto;
  }
@media screen and (max-width: 768px) {
  .headNav {
    width: 100%;
  }
    .headNav > .inner {
      justify-content: flex-start;
      flex-direction: column;
    }
    .headNav .item {
      display: none;
    }
    /* .headNav .info {
      display: flex;
    } */
  #menu.open ~ .headNav {
    z-index: 1000;
    opacity: 1;
    width: 100%;
    padding: 313px 0 0;
    height: 700px;
    /* overflow-y: scroll; */
    display: block;
    position: fixed;
    top: 70px;
    left: 0;
    background: #fff;
  }
    #menu.open ~ .headNav .item {
      display: flex;
      padding: 13px;
      margin: 0;
      border-bottom: 1px solid #111;
    }
    #menu.open ~ .headNav .item .t {
      width: 100%;
      justify-content: flex-start;
    }
      #menu.open ~ .headNav .item .t::after {
        width: 30px;
        height: 30px;
        margin: 0 0 0 auto;
        content: "";
        display: block;
        -webkit-mask-image: url( images/icon_arrow03.svg );
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: 0 0;
        -webkit-mask-size: 100%;
        mask-image: url( images/icon_arrow03.svg );
        mask-position: 0 0;
        mask-repeat: no-repeat;
        mask-size: 100%;
        background-color: #111;
      }
}
@media screen and (max-width: 415px) {
  #menu.open ~ .headNav {
    padding: 280px 0 0;
  }
}

/* cta要素 */
.cta {
  max-width: 700px;
  padding: 0 20px;
  margin: 0 auto;
  color: #fff;
}
  .cta > .inner {
    padding: 60px 30px;
    text-align: center;
    position: relative;
    border-radius: 50px;
    background-color: rgba(53,182,136,0.9);
    @media screen and (max-width: 768px) {
      padding: 40px 30px;
    }
  }
    .cta .subtitle {
      opacity: 0.9;
      font-family: "oswald","Noto Sans JP";
      margin: 0 0 0 15px;
      font-variation-settings: "wght" 650;
      font-size: 3.5rem;
      color: #f4e7d7;
      white-space: nowrap;
      font-weight: 900;
      letter-spacing: 1rem;
      line-height: 1;
      position: absolute;
      top: -30px;
      left: 50%;
      transform: translateY(0) translateX(-50%);
      @media screen and (max-width: 768px) {
        margin: 0 0 0 10px;
        font-size: 2.3rem;
        letter-spacing: 0.7rem;
        top: -15px;
        /* transform: none; */
      }
    }
    .cta_titleBox {
      justify-content: center;
      align-items: center;
    }
      .cta_titleBox .title {
        padding: 20px 0;
        color: #fff;
      }
    .cta_miniTxt {
      margin: 5px 5px;
    }
    .cta_moreBtn {
      width: 100%;
      max-width: 450px;
      padding: 13px;
      margin: 30px auto 0;
      color: #fff;
      border: 2px solid #fff;
      border-radius: 50px;
      background: #3f4234;
      @media screen and (max-width: 768px) {
        margin: 20px auto 20px;
      }
    }
      .cta_moreBtn .imgBox {
        width: 40px;
        height: 40px;
        display: block;
        content: "";
        mask-image: url('images/icon_info.svg') ;
        -webkit-mask-image: url('images/icon_info.svg') ;
        mask-size: auto;
        -webkit-mask-size: auto;
        mask-repeat: no-repeat;
        -webkit-mask-repeat: no-repeat;
        background-color: #fff;
      }
      .cta_moreBtn b {
        margin: 0 0 0 13px;
        font-size: clamp(1rem, 0.682rem + 1.36vw, 1.7rem);
        display: flex;
        align-items: center;
      }
    .contein .cta_moreBtn:hover {
      opacity: 1;
      /* background-color: #fff; */
      background: #d1a827;
    }
  .cta_titleBtm {
    padding: 20px 0 0;
    margin: 30px 0 0;
    border-top: 2px dashed #fff;
  }
    .cta_snsTitle .title {
      padding: 30px 0 20px;
    }
  .snsBox {
    justify-content: center;
  }
    .snsBox .item {
      width: 80px;
      margin: 15px;
    }
    .snsBox .imgBox {
      width: 75px;
      min-width: 75px;
      height: 75px;
      border-radius: 50%;
      border: 4px solid #fff;
      display: inline-block;
      background: #fff;
    }
    .snsBox .insta .imgBox {
      border-radius: 18px;
    }

/* #wrapper
-------------------------------------------------------------- */
#wrapper {
  width: 100%;
  padding: 0 0 0;
  margin: 0 auto 0;
  transition: all .3s;
  font-size: 1rem;
  position: relative;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #wrapper {
    font-size: 0.95rem;
  }
}
.wrapper {
  padding: 0 0 0;
  margin: 0 auto 30px;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
.wrapper {
  width: auto;
  margin: 0 15px 0px;
}
}


/* home
-------------------------------------------------------------- */
.home #wrapper {
  width: 100%;
  background: #fff;
}

.home section {
}
.home h2 {
  font-size: 1.5rem;
}

@media screen and (max-width: 1200px) {
}
@media screen and (max-width: 768px) {
}

.keyCnt {
  position: relative;
  display: flex;
  flex-direction: column;
  background-repeat: repeat;
  background-size: unset;
  background-image: url(images/bg_keysideBar.png);
}
  .kvTxtWrap {
    width: 100%;
    height: 100%;
    max-width: 1200px;
    padding: 0;
    margin: 0 auto 0;
    display: flex;
    position: relative;
  }
    .kvTxtWrap .kvTxtBox {
      z-index: 1;
      width: 100%;
      max-width: 600px; /* 適当 */
      font-family: "游ゴシック体", "Yu Gothic","Noto Sans JP", Meiryo, sans-serif;
      color: #2c3538;
      line-height: 1;
      font-size: 1.6vw;
      font-weight: 900;
      position: absolute;
      top: 150px;
      left: 4vw;
    }
      .kvTxtWrap .kvTxtBox span {
        padding: 8px 5px 7px;
        margin: 0 0 50px;
        display: inline-flex;
        background: rgba(255, 255, 255, 0.88);
      }
      .kvTxtWrap .kvTxtBox .item01 {
      }
      .kvTxtWrap .kvTxtBox .item02 {
        margin: 120px 0 70px;
      }
      .c01 {
        position: relative;
        color: transparent;
      }
        .c01::before{
          content: ""; position: absolute; z-index: 1; top: 0%; right: 100%; bottom: 0%; left: 0%;
          background : #f4e7d7;
        }
        .c01.active {
          animation-name: kf_c01a;
          animation-duration: 0s;
          animation-delay: 0.5s;
          animation-fill-mode: forwards;
          &::before{
            animation-name: kf_c01b;
            animation-duration: 1s;
            animation-fill-mode: forwards;
          }
        }
      @keyframes kf_c01a {
        100%{
          color: inherit;
        }
      }
      @keyframes kf_c01b {
        50%{
          left: 0%; right: 0%;
        }
        100%{
          left: 100%; right: 0%;
        }
      }
  .keyCnt > .inner {
  }
    .keyVisual {
      width: 100%;
      overflow: hidden;
    }
      /* slick導入後 20240801 --- */
      .keyCnt .slick-slider {
        overflow: hidden;
        height: 100%;
        position: relative;
      }
      .keyCnt .slick-list {
        height: 100%;
      }
      .keyCnt .slick-track {
        height: 100%;
      }
        .keyCnt .slick-dots {
          right: 10px;
          bottom: 0;
          display: flex;
          justify-content: right;
        }
          .keyCnt .slick-dots li button:before {
            font-size: 8px;
            color: #fff;
          }
      /* --- slick導入後 20240801 */

        .keyVisual .imgBox {
          height: 100%;
          display: flex;
          position: relative;
        }
          .keyVisual .imgBox img {
            width: 100%;
            max-width: 100%;
            max-height: 100%;
            height: 100%;
            margin: auto;
            object-fit: cover;
          }

@media screen and (max-width: 768px) {
.keyCnt {
}
  .kvTxtWrap {
  }
  .kvTxtWrap .kvTxtBox {
    text-align: center;
    font-size: 1.3rem;
    /* top: inherit; */
    /* bottom: 1vw; */
    top: 170px;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }
    .kvTxtWrap .kvTxtBox span {
      padding: 0 5px;
      margin: 0 0 0;
      height: 30px;
      line-height: 30px;
      background-color: rgba(255, 255, 255, 0.8);
    }
      .kvTxtWrap .kvTxtBox .item01 {
      }
      .kvTxtWrap .kvTxtBox .item02 {
        margin: 100px 0 40px;
      }
  .keyCnt > .inner {
  }
    .keyVisual {
      height: 400px;
      position: relative;
    }
      /* slick導入後 20240801 --- */
      .keyVisual .imgBox {
        width: 768px;
        /*
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        */
      }
      .keyVisual .imgBox.key02 {
        /* 調整？ */
      }
      .keyCnt .slick-dots {
        bottom: 50px;
      }
}
@media screen and (max-width: 415px) {
  .kvTxtWrap .kvTxtBox {
    font-size: 0.9rem;
  }
  .keyVisual {
    /* height: 300px;
    margin: 0 0 30px; */
  }
    .kvTxtWrap .kvTxtBox span {
      height: 27px;
      line-height: 27px;
      background-color: rgba(255, 255, 255, 0.9);
    }
    /* .keyVisual .imgBox {
      transform: translateY(-50%) translateX(-53%);
    } */
}

.keysideBar {
  display: none;
  width: 430px;
  min-width: 220px;
  background-repeat: repeat;
  background-size: unset;
  background-image: url(images/bg_keysideBar.png);
}
  .keysideBar > .inner {
    padding: 0 0 15px;
    margin: 0 60px 0 30px;
    display: flex;
    height: 100%;
    flex-wrap: wrap;
    align-items: center;
  }
  .keysideBarTitle {
    width: 100%;
    margin: 20px 0 10px;
    display: flex;
    justify-content: center;
    color: #fff;
    font-weight: 600;
  }
  .keysideBar .item {
    margin: 0 auto 18px;
    border-radius: 15px;
    background: #fff;
  }
  .keysideBar .item .t {
    width: 100%;
    max-width: 210px;
    height: 130px;
    display: block;
    border: 2px solid #fff;
    position: relative;
    overflow: hidden;
    border-radius: 15px;
  }
    .keysideBar .item .t::before {
      width: 100%;
      height: 100%;
      opacity: .2;
      content: "";
      display: block;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translateY(-50%) translateX(-50%);
      background: #000;
    }
    .keysideBar .item .imgBox {
    }
    .keysideBar .item .imgBox img {
      width: 100%;
      margin: -3% 0 3%;
    }
    .keysideBar .item .c {
      color: #fff;
      padding: 0 0 0 10px;
      white-space: nowrap;
      position: absolute;
      left: 50%;
      top: 47%;
      transform: translateY(-50%) translateX(-50%);
    }
    .keysideBar .item b {
      width: 100%;
      height: 30px;
      font-size: 0.83rem;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translateY(0%) translateX(-50%);
      background: #35b688;
    }
  .keysideBar .item .t:hover {
    opacity: 0.7;
  }

.home .keysideBar {
  display: block;
}
@media screen and (max-width: 1200px) {
.keysideBar {
}
}
@media screen and (max-width: 768px) {
.keysideBar {
  z-index: 1000;
  width: 100%;
  height: 100%;
  max-height: 313px;
  padding: 0 0 0;
  overflow: hidden;
  display: none;
  position: fixed;
  top: 70px;
  left: 0;
}
  .home .keysideBar {
    display: none;
  }
  .keysideBar > .inner {
    max-width: 490px;
    height: 100%;
    padding: 0 0;
    margin: 0 auto;
    align-items: flex-start;
    justify-content: center;
  }
  .keysideBarTitle {
    height: 30px;
    line-height: 30px;
    margin: auto;
  }
  .keysideBar .item {
    width: 30%;
    max-width: 251px;
    margin: 0 1.5%;
    text-align: center;
  }
    .keysideBar .item .t {
      max-width: 100%;
      height: auto;
      white-space: nowrap;
    }
    .keysideBar .item .c {
      top: 43%;
      font-size: 0.62rem;
      line-height: 1.3;
    }
    .keysideBar .item b {
      height: 35px;
      font-size: 0.65rem;
      letter-spacing: 0.1em;
      line-height: 1.15;
    }
  .all_scrolling_for .keysideBar {
    z-index: 1001;
    display: flex !important;
  }
}
@media screen and (max-width: 415px) {
.keysideBar {
  max-height: 280px;
}
}

.ctn {
}
  .ctn > .inner {
  }
  .ctn > .inner > .titleBox {
    font-weight: 600;
    align-items: center;
  }
  .ctn > .inner > .titleBox .t,
  .ctn > .inner > .titleBox .txt,
  .home .ctn > .inner > .titleBox .t,
  .home .ctn > .inner > .titleBox .txt {
    margin: 0 0 0 8px;
    color: #fff;
    font-size: 1.5rem;
    letter-spacing: 0.2em;
    display: block;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
  }

.ctn .titleBox {
  height: 300px;
  overflow: hidden;
  color: #fff;
  position: relative;
}
  .ctn .titleBox .t {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
  }
    .titleBox .subtitle {
      padding: 12px 25px;
      display: inline-flex;
      align-items: center;
      justify-self: center;
      line-height: 1;
      font-weight: 600;
      font-size: clamp(0.8rem, 0.709rem + 0.39vw, 1rem);
      border-radius: 100px;
      border: 2px solid #fff;
    }
    .titleBox .title {
      padding: 0;
      margin: 0;
      color: #fff;
      font-size: 2.5rem;
      font-size: clamp(1.5rem, 1.045rem + 1.94vw, 2.5rem);
      letter-spacing: 0.2em;
    }
  .titleBoxImgBox {
    display: flex;
    height: 100%;
    /* position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%); */
  }
    .titleBoxImgBox img {
      width: 100%;
      height: 100%;
      aspect-ratio: 1848 / 410;
      object-fit: cover;
    }
@media screen and (max-width: 768px) {
.ctn .titleBox {
  height: 180px;
}
  .ctn .txt {
  }
  .titleBox .subtitle {
    margin: 8px 0;
  }
  .titleBox .title {
  }
}

.ctn .normalTitleBox {
  padding: 0 0 0px 50px;
  margin: 0 0 50px;
  position: relative;
}
  .ctn .normalTitleBox::before {
    width: 12px;
    height: 100%;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: #2e2e2e;
  }
    .ctn .normalTitleBox .topTxt {
      padding: 10px 0 0;
      font-size: clamp(1.5rem, 1.209rem + 1.45vw, 2.3rem);
      font-weight: 900;
      line-height: 1.3;
      font-family: "oswald","Noto Sans JP";
      font-variation-settings: "wght" 650;
    }
    .ctn .normalTitleBox .t {
      font-size: clamp(0.8rem, 0.691rem + 0.55vw, 1.1rem);
      padding: 13px 0;
      margin: 0 0;
    }
@media screen and (max-width: 768px) {
.ctn .normalTitleBox {
  margin: 0 0 30px;
}
  .ctn .normalTitleBox::before {
  }
  .ctn .normalTitleBox .topTxt {
    padding: 0px 0 0;
    font-variation-settings: "wght" 450;
  }
  .ctn .normalTitleBox .t {
    padding: 5px 0;
  }
}

.ctn01 {
  padding: 60px 0;
  margin: 0;
  background: #f4e7d7;
}
  .ctn01 > .inner {
    width: 100%;
    max-width: 1200px;
    padding: 70px 0;
    margin: 0 auto 0;
    border-radius: 35px;
    display: flex;
    justify-content: flex-start;
    position: relative;
    background: #fff;
  }
    .ctn01 > .inner:before {
      width: 200vw;
      height: 100%;
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      background: #fff;
    }
    .ctn01 .leftBox {
      z-index: 1;
      width: 100%;
      max-width: 300px;
      min-width: 300px;
    }
      .ctn01 .leftBox .moreBtn03 {
        margin: 0 0 0 50px;
      }
    .ctn01 .rightBox {
      z-index: 1;
      width: 100%;
    }
      .ctn01 .rightBox .itemList {
        margin: 0 0 0;
      }
        .ctn01 .rightBox .itemList .item {
          margin: 0 0 15px;
          letter-spacing: 0.03em;
        }
          .ctn01 .rightBox .itemList .item > .inner {
            padding: 0 30px 0 0;
            display: flex;
            align-items: flex-start;
            position: relative;
          }
          .ctn01 .rightBox .itemList .item .t {
            display: flex;
            align-items: center;
          }
          .ctn01 .rightBox .itemList .item u {
            width: 100px;
            padding: 0 7px;
            height: 20px;
            line-height: 20px;
            margin: 0 13px 0 0;
            font-size: 0.75rem;
            letter-spacing: 0;
            text-decoration: none;
            white-space: nowrap;
            border-radius: 5px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid #2e2e2e;
            /* position: relative; */
          }
            /* .ctn01 .rightBox .itemList .item u:after {
              width: 1px;
              height: 15px;
              margin: 0 13px 0 5px;
              content: "";
              display: block;
              background: #2e2e2e;
            } */
          .ctn01 .rightBox .itemList .item b {
            font-weight: normal;
            letter-spacing: 0.1em;
            font-size: 0.8rem;
            color: #666;
          }
        .ctn01 .rightBox .itemList .item .imgBox {
          position: absolute;
          right: 0;
          top: 50%;
          transform: translateY(-50%) translateX(0%);
        }
        /* .ctn01 .rightBox .itemList .item.note .imgBox {
          width: 64px;
          height: 15px;
          margin: 0 13px 0 5px;
          content: "";
          display: block;
          background: #000;
          mask-image: url('images/sns_note_logo.svg') ;
          -webkit-mask-image: url('images/sns_note_logo.svg') ;
          mask-size: auto;
          -webkit-mask-size: auto;
          mask-repeat: no-repeat;
          -webkit-mask-repeat: no-repeat;
          mask-position: center;
          -webkit-mask-position: center;
        } */
        .ctn01 .rightBox .itemList .item .text {
          margin: 0 0 0 15px;
          display: flex;
          align-items: center;
          font-weight: 600;
        }
        .ctn01 .rightBox .itemList .ctn01_banner {
          margin: 25px 0 0;
          letter-spacing: 0.03em;
          display: flex;
        }
          .ctn01_banner .banner {
            display: inline-flex;
            align-items: center;
            margin: 0 0 0 auto;
          }
          .ctn01 .rightBox .itemList .ctn01_banner .banner .imgBox {
            width: 30px;
            height: auto;
            display: block;
            position: static;
            transform: unset;
          }
          .ctn01_banner .banner .ctn01_banner_txt {
            margin: 0 0 5px 7px;
            display: inline-block;
            border-bottom: 1px solid #000;
          }
@media screen and (max-width: 1200px) {
.ctn01 {
  padding: 30px 0 30px 30px;
  margin: 0 0 0 0;
}
}
@media screen and (max-width: 768px) {
.ctn01 {
  padding-top: 0;
  margin-top: -80px;
}
  .ctn01 > .inner {
    padding: 60px 0 30px;
    margin: 30px auto 0;
    flex-direction: column;
  }
    .ctn01 .leftBox {
      max-width: 100%;
      min-width: inherit;
      display: flex;
      align-items: flex-start;
    }
    .ctn01 .leftBox .moreBtn03 {
      margin: 0 20px 0 auto;
    }
    .ctn01 .rightBox .itemList {
      margin: 0 20px;
    }
      .ctn01 .rightBox .itemList .item > .inner {
        margin: 15px 13px;
        flex-direction: column;
      }
        .ctn01 .rightBox .itemList .item .t {
          margin: 0 ;
        }
        .ctn01 .rightBox .itemList .item .text {
          margin: 0 0 0 5px;
          font-size: 0.9rem;
        }
}
@media screen and (max-width: 415px) {
.ctn01 {
  margin-top: -60px;
}
  .ctn01 > .inner {
    margin: 10px auto 0;
  }
}

.ctn02 {
}
  .ctn02 > .inner {
    text-align: center;
  }
  .ctn02 .p_type01 {
    max-width: 1200px;
    margin: 60px auto;
    text-align: left;
  }
  .ctn02 .itemWrapper01 {
    /* 共通アイテムとしてCSS上部に記述 */
  }
@media screen and (max-width: 1200px) {
.ctn02 {
}
  .ctn02 > .inner {
  }
  .ctn02 .p_type01 {
    padding: 0 13px;
  }
}
@media screen and (max-width: 768px) {
.ctn02 {
}
    .ctn02 .p_type01 {
      margin: 30px auto 40px;
  }
}

.ctn03 { /* TOPページfor Business の形式*/
  background: #687672;
}
  .ctn03 > .inner {
    background: linear-gradient(to top, #f3f3f3 50%, transparent 0%);
  }
  .ctn03 .titleBox {
    max-width: 1320px;
    height: inherit;
    margin: 0 auto;
    overflow: inherit;
    align-items: center;
    line-height: 1;
  }
    .ctn03 .titleBox:before {
      width: 100%;
      max-width: 440px;
      padding: 16px 30px 16px 60px;
      margin: 0 0 0 -60px;
      display: inline-flex;
      justify-content: flex-end;
      align-items: center;
      line-height: 1;
      border-radius: 35px;
      content: "for BUSINESS";
      color: #fff;
      font-size: clamp(0.9rem, 0.627rem + 1.16vw, 1.5rem);
      letter-spacing: 0.1em;
      background: #111;
    }
    .ctn03 .titleBox .t {
      position: static;
      padding: 0;
      margin: 0;
      margin-left: 3%;
      transform: inherit;
    }
  .ctn03 .p_type02 {
    max-width: 900px;
    margin: 40px auto;
    color: #fff;
  }
  .ctn03 .linkBox {
    padding: 0 0 65px;
    text-align: right;
    font-weight: 600;
    background: #f3f3f3;
  }
    .ctn03 .linkBox > .inner {
      max-width: 1200px;
      margin: 0 auto;
    }
      .ctn03 .linkBox .moreBtn01 {
        margin: 15px 0 0 auto;
      }
@media screen and (max-width: 1200px) {
.ctn03 { /* TOPページfor Business の形式*/
  overflow: hidden;
}
  .ctn03 .titleBox {
    padding: 0 13px;
  }
    .ctn03 .p_type02 {
      padding: 0 13px;
    }
    .ctn03 .titleBox:before {
      max-width: 300px;
      margin: 0 0 0 -100px;
      display: flex;
      justify-content: center;
    }
  .ctn03 .linkBox {
    padding-right: 13px;
    padding-left: 13px;
  }
}
@media screen and (max-width: 768px) {
.ctn03 { /* TOPページfor Business の形式*/
}
  .ctn03 .titleBox {
    flex-direction: column;
    justify-content: center;
  }
    .ctn03 .p_type02 {
    }
    .ctn03 .titleBox:before {
      width: auto;
      max-width: initial;
      padding: 13px 30px;
      margin: 0 auto 16px;
    }
    .ctn03 .titleBox .t {
      margin: 0 auto;
      text-align: center;
    }
}

.ctn04 { /* TOPページ 移住支援 の形式*/
}
  .ctn04 > .inner {
  }
  .ctn04 .p_type01 {
    max-width: 1200px;
    margin: 60px auto 0;
  }
  .ctn04 .p_type02 {
    max-width: 900px;
    margin: 40px auto 50px;
    line-height: 2.3;
    letter-spacing: 0.15em;
  }
  .ctn04 .itemList {
    justify-content: center;
  }
    .ctn04 .itemList .item {
      margin: 0 10px 15px;
      position: relative;
    }
      .ctn04 .itemList .item img {
        width: 100%;
        aspect-ratio: 230 / 138;
        object-fit: cover;
      }
    .ctn04 .itemList .item p {
      width: 100%;
      height: 70px;
      margin: 0 0 0;
      line-height: 1;
      white-space: nowrap;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      border-radius: 30px;
      color: #fff;
      /* position: absolute;
      left: 50%;
      bottom: 0;
      transform: translate( -50%, 0%); */
      background: #7194b8;
    }
    .ctn04 .itemList .item:last-child p { /* ケアリーバー支援 一人親支援 */
      margin: 0 0 11px;
      line-height: 1.3;
    }
  .ctn04 .linkBox {
    padding: 70px 0;
    justify-content: center;
    background: linear-gradient(to top, #f3f3f3 55%, transparent 0%);
  }
    .ctn04 .linkBox > .inner {
      max-width: 1200px;
      margin: 0 auto;
      justify-content: space-around;
    }
    .ctn04 .linkBox .item {
      margin: 0 13px;
    }
    .ctn04 .linkBox .item .t {
      display: flex;
      flex-direction: column;
      align-items: center;
    }
      .ctn04 .linkBox .item .t:hover {
        opacity: .7;
      }
      .ctn04 .linkBox .item .imgBox {
        display: block;
      }
      .ctn04 .linkBox .item .photoImgBox {
        border: 5px solid #fff;
        overflow: hidden;
        border-radius: 5px;
      }
      .ctn04 .linkBox .item .t .moreBtn01 {
        max-width: 210px;
        margin: 20px 0 0;
      }
@media screen and (max-width: 1200px) {
.ctn04 { /* TOPページ 移住支援 の形式*/
}
  .ctn04 > .inner {
  }
  .ctn04 .p_type01 {
    padding: 0 13px;
  }
  .ctn04 .p_type02 {
    padding: 0 13px;
    margin: 20px auto 30px;
  }
  .ctn04 .itemList {
  }
  .ctn04 .linkBox {
  }
    .ctn04 .linkBox > .inner {
    }
}
@media screen and (max-width: 768px) {
.ctn04 { /* TOPページ 移住支援 の形式*/
}
  .ctn04 > .inner {
  }
  .ctn04 .p_type01 {
    margin: 30px auto 0;
  }
  .ctn04 .itemList {
  }
    .ctn04 .itemList .item {
    }
    .ctn04 .itemList .item p {
      font-size: 0.7rem;
      height: 40px;
      border-radius: 25px;
    }
    .ctn04 .itemList .item:first-child  { /* 企業就労支援で二段にする */
    }
    .ctn04 .itemList .item:last-child p { /* ケアリーバー支援 一人親支援 */
      margin: 0 0 0;
      line-height: 1.3;
      letter-spacing: -0.05em;
    }
  .ctn04 .linkBox {
    padding: 30px 0 50px;
  }
    .ctn04 .linkBox > .inner {
      margin: 0 7px;
    }
    .ctn04 .linkBox .item {
      width: 100%;
      max-width: 100%;
      /* white-space: nowrap; */
      margin: 0 5px;
    }
    .ctn04 .linkBox .item .t .moreBtn01 {
      margin: 10px 0 0;
      /* font-size: clamp(0.8rem, 0.709rem + 0.39vw, 1rem); */
      font-size: 0.6rem;
      letter-spacing: 0.03em;
      /* white-space: nowrap; */
    }
    .ctn04 .linkBox .item .imgBox .icon {
      width: 10px;
      min-width: 10px;
      margin: 0 0 0 3px;
    }
}

.ctn05 { /* up cycle  */
}
  .ctn05 > .inner {
  }
  .ctn05Header {
    overflow: hidden;
    background: #d1a827;
  }
    .ctn05Header > .inner {
      max-width: 1200px;
      margin: 0 auto;
      justify-content: center;
    }
    .ctn05Header .mainPhotoBox {
      min-width: 40%;
      max-width: 40%;
      max-height: 643px;
      display: flex;
      overflow: hidden;
    }
      .ctn05Header .mainPhotoBox img {
        width: 90%;
        /* max-width: 100%; */
        /* max-height: 100%; */
        /* height: 100%; */
        margin: auto;
        /* aspect-ratio: 1034 / 643; */
        object-fit: cover;
      }
    .ctn05Header .c {
    }
      .ctn05Header .c .titleBox {
        height: inherit;
        margin: 50px 0 50px;
      }
        .ctn05Header .deco01 {
          width: 100%;
          height: 44px;
          display: flex;
          position: relative;
        }
          .ctn05Header .deco01::before {
            width: 100%;
            height: 100%;
            content: "";
            font-size: 0.6rem;
            background: #fff;
            mask-image: url('images/deco_bg01.svg') ;
            -webkit-mask-image: url('images/deco_bg01.svg') ;
            mask-size: 12px;
            -webkit-mask-size: 12px;
            mask-repeat: repeat-x;
            -webkit-mask-repeat: repeat-x;
            mask-position: center;
            -webkit-mask-position: center;
          }
          .ctn05Header .deco01 b { /* height44px */
            padding: 12px 15px; /* b spanのpadding分（10px）を引いた */
            margin: 0 0 0 70px;
            white-space: nowrap;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            line-height: 1;
            font-weight: 600;
            border-radius: 100px;
            border: 2px solid #fff;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translate( 0%, -50%);
          }
          .ctn05Header .deco01 b span {
            padding: 0 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #d1a827;
          }
        .ctn05Header .title {
          margin: 30px 0 0;
          letter-spacing: 0.1em;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          position: relative;
        }
        .ctn05Header .c .txt {
          flex-direction: column;
          align-items: flex-start;
          position: static;
          transform: inherit;
        }
        .ctn05Header .c .c_inner_txt {
          margin: 50px 10px 0;
        }

  .ctn05Container {
    position: relative;
    background: #fff;
  }
    .ctn05Container .ClmPtn02BtmBg {
      z-index: 1;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      bottom: 0;
      background: linear-gradient(to top, #f3f3f3 220px, transparent 0%);
    }
  .ctn05Container > .inner {
    max-width: 1135px;
    margin: 0 auto;
    position: relative;
  }
    .ctn05ApperArea {
      position: relative;
      z-index: 1;
    }
    .ctn05 .p_type01 {
      max-width: 1000px;
      padding: 70px 0 40px;
      margin: 0 0 0 auto;
      padding-right: 320px;
    }
    .paul_nobu {
      width: 315px;
      max-width: 315px;
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0 0 0;
      position: absolute;
      top: -30px;
      right: 0;
    }
      .paul_nobu img {
        width: 100%;
        max-width: 100%;
        height: auto;
        object-fit: cover;
      }

    .ctn05 .linkBox {
      z-index: 1;
      position: relative;
      margin: 50px auto;
    }
      .ctn05 .linkBox > .inner {
        justify-content: space-between;
      }
      .ctn05 .linkBox .item {
        width: 100%;
        max-width: 100%;
        margin: 0 13px;
        /* white-space: nowrap; */
      }
      .ctn05 .linkBox .item .t {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
      }
      .ctn05 .linkBox .item .t .moreBtn01 {
        max-width: 100%;
        margin: 20px 0 0;
      }
      .ctn05 .linkBox .item .photoImgBox {
          border: 5px solid #f3f3f3;
          overflow: hidden;
          border-radius: 5px;
      }
    .ctn05 .ulList01 {
    }
      .ctn05 .ulList01Title {
        white-space: nowrap;
        color: #687672;
      }
        .ctn05 .ulList01Title::before {
        }
        .ulList01 .item {
        }
  .ctn05Container .photoBox {
    /* width: 750px; */
    /* min-width: 750px; */
    margin: 0 0 70px;
  }
    .ctn05Container .photoBox .slider {
      display: flex;
      justify-content: center;
    }
    .ctn05Container .photoBox li {
      width: 30%;
    }
    .ctn05Container .photoBox .imgBox {
      margin: 0 15px 0;
    }
      .ctn05Container .photoBox .imgBox img {
        width: 100%;
        max-width: 100%;
        max-height: 100%;
        margin: auto;
      }
    .ctn05Container .photoBox .slick-dotted.slick-slider {
      margin-bottom: 60px;
    }
    .ctn05Container .photoBox .slick-dots {
      text-align: left;
      bottom: -45px;
    }
      .ctn05Container .photoBox .slick-dots li button:before {
      }
      .ctn05Container .photoBox .slick-dots li:not(.slick-active) button:before {
        color: #fff;
        opacity: 1;
      }
    .ClmPtn02::after,
    .ClmPtn02Item {
      margin: 0 0 0;
    }
    .ctn05 .ClmPtn02Item .imgBox {
      margin: 0 0 0;
    }
      .ctn05 .ClmPtn02Item .imgBox img {
        aspect-ratio: inherit;
      }
.ctn05 .adjust_afterBox {
  height: 30px;
}

@media screen and (max-width: 1200px) {
.ctn05 { /* up cycl */
}
  .ctn05 .p_type01 {
    padding: 50px 13px 50px  50px;
    padding-right: 320px;
  }
  .ctn05 .ulList01 {
    margin: 0 13px;
  }
}
@media screen and (max-width: 768px) {
.ctn05 { /* up cycle */
}
  .ctn05 > .inner {
    flex-wrap: wrap;
  }
  .ctn05Header {
    padding: 0 0 30px;
    position: relative;
  }
    .ctn05Header > .inner {
      flex-direction: column;
    }
    .ctn05Header .mainPhotoBox {
      min-width: 100%;
      max-width: 100%;
      margin: 135px 0 0;
      position: relative;
    }
      .ctn05Header .mainPhotoBox img {
        width: 70%;
        max-width: 70%;
      }
    .ctn05Header .c {
      width: 100%;
      position: static;
    }
      .ctn05Header .c .titleBox {
        width: 100%;
        margin: 0 0 0;
        overflow: inherit;
        position: static;
      }
      .ctn05Header .c .txt {
      }
        .ctn05Header .deco01 {
          height: auto;
          margin: 10px 0 0;
          position: static;
        }
          .ctn05Header .deco01::before {
            font-size: 0.6rem;
            display: none;
          }
          .ctn05Header .deco01 b {
            padding: 12px 25px;
            margin: 0;
            font-size: clamp(0.8rem, 0.709rem + 0.39vw, 1rem);
            top: 45px;
            left: 50%;
            transform: translateY(0%) translateX(-50%);
            /* background: #687672; */
          }
          .ctn05Header .deco01 b span {
            background: none;
          }
        .ctn05Header .title {
          margin: 0 auto;
          white-space: nowrap;
          position: absolute;
          top: 100px;
          left: 50%;
          transform: translateY(0%) translateX(-50%);
          line-height: 1;
        }
      .ctn05Header .c .c_inner_txt {
        margin: 0;
        text-align: center;
      }
  .ctn05Container {
  }
    .ctn05Container .ClmPtn02BtmBg {
      display: none;
    }
    .ctn05ApperArea {
    }
    .ctn05 .p_type01 {
      width: auto;
      padding: 30px 0 158px 0;
      padding-right: 13px;
      margin: 0 auto 0 15px;
    }
    .paul_nobu {
      width: 210px;
      max-width: 210px;
      top: inherit;
      bottom: 10px;
      right: 15px;
    }
      .paul_nobu img {
        margin-left: 0;
      }
    .ctn05 .linkBox {
      margin: 20px auto 50px;
    }
    .ctn05 .linkBox .item {
      margin: 0 5px;
    }
    .ctn05 .linkBox .item .t .moreBtn01 {
      margin: 10px 0 0;
      font-size: 0.6rem;
      letter-spacing: 0.03em;
      /* white-space: nowrap; */
    }
    .ctn05 .linkBox .item .imgBox .icon {
      width: 10px;
      min-width: 10px;
      margin: 0 0 0 3px;
    }
    .ctn05 .ulList01 {
    }
      .ulList01 > .inner {
        padding: 30px 20px;
        margin-top: 13px;
      }
      .ctn05 .ulList01Title {
        font-size: clamp(0.85rem, 0.686rem + 0.82vw, 1.3rem);
        letter-spacing: 0.01em;
      }
        .ctn05 .ulList01Title::before {
          width: 40px;
        }
  .ctn05Container .photoBox .slider {
  }
  .ctn05Container .photoBox li {
    width: 100%;
  }
  .ctn05Container .photoBox .imgBox {
    width: 100%;
    margin: 0;
    text-align: center;
  }
    .ctn05Container .photoBox .imgBox img {
      width: 95%;
      margin: 0 auto;
    }
  .ctn05Container .adjust_afterBox {
    display: none;
    /* height: 30px;
    background: #fff; */
  }
}

.airWash { /* airWash */
    margin: 0 0 70px;
}
  .airWash > .inner {
  }
  .airWashHeader {
    margin: 0 0 60px;
    overflow: hidden;
    color: #687672;
    background: #f4e7d7;
    /* background: #ebf2f0; */
  }
    .airWashHeader > .inner {
      max-width: 1200px;
      margin: 0 auto;
      justify-content: center;
    }

    .airWashHeader .mainPhotoBox {
      min-width: 40%;
      max-width: 40%;
      max-height: 643px;
      display: flex;
      overflow: hidden;
    }
      .airWashHeader .mainPhotoBox img {
        width: 90%;
        margin: auto;
        object-fit: cover;
      }
    .airWashHeader .c {
      max-width: 550px;
    }
      .airWashHeader .c .titleBox {
        height: inherit;
        margin: 50px 0 50px;
        color: #687672;
      }
        .airWashHeader .deco01 {
          width: 100%;
          height: 44px;
          display: flex;
          position: relative;
        }
          .airWashHeader .deco01::before {
            width: 100%;
            height: 100%;
            content: "";
            font-size: 0.6rem;
            background: #687672;
            mask-image: url('images/deco_bg01.svg') ;
            -webkit-mask-image: url('images/deco_bg01.svg') ;
            mask-size: 12px;
            -webkit-mask-size: 12px;
            mask-repeat: repeat-x;
            -webkit-mask-repeat: repeat-x;
            mask-position: center;
            -webkit-mask-position: center;
          }
          .airWashHeader .deco01 b { /* height44px */
            padding: 12px 15px; /* b spanのpadding分（10px）を引いた */
            margin: 0 0 0 70px;
            white-space: nowrap;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            line-height: 1;
            font-weight: 600;
            border-radius: 100px;
            border: 2px solid #687672;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translate( 0%, -50%);
          }
          .airWashHeader .deco01 b span {
            padding: 0 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #f4e7d7;
            /* background: #ebf2f0; */
          }
        .airWashHeader .title {
          margin: 30px 0 0;
          letter-spacing: 0.1em;
          color: #687672;
          text-align: left;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          position: relative;
        }
        .airWashHeader .c .txt {
          flex-direction: column;
          align-items: flex-start;
          position: static;
          transform: inherit;
        }
        .airWashHeader .c .c_inner_txt {
          margin: 50px 10px 0;
      }
.airWashHeaderLinkBox_inner {
  padding: 0 0 50px;
}

@media screen and (max-width: 768px) {
.airWash { /* airWash */
    margin: 0 0 50px;
}
  .airWash > .inner {
    flex-wrap: wrap;
  }
  .airWashHeader {
    padding: 0 0 30px;
    margin: 0 0 40px;
    position: relative;
  }
    .airWashHeader > .inner {
      flex-direction: column;
    }
    .airWashHeader .mainPhotoBox {
      min-width: 100%;
      max-width: 100%;
      margin: 195px 0 0;
      position: relative;
    }
      .airWashHeader .mainPhotoBox img {
        width: 70%;
        max-width: 70%;
      }
    .airWashHeader .c {
      width: 100%;
      margin: 0 auto;
      position: static;
    }
      .airWashHeader .c .titleBox {
        width: 100%;
        margin: 0 0 0;
        overflow: inherit;
        position: static;
      }
      .airWashHeader .c .txt {
      }
        .airWashHeader .deco01 {
          height: auto;
          margin: 10px 0 0;
          position: static;
        }
          .airWashHeader .deco01::before {
            font-size: 0.6rem;
            display: none;
          }
          .airWashHeader .deco01 b {
            padding: 12px 25px;
            margin: 0;
            font-size: clamp(0.8rem, 0.709rem + 0.39vw, 1rem);
            top: 45px;
            left: 50%;
            transform: translateY(0%) translateX(-50%);
          }
          .airWashHeader .deco01 b span {
            background: none;
          }
        .airWashHeader .title {
          margin: 0 auto;
          white-space: nowrap;
          line-height: 1.5;
          position: absolute;
          top: 100px;
          left: 50%;
          transform: translateY(0%) translateX(-50%);
        }
      .airWashHeader .c .c_inner_txt {
        margin: 0;
        text-align: center;
      }
.airWashHeaderLinkBox_inner {
  padding: 0 0 0;
  margin: 15px 0 0;
  text-align: center;
}
  .airWashHeaderLinkBox_inner .moreBtn05 {
    margin: 0 auto;
    font-size: 1rem;
    letter-spacing: 0.05rem;
  }
} /* media screen ここまで*/

.airWashContainer {
  max-width: 900px;
  margin: 0 auto;
  position: relative;
  background: #fff;
}
  .airWashContainer > .inner {
    max-width: 1135px;
    margin: 0 auto;
    position: relative;
  }
    .airWashContainer .ClmPtn02BtmBg {
      z-index: 1;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      bottom: 0;
      background: linear-gradient(to top, #f3f3f3 220px, transparent 0%);
    }
    .airWashContainer .itemListWrapper01 {
      background: #fff;
    }
      .airWashContainer_itemWrapper01Title u {
        text-decoration: none;
      }
      .airWashContainer_itemWrapper01Title b {
        color: #35b688;
        padding: 0 0 0 3px;
      }
    .airWashContainer > .inner .itemListWrapper01:last-of-type {
      padding: 0 13px 15px;
    }
    .airWashContainer .itemWrapper01 {
    }
      .airWashContainer_imgBox {
      }
@media screen and (max-width: 768px) {
  .airWashContainer .itemWrapper01 {
    padding: 0 0 30px;
  }
    .airWashContainer .itemListWrapper01 .p_type02 {
      margin-top: 0;
    }
}

.airWash_ctaBox {
  padding: 0 0 70px;
  margin: 15px 0 0;
  background-image: linear-gradient(to bottom, #fff 0%, #f5f5f5 60%);
}
  .airWash_cta {
    margin: 0 auto;
  }
  .airWash_cta > .inner {
    border-radius: 15px;
    background-color: #68b7a2;
  }
@media screen and (max-width: 768px) {
  .airWash_ctaBox {
    padding: 0 0 50px;
  }
  .airWash_cta > .inner {
    padding: 20px 30px 30px;
  }
}

.ctn06 {
  max-width: 1200px;
  margin: 60px auto 0;
}
  .ctn06 > .inner {
  }
  .ctn06 .itemList {
    padding: 0 0 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
    .ctn06 .itemList .item {
      width: 20%;
      padding: 0 0.5%;
      max-width: 350px;
      /* min-width: 250px; */
      margin: 0 auto 35px;
      border-radius: 15px;
      background: #fff;
    }
    .ctn06 .itemList .item .t {
      width: 100%;
      height: auto;
      padding: 0 0 30px;
      display: block;
      position: relative;
      overflow: hidden;
      border-radius: 15px;
    }
      .ctn06 .itemList .item .t::before {
        width: 100%;
        height: 100%;
        opacity: .1;
        content: "";
        display: block;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateY(-50%) translateX(-50%);
        background: #000;
      }
      .ctn06 .itemList .item .imgBox {
        display: flex;
      }
      .ctn06 .itemList .item .c {
        width: 90%;
        max-width: 230px;
        color: #fff;
        padding: 5px 0;
        font-size: min(1.5vw, 1.2rem);
        font-weight: 900;
        white-space: nowrap;
        display: flex;
        justify-content: center;
        border: 3px solid #fff;
        border-radius: 35px;
        position: absolute;
        left: 50%;
        top: 42%;
        transform: translateY(-50%) translateX(-50%);
      }
      .ctn06 .itemList .item b {
        width: 100%;
        height: 56px;
        font-size: min(1.2vw, 1rem);
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateY(0%) translateX(-50%);
        background: #3f4234;
      }
    .ctn06 .itemList .item .t:hover {
      opacity: 0.7;
    }
@media screen and (max-width: 768px) {
.ctn06 {
}
  .ctn06 .itemList {
    justify-content: space-evenly;
  }
    .ctn06 .itemList .item {
      width: 43%;
      max-width: inherit;
      min-width: inherit;
      padding: 0;
      margin: 0 0 20px;
      text-align: center;
    }
    .ctn06 .itemList .item .t {
      padding: 0 0 40px;
    }
        .ctn06 .itemList .item .c {
          width: 90%;
          font-size: 0.9rem;
        }
        .ctn06 .itemList .item b {
          /* height: 40px; */
          font-size: 0.75rem;
        }
}

.ctn07 {
  max-width: 100%;
  padding: 40px 0;
  overflow: hidden;
  background: #ebf2f0;
}
  .ctn07 > .inner {
    max-width: 1200px;
    padding: 70px 0;
    margin: 20px auto;
    border-radius: 35px;
    position: relative;
    background: #fff;
  }
    .ctn07 > .inner:before {
      width: 200vw;
      height: 100%;
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      background: #fff;
    }
  .ctn07 .leftBox {
    width: 100%;
    max-width: 200px;
    min-width: 200px;
    flex-direction: column;
  }
    .ctn07 .leftBox .normalTitleBox {
      margin: auto 0;
    }
  .ctn07 .rightBox {
    margin: 0 0 0 5%;
    justify-content: center;
  }
    .ctn07 .rightBox .rightBox_item {
      /* width: 100%; */
      padding: 0 30px;
      position: relative;
    }
      .ctn07 .rightBox .rightBox_item::after {
        width: 1px;
        height: 100%;
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        background: #888;
      }
      .ctn07 .rightBox .rightBox_item:last-child:after {
        display: none;
      }
      .ctn07 .rightBox .rightBox_item .t {
        margin: 0 0 15px;
        font-size: 0.8rem;
        font-weight: 600;
        color: #3f4234;
      }
      .ctn07 .rightBox .rightBox_item .c {
        margin: 50px 0 13px;
        justify-content: flex-start;
      }
        .ctn07 .rightBox .rightBox_item .c .item {
          width: 100%;
          max-width: 70px;
          min-width: 70px;
          height: 70px;
          margin: 0 25px 0 0;
          border-radius: 50%;
          content: "";
          /* display: block; */
          position: relative;
        }
        .ctn07 .rightBox .rightBox_item .c .item:hover {
         opacity: .7;
        }
        .ctn07 .rightBox .rightBox_item .c .note:after {
          width: 100%;
          aspect-ratio: 1 / 1;
          content: "";
          display: block;
          border-radius: 50%;
          border: 3px solid #d7d7d7;
          position: absolute;
          top: 0;
          left: 0;
        }
        .ctn07 .rightBox .rightBox_item .c .item .imgBox {
          width: 100%;
          aspect-ratio: 1 / 1;
          display: flex;
        }
        .ctn07 .rightBox .rightBox_item .c .item .imgBox img {
          aspect-ratio: 1 / 1;
          object-fit: cover;
        }
@media screen and (max-width: 1200px) {
.ctn07 {
}
  .ctn07 > .inner {
    padding: 30px 0 30px 0;
    margin: 0 0 0 30px;
    flex-wrap: wrap;
  }
  .ctn07 .leftBox {
    max-width: 230px;
    min-width: 230px;
  }
  .ctn07 .rightBox {
    /* flex-wrap: wrap; */
    margin: 30px 0 0 50px;
  }
    .ctn07 .rightBox .rightBox_item {
    }
    .ctn07 .rightBox .rightBox_item .c {
    }
      .ctn07 .rightBox .rightBox_item .c .item {
        width: 6vw;
        max-width: 80px;
        min-width: inherit;
        aspect-ratio: 1/1;
        height: auto;
        margin: 0 15px 0 0;
      }
}
@media screen and (max-width: 768px) {
.ctn07 {
  padding: 80px 0;
}
  .ctn07 > .inner {
    padding: 40px 0 30px 0;
  }
    .ctn07 > .inner:before {
    }
  .ctn07 .leftBox {
    width: 100%;
    max-width: 100%;
    min-width: inherit;
    padding: ;
  }
  .ctn07 .rightBox {
    flex-wrap: wrap;
    margin: 20px 0 0 20px;
    justify-content: flex-start;
  }
    .ctn07 .rightBox .rightBox_item {
      width: 100%;
      padding: 0 0;
      margin: 10px 0 10px;
      display: flex;
      align-items: center;
    }
      .ctn07 .rightBox .rightBox_item::after {
        display: none;
      }
    .ctn07 .rightBox .rightBox_item .t {
      width: 30%;
      margin: 0;
      font-size: 0.7rem;
      letter-spacing: 0;
      line-height: 1.5;
    }
    .ctn07 .rightBox .rightBox_item .c {
      width: 70%;
      margin: 0
    }
      .ctn07 .rightBox .rightBox_item .c .item {
        width: 13vw;
      }
}

.ctn08 { /* omoi で使用している3つ並んでいるテンプレート */
}
  .ctn08 .linkBox {
    padding: 0;
    background: none;
  }
    .ctn08 .linkBox .item {
      width: 100%;
      padding: 0 13px;
      margin: 0 0 30px;
      white-space: inherit;
    }
      .ctn08 .linkBox .item .t:hover {
        opacity: 1;
      }
      .ctn08 .linkBox .item .t {
        height: 100%;
        border: 2px solid #35b688;
        border-radius: 15px;
        background: linear-gradient(to top, #ebf2f0 60%, #fff 0%);
      }
      .ctn08_linkBox_title {
        font-family: "oswald";
        font-variation-settings: "wght" 280;
        width: 100px;
        min-width: 100px;
        height: 100px;
        margin: -50px auto 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: #fff;
        border-radius: 100%;
        line-height: 1;
        background: #35b688;
      }
        .ctn08_linkBox_title b {
          font-family: "YakuHanJP","Noto Sans JP", Meiryo, sans-serif;
          margin: 10px 0 0;
          display: flex;
          font-size: 0.8rem;
          font-weight: normal;
          align-items: center;
          justify-content: center;
        }
      .ctn08 .linkBox .item .photoImgBox {
        margin: 0 40px;
      }
      .ctn08 .linkBox .item .c {
        padding: 20px 40px 30px;
        font-size: 0.85rem;
        letter-spacing: 0.08em;
      }
      /* .immigration_ctn07 {
        max-width: 100%;
        padding: 40px 0;
        overflow: hidden;
        background: #ebf2f0;
      } */
@media screen and (max-width: 768px) {
.ctn08 {
  margin-top: 30px;
}
  .ctn08 .linkBox {
  }
  .ctn08 .linkBox > .inner {
    flex-direction: column;
  }
  .ctn08 .linkBox .item {
    margin-bottom: 80px;
  }
}


.secFaq { /* FAQ */
}
  .secFaq > .inner {
  }
  .secFaqListWrapper {
    max-width: 1200px;
    margin: 0 auto;
    counter-reset: faqcount;
    text-align: left;
  }
    .secFaqItemItem {
      width: 100%;
    }
      .secFaqItemTitle {
        cursor: pointer;
        width: 100%;
        padding: 20px 60px 20px 20px;
        margin: 0 0 20px 0;
        line-height: 1.3;
        font-size: 1.1rem;
        font-weight: normal;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        color: #2e2e2e;
        border-radius: #2e2e2e;
        border: 1px solid #2e2e2e;
        position: relative;
        background: #fff;
      }
      .secFaqItemTitle::before {
        width: 45px;
        min-width: 45px;
        font-size: 0.9rem;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        counter-increment: faqcount;
        content: "Q." counter(faqcount);
      }
      .secFaqItemTitle::after {
        font-family: sans-serif;
        transition: all 0.18s ease-in-out;
        width: 50px;
        height: 50px;
        margin: 0 0 0;
        content: "+";
        font-size: 2.3rem;
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: center;
        transform: rotate(0);
        position: absolute;
        top: 50%;
        right: 8px;
        transform: translateY(-50%) translateX(0%) rotate(0);
      }
      .secFaqItemTitle:hover {
        /* color: #fff;
        border-color: #d1a827;
        background: #d1a827; */
      }
      .secFaqItemTitle.active::after {
        content: "-";
        transform: translateY(-50%) translateX(0%) rotate( 360deg );
      }
      .openBtn.secFaqItemTitle + .toggleBox {
        margin: 30px;
      }
.fromOwners {

}
@media screen and (max-width: 1200px) {
  .secFaqListWrapper {
    margin: 0 20px;
  }
}
@media screen and (max-width: 768px) {
  .secFaqItemTitle {
    padding: 15px 40px 15px 8px;
    font-size: 0.9rem;
    letter-spacing: 0;
  }
  .secFaqItemTitle::before {
    font-size: 1rem;
    justify-content: center;
  }
  .secFaqItemTitle::after {
    width: 30px;
    min-width: 30px;
    height: 30px;
    font-size: 1.5rem;
  }
  .openBtn.secFaqItemTitle + .toggleBox {
    margin: 20px;
  }
}


.footer { /* footer */
  padding: 90px 0 0;
  font-size: 0.85rem;
  color: #2e2e2e;
  position: relative;
  background: #fff;
}
  .footer a {
    color: #2e2e2e;
  }
  .footer a:hover {
    opacity: 0.8;
  }
  .footer > .footerInner {
  }
    .footUper {
    }
    .footUper > .inner {
      max-width: 1200px;
      padding: 0 0;
      margin: 0 auto;
    }
    .footBtmLeftBox {
      width: 100%;
      max-width: 377px;
      min-width: 300px;
      padding: 0 20px 0 0;
      flex-direction: column;
    }
      .footerlogo {
        width: 100%;
        max-width: 200px;
        margin: 0 0 55px;
      }
      .footBtmLeftBox .t {
        margin: 0 0 5px;
        display: flex;
        align-items: center;
        letter-spacing: 0.05em;
      }
      .footBtmLeftBox .inquiry {
        width: 190px;
        height: 35px;
        margin: 13px 0 0;
        color: #fff;
        font-size: 0.83rem;
        letter-spacing: 0.15em;
        justify-content: center;
        border-radius: 35px;
        background: #111;
      }
    .footBtmRightBox {
      width: 100%;
    }
      .rightBoxTitle {
        width: 100%;
        margin: 0 0 16px;
        font-size: 0.83rem;
        color: #687672;
      }
      .footBtmRightBox .item {
        width: 25%;
        min-width: 205px;
        padding: 0 13px 0 0;
        margin: 0 0 16px;
        font-weight: 600;
      }
        .footBtmRightBox .item .t {
          display: flex;
        }
        .footBtmRightBox .item.OneClm {
          width: 100%;
        }
    .footNavTop {
      margin: 0 0 40px;
    }
    .footNavMiddle {
      margin: 0 0 40px;
    }
    .footNavBtm {
      margin: 0 0 40px;
    }
      .footNavBtm .item {
        margin: 0 0 16px;
        font-weight: 600;
      }
    .footlower {
      background: #f9f9f9;
    }
    .footlower > .inner {
      max-width: 1200px;
      padding: 0 0;
      margin: 0 auto;
    }
    .footlower .itemList {
      padding: 20px 0;
    }
      .footlower .itemList .item {
        margin: 10px 10px 10px 0;
      }
      .footlower .itemList .item .t {
        display: flex;
        align-items: center;
        font-size: 0.75rem;
        letter-spacing: 0.15em;
      }
    .footlower .copyright {
      margin: 20px 0 20px auto;
      display: flex;
    }
      .footlower .copyright .item {
        margin: 10px 25px 10px 0;
        font-size: 0.8rem;
        letter-spacing: 0.15em;
      }
@media screen and (max-width: 1200px) {
.footer { /* footer */
}
    .footUper > .inner {
      padding-right: 13px;
      padding-left: 13px;
    }
    .footlower > .inner {
      padding-right: 13px;
      padding-left: 13px;
    }
    .footlower .itemList {
      padding-right: 13px;
      padding-left: 13px;
    }
}
@media screen and (max-width: 768px) {
.footer { /* footer */
  padding: 40px 0 0;
}
  .footer a {
    color: #2e2e2e;
  }
  .footer a:hover {
    opacity: 0.8;
  }
  .footer > .footerInner {
  }
    .footUper {
    }
      .footUper > .inner {
        padding: 40px 0;
        flex-direction: column;
      }
      .footBtmLeftBox {
        max-width: 100%;
        padding: 0 0 40px 0;
        align-items: center;
        /* background: #f5f5f5; */
      }
        .footerlogo {
          width: 100%;
          display: flex;
          margin: 0 0 35px;
        }
      .footBtmRightBox {
        padding: 0 13px 0;
        margin: 40px 0 0;
      }
        .rightBoxTitle {
          height: 20px;
          line-height: 20px;
          padding: 0;
          margin: 0 0 40px;
          text-align: center;
          position: relative;
        }
          .rightBoxTitle span {
            padding: 7px;
            display: inline-flex;
            white-space: nowrap;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translateY(-50%) translateX(-50%);
            background: #fff;
          }
          .rightBoxTitle::before {
            width: 100%;
            height: 100%;
            content: "";
            display: block;
            background: #111;
            mask-image: url(images/deco_bg01.svg);
            -webkit-mask-image: url(images/deco_bg01.svg);
            mask-size: 5px;
            -webkit-mask-size: 5px;
            mask-repeat: repeat-x;
            -webkit-mask-repeat: repeat-x;
            mask-position: center;
            -webkit-mask-position: center;
          }
        .footBtmRightBox .item {
          width: 100%;
          min-width: 100%;
          padding: 0 0 0 0;
        }
          .footBtmRightBox .item .t {
            justify-content: center;
          }
      .footNavTop {
        flex-direction: column;
        align-items: center;
      }
      .footNavMiddle {
        flex-direction: column;
        align-items: center;
      }
      .footNavBtm {
        margin: 0 0 0;
      }
    .footlower {
      color: #fff;
      background: #3f4234;
    }
      .footlower a {
        color: #fff;
      }
      .footlower > .inner {
        padding: 0;
        flex-direction: column;
      }
      .footlower .itemList {
        padding: 30px 0 20px;
        flex-wrap: wrap;
        justify-content: center;
      }
        .footlower .itemList .item {
          margin: 0 15px 8px;
          font-size: 0.63rem;
          letter-spacing: 0;
          display: inline-flex;
          justify-content: center;
          align-items: center;
        }
          .footlower .itemList .item .t {
            font-size: 0.63rem;
          }
      .footlower .copyright {
        padding: 8px 0;
        margin: 0 0 0;
        display: flex;
        justify-content: center;
        background: #25271d;
      }
        .footlower .copyright .item {
          margin: 10px 0 10px 0;
          color: #d2d3ca;
          font-size: 0.8rem;
        }
}

@media screen and (max-width: 768px) {
}


/* 下層共通
-------------------------------------------------------------- */
.thumbnail {
}
  .thumbnail img {
    width: 100%;
  }

.contein {
  margin: 0 0 60px;
  /* word-break: break-all; */
  font-size: clamp(0.83rem, 0.768rem + 0.31vw, 1rem);
  letter-spacing: 0.08em;
}
  .contein > .inner {
    max-width: 1200px;
    margin: 0 auto;
  }
    .contein >.inner .title .text:after {
      display: none;
    }
  /* 1カラム 1colmun のページをここに書く */
  /* .privacy .contein .ctn, */
  .page .contein .ctn {
    max-width: 1100px;
    padding: 40px 60px;
    margin: 30px auto;
    border: 2px solid #111;
  }
  /* 余白等の調整 */
  .page.kidsdining .contein .ctn {
    padding: 30px 50px;
    margin: 0 auto;
    border: none;
    background: #fff;
    @media screen and (max-width: 768px) {
      max-width: inherit;
      padding: 0 0 30px;
      border: inherit;
    }
  }
  .page.immigration .contein .ctn {
    max-width: inherit;
    padding: inherit;
    margin: inherit;
    border: inherit;
  }
@media screen and (max-width: 1200px) {
.contein {
}
  .contein > .inner {
  }
  /* 1カラム 1colmun のページをここに書く */
  .page .contein .ctn {
    max-width: 1100px;
    padding: 40px 60px;
    margin: 30px 30px;
    border: 2px solid #111;
  }
}
@media screen and (max-width: 768px) {
.contein {
  margin: 0 0 30px;
}
  /* 1カラム 1colmun のページをここに書く */
  .page .contein .ctn {
    letter-spacing: 0.09em;
    padding: 20px 30px;
    margin: 0;
    /* margin: 0 0 30px; */
    border: none;
  }
  /* 余白等の調整 */
  .page.faq .contein .ctn {
    padding: 20px 10px;
  }
}


/* archive
-------------------------------------------------------------- */
.archive {
}
@media screen and (max-width: 768px) {
}
.foundPosts { /* ～件中～件表示*/
  text-align: center;
  /* margin: -20px 0 0; */
}

.archive.body_cat_id6 { /* body_cat_slug_sharehouse シェアハウス */
}
  .archive.body_cat_id6 .ClmPtn02Item .elm {
    display: none;
  }
  .archive.body_cat_id6 .itemListWrapper01 {
    margin: 60px auto 0;
    background: none;
  }

.archive.body_cat_id2 { /* body_cat_slug_news ニュース */
}
  .archive.body_cat_id2 .ctn05 > .inner {
    padding: 30px 0;
    background: #f5f5f5;
  }
    .archive.body_cat_id2 .title01 {
      padding: 40px 10px 10px;
    }
    .archive.body_cat_id2 .categoryLine {
      margin: 13px 0 5px;
    }
      .archive.body_cat_id2 .categoryLine span {
        color: #2e2e2e;
        border: none;
        background: #f2f4f7;
      }
    .archive.body_cat_id2 .ctn .linkWrap02 {
      margin: 30px 0;
      flex-direction: column;
    }
      .archive.body_cat_id2 .ctn .linkWrap02 .item {
        margin: 10px 0;
        text-align: center;
      }
        .archive.body_cat_id2 .ctn .linkWrap02 .item .moreBtn05 {
          color: #111;
          border: 2px solid #dfdfdf;
          background: #fff;
        }
          .archive.body_cat_id2 .ctn .linkWrap02 .item .imgBox {
            width: 30px;
            height: auto;
            margin: 0 7px 0 0;
            display: block;
            position: static;
          }
          .archive.body_cat_id2 .ctn .linkWrap02 .item .note .imgBox {
            border-radius: 50%;
            border: 1px solid #aaa;
          }
    .archive.body_cat_id2 .ctn .moreBtn01 {
      max-width: unset;
      margin: 0 auto;
      display: inline-flex;
    }

/* single
-------------------------------------------------------------- */
.single {
}
  .single .ctnWrapper {
    max-width: 1200px;
    margin: 0 auto;
  }
    .single .contein {
      width: 100%;
      margin: 0;
    }
    .single .contein > .inner {
      width: auto;
      max-width: 785px;
      margin: 0 0 30px;
    }
    .single .ctnWrapper { /* メインのコンテンツ2カラム用*/
    }
    .single .title {
      padding: 30px 10px 40px;
      padding-right: 2rem;
      padding-left: 2rem;
      border-top: 2px solid #2e2e2e;
      font-size: 1.2rem;
      background: #f0f2f5;
    }
      .single .title .categoryLine {
        margin: 0 0 15px;
      }
@media screen and (max-width: 1200px) {
  .single .contein > .inner {
    margin-left: 15px;
  }
}
@media screen and (max-width: 768px) {
  .single .ctnWrapper {
    flex-direction: column;
  }
    .single .contein > .inner {
      margin: 0 13px 0;
    }
    .single .ctnWrapper { /* メインのコンテンツ2カラム用*/
    }
    .single .title {
      padding: 20px 10px 30px;
      font-size: 1rem;
    }
      .single .title .categoryLine {
        margin: 0 0 15px;
      }
}

.single .sideMenu { /* シングルサイドメニュー*/
  width: 100%;
  max-width: 300px;
  margin: 0 0;
  margin-left: 3rem;
}
  .single .sideMenu {
  }
    .sideMenuTitle {
    }
      .sideMenuTitle .miniT {
        display: block;
        font-size: 0.8rem;
        margin: 8px 0 0;
        text-decoration: none;
        color: #a7a7a7;
      }
    .single .sideMenu .item {
      display: flex;
      align-items: center;
    }
      .single .sideMenu .item .t {
        width: 100%;
        padding: 5px 0;
        display: flex;
        align-items: center;
        border-bottom: 1px solid #2e2e2e;
      }
      .single .sideMenu .item .t:hover {
        opacity: 0.8;
      }
@media screen and (max-width: 1200px) {
  .single .sideMenu {
    max-width: 200px;
    margin-right: 15px;
  }
}
@media screen and (max-width: 768px) {
  .single .sideMenu {
    max-width: 100%;
    margin: 0 0 60px;
    display: none;
  }
    .single .sideMenu .sideMenuTitle {
      padding: 0 15px;
    }
    .single .sideMenu .item .t {
      padding: 8px 15px;
    }
      .single .sideMenu .item .t span {
        order: 1;
      }
      .single .sideMenu .item .t .icon {
        order: 2;
        margin: 0 0 0 auto;
      }
}

.single .mainVisual { /* 記事サムネ */
  line-height: 0;
}
  .single .mainVisual img {
    width: 100%;
  }
.LeadSent {
  padding: 8px 0;
  margin: 8px 0 0;
}

.conenectionPtn01 { /* 内部リンク */
}
  .conenectionPtn01 .item {
    margin: 0 0 10px;
    display: flex;
    position: relative;
    border-top: 2px solid #ebebeb;
    border-left: 2px solid #ebebeb;
    border-right: 2px solid #ebebeb;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
  }
    .conenectionPtn01 .item:after {
      width: 30px;
      height: 30px;
      content: ">";
      font-family: 'icomoon';
      content: "\ea58";
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size:  1.2rem;
      position: absolute;
      right: 8px;
      top: 50%;
      bottom: 50%;
      transform: translate( 0%, -50%);
      background: #111;
    }
  .conenectionPtn01 .imgBox {
    width: 120px;
    min-width: 120px;
    padding: 20px 20px 20px 20px;
    margin: 0 0 0;
    display: block;
  }
  .conenectionPtn01 .textBox {
    padding-right: 50px;
    text-decoration: none;
    display: block;
  }
    .conenectionPtn01 .textBox .t {
      padding: 20px 0 0;
      font-size: 1.2rem;
      line-height: 1.5;
      font-weight: 600;
      color: #2e2e2e;
    }
  .conenectionPtn01 .description {
    margin: 8px 0 15px;
    font-size: 0.8rem;
    line-height: 1.5;
    color: #666;
  }
@media screen and (max-width: 768px) {
.conenectionPtn01 {
  }
  .conenectionPtn01 .item {
    max-width: 400px;
    padding-bottom: 50px;
  }
    .conenectionPtn01 .item :after {
      width: 30px;
      height: 30px;
    }
    .conenectionPtn01 .item .imgBox {
      width: 100px;
      min-width: 100px;
      padding: 15px 8px 1px 15px;
    }
    .conenectionPtn01 .item .textBox {
      }
        .conenectionPtn01 .item .t {
          font-size: .9rem;
        }
        .conenectionPtn01 .item .description {
          width: 100%;
          padding: 0 40px 0 13px;
          margin: 0;
          font-size: 0.7rem;
          letter-spacing: -0.02rem;
          letter-spacing: 0;
          position: absolute;
          bottom: 13px;
          left: 0;
        }
}

.single .faqCnt { /* singleのFAQ */
}
  .single.body_cat_id1 .contein .faqCnt h3 {
    padding: 0;
    border: none;
  }
    .single .faqCnt .q {
      padding: 0 3px;
      display: inline-flex;
      color: ;
    }
    .single .faqCnt .a {
      padding: 0 3px;
      display: inline-flex;
      color: ;
    }
  .single .faqCnt .anser {
    padding: 15px;
    border-radius: 15px;
    background: #f9f9f9;
  }

.relatedArticle { /* あわせて読みたい */
  max-width: 785px;
  margin: 0 auto;
}
  .relatedArticle .ClmPtn02Item .elm {
    flex-direction: column;
  }
    .relatedArticle .ClmPtn02Item .elm .cat_name {
      flex-direction: column;
      margin: 0 auto 5px 0;
    }
    .relatedArticle .ClmPtn02Item .elm .time {
      font-size: 0.7rem;
      letter-spacing: 0.05rem;
    }

@media screen and (max-width: 1200px) {
  .single .contein .relatedArticle h3 {
    margin-left: 15px;
  }
}
@media screen and (max-width: 768px) {
  .single .contein .relatedArticle h3 {
    margin-right: 15px;
    margin-left: 15px;
  }
}

/* 物件詳細 */
.single.body_cat_id6 {
}
  .single.body_cat_id6 .ctnWrapper {
    max-width: 100%;
    margin: 0 auto;
  }
  .single.body_cat_id6 .contein > .inner {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
  }
  .single.body_cat_id6 .sideMenu {
    display: none;
  }
  .title_shareHouse {
    position: relative;
  }
    .mainVisual_shareHouse {
      width: 100%;
      max-width: 1500px;
      height: 280px;
      overflow: hidden;
      margin: 0 auto;
    }
      .mainVisual_shareHouse::before {
        z-index: 1;
        opacity: .3;
        width: 100%;
        height: 100%;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        background: #000;
      }
    .mainVisual_shareHouse img,
    .title_shareHouse .t {
      margin: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
    }
      .mainVisual_shareHouse img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    .title_shareHouse .t {
      z-index: 1;
      width: 100%;
      flex-direction: column;
      color: #fff;
    }
      .title_shareHouse_categoryLine {
        padding: 12px 25px;
        display: inline-flex;
        align-items: center;
        justify-self: center;
        line-height: 1;
        font-weight: 600;
        font-size: clamp(0.8rem, 0.709rem + 0.39vw, 1rem);
        border-radius: 100px;
        border: 2px solid #fff;
      }
      .title_shareHouse_text {
        padding: 0;
        margin: 15px 0 0;
        color: #fff;
        line-height: 1.3;
        font-size: 2.5rem;
        font-size: clamp(1.5rem, 1.045rem + 1.94vw, 2.5rem);
        letter-spacing: 0.2em;
      }
  .shareHouseContents {
    max-width: 100%;
    margin: 0 auto 30px;
  }
    .box.message1 {
      padding: 30px 13px 0;
      text-align: center;
      font-size: 0.85rem;
      line-height: 2;
    }
    .shareHouseContents .menu_catList {
    }
      .shareHouseContents .menu_catList > .inner {
        padding: 0 0 0;
        margin: 10px auto 20px;
      }
      .shareHouseContents .menu_catList > .inner:first-child {
        margin: 30px auto 0;
      }
        .shareHouseContents .menu_catList > .inner:first-child::before {
          width: 100%;
          height: 2px;
          margin: 0 0 40px;
          display: block;
          content: "";
          background: #f5f5f5;
        }
  .houseBoxWrapper {
    padding: 50px 0;
    background: #f4e7d7;
  }
    .sec {
      width: 100%;
      max-width: 980px;
      padding: 20px 40px 40px;
      margin: 30px auto;
      border-radius: 30px;
      /* border: 2px solid #111; */
      background: #fff;
    }
      .houseBoxWrapper .title01 {
        width: 100%;
        padding: 0 10px 0;
        margin: 40px 0;
        display: flex;
        justify-content: center;
        align-items: center;
      }
        .houseBoxWrapper .title01::before {
          width: 100%;
          min-width: 35px;
          max-width: 35px;
          height: 35px;
          margin: 0 10px 0 0;
          content: "";
          display: block;
          -webkit-mask-image: url( images/sharehouse_icon_01.svg );
          -webkit-mask-repeat: no-repeat;
          -webkit-mask-position: 0 0;
          -webkit-mask-size: cover;
          mask-image: url( images/sharehouse_icon_01.svg );
          mask-position: 0 0;
          mask-repeat: no-repeat;
          mask-size: 100%;
          background-color: #666;
        }
        .houseBoxWrapper .title01 .text:after {
          display: none;
        }
        .houseBoxWrapper .sec02 .title01::before {
          -webkit-mask-image: url( images/sharehouse_icon_02.svg );
          mask-image: url( images/sharehouse_icon_02.svg );
        }
        .houseBoxWrapper .sec03 .title01::before { /* 専有スペース */
          -webkit-mask-image: url( images/sharehouse_icon_06.svg );
          mask-image: url( images/sharehouse_icon_06.svg );
        }
        .houseBoxWrapper .sec04 .title01::before { /* 間取り*/
          -webkit-mask-image: url( images/sharehouse_icon_03.svg );
          mask-image: url( images/sharehouse_icon_03.svg );
        }
        .houseBoxWrapper .sec05 .title01::before { /* アクセス環境 */
          -webkit-mask-image: url( images/sharehouse_icon_04.svg );
          mask-image: url( images/sharehouse_icon_04.svg );
        }
        .houseBoxWrapper .sec06 .title01::before { /* オプションサービス */
          -webkit-mask-image: url( images/sharehouse_icon_05.svg );
          mask-image: url( images/sharehouse_icon_05.svg );
        }
      .houseBox {
        /* margin: 0 0 30px;
        justify-content: center;
        align-items: center; */
      }
        .houseBoxTitle {
          width: 100%;
          padding: 13px;
          margin: 20px 0 20px;
          color: #666;
          font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
          text-align: center;
          border-radius: 25px;
          background: #f7f7f7;
        }
        .houseBox .item {
          width: 60%;
          padding: 0 13px;
        }
          .houseBox .imgBox {
            width: 50%;
            max-width: 50%;
            padding: 13px 13px 13px 0;
          }
            .houseBox .imgBox img {
              width: 100%;
              height: 100%;
              object-fit: cover;
            }
        .houseBox .txt {
          width: 40%;
          padding: 13px;
          word-wrap: break-word;
          font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
        }
    .sec.sec01 { /* 住所 */
    }
      .sec.sec01 .houseBox {
        text-align: center;
      }
      .sec.sec01 .houseBox .moreBtn02 {
        margin: 0 0 0 5px;
        padding: 3px 30px 3px 20px;
      }
        .sec.sec01 .houseBox .moreBtn02::after {
          right: 7px;
        }
    .sec.sec02 { /* 共有スペース */
    }
    .sec.sec03 { /* 専有部 */
      padding-right: 0;
    }
      .sec.sec03 .houseBoxTitle {
        margin-right: 20px;
      }
      .roomWrap {
        overflow-x: auto;
        padding-bottom: 10px;
        margin: 13px 0 0;
        display: flex;
        -webkit-overflow-scrolling: touch;
      }
        .room {
          width: 300px;
          min-width: 300px;
          max-width: 300px;
          margin: 0 15px 0 0;
          border-radius: 15px;
          border: 2px solid #687672;
          @media screen and (max-width: 768px) {
            width: 220px;
            min-width: 220px;
            max-width: 220px;
          }
        }
          .private1_title {
            width: 100%;
            padding: 0 13px;
            margin: 20px 0 10px;
            display: flex;
            align-items: center;
            position: relative;
          }
            .private1_title span {
              padding: 0 10px;
              display: block;
              white-space: nowrap;
            }
            .private1_title:before,
            .private1_title:after {
              width: 100%;
              height: 2px;
              display: flex;
              content: "";
              border-radius: 10px;
              background: #f5f5f5;
            }
        .houseBox .room .item {
          width: 100%;
        }
        .houseBox .room .txt {
          width: 100%;
        }
    .sec.sec04 { /* 間取り */
    }
      .sec.sec04 .floorplanImgWrap {
        justify-content: space-between;
      }
        .sec.sec04 .houseBox .imgBox {
          width: 31%;
          max-width: 31%;
          padding: 3px;
          margin: 20px 0 30px;
          display: flex;
          flex-direction: column;
          background: #f5f5f5;
        }
          .sec.sec04 .houseBox .imgBox .image_alt {
            padding: 3px;
            display: block;
            text-align: center;
            line-height: 1.3;
            font-size: 0.7rem;
          }
      .sec.sec04 .houseBox .txt {
        width: 100%;
        /* overflow: scroll; */
      }
    .sec.sec05 { /* 周辺環境 */
    }
      .sec.sec05 .houseBox .imgBox {
        width: 100%;
        max-width: 100%;
      }

    .sec.sec06 { /* オプション */
    }
      .sec.sec06 .houseBox {
        justify-content: space-between;
      }
      .sec.sec06 .houseBox .item {
        width: 50%;
        max-width: 50%;
        display: block;
        margin: 0 auto 20px;
      }
        .sec.sec06 .houseBoxTitle {
          width: 100%;
          margin: 0 0 20px;
          display: block;
          font-weight: 500;
          color: #fff;
          background: #35b688;
        }
        .sec.sec06 .houseBox .txt {
          width: 100%;
          max-width: 100%;
          overflow: hidden;
        }
      .sec.sec06 .houseBox .imgBox {
        width: 80%;
        max-width: 350px;
        height: 150px;
        padding: 0;
        margin: 0 auto;
        text-align: center;
      }
    .freeArea1 { /* フリーエリア上部 */

    }
    .freeArea2 { /* フリーエリア下部 */

    }
      .freeArea2 .itemList {
      }
      .freeArea2 .itemList .imgBox {
        width: 33%;
        margin: 15px auto;
      }
.single.body_cat_id6 .relatedArticle { /* sharehouse */
  max-width: 100%;
  padding: 0 13px;
  margin: 60px 0 60px;
}
  .single.body_cat_id6 .relatedArticle * {
    background-color: unset;
  }
  .single.body_cat_id6 .relatedArticle > .inner {
    max-width: 1200px;
    padding: 0 0px 20px;
    margin: 0 auto;
    text-align: center;
    border: 1px solid #666;;
  }
    .single.body_cat_id6 .relatedArticle .itemWrapper01Title {
      margin: 0;
      justify-content: center;
      background: #fff;
    }
    .single.body_cat_id6 .relatedArticle .ClmPtn02 {
      display: flex;
      justify-content: center;
    }
    .single.body_cat_id6 .relatedArticle .ClmPtn02::after {
      display: none;
    }
      .single.body_cat_id6 .relatedArticle .ClmPtn02Item {
        margin: 0 8px 0;
      }
        .single.body_cat_id6 .relatedArticle .ClmPtn02Item .elm {
          display: none;
        }
          .single.body_cat_id6 .ClmPtn02TextBox {
            height: auto;
            padding: 0 0 20px;
            text-align: center;
          }
@media screen and (max-width: 1200px) {
/* 物件詳細 */
.single.body_cat_id6 {
}
  .single.body_cat_id6 .ctnWrapper {
  }
  .houseBoxWrapper {
    padding: 20px 30px;
    border: none;
  }
}
@media screen and (max-width: 768px) {
/* 物件詳細 */
.single.body_cat_id6 {
}
  .single.body_cat_id6 .ctnWrapper {
  }
  .shareHouseContents {
  }
    .box.message1 {
    }
  .houseBoxWrapper {
    padding: 20px 20px;
    border: none;
  }
  .sec {
    padding: 20px 20px 40px;
  }
    .houseBoxWrapper .title01 {
      margin: 20px 0;
    }
    .houseBox {
    }
      .houseBoxTitle {
        margin: 30px 0 10px;
      }
      .houseBox .item {
        width: 100%;
        padding: 0 13px;
      }
        .houseBox .imgBox {
          padding: 6px 6px;
        }
      .houseBox .txt {
        width: 100%;
      }
  .sec.sec06 .houseBox {
    margin: 40px 0 0;
  }
  .sec.sec06 .houseBox .item {
    width: 100%;
    max-width: 100%;
  }
  .single.body_cat_id6 .ClmPtn02TextBox {
    text-align: left;
  }
}

/* page
-------------------------------------------------------------- */
.page {
}
@media screen and (max-width: 768px) {
  .page {
  }
}

.page.company { /* 会社概要 */
}
  .company .twoClm-left {
    white-space: nowrap;
  }
  .company .tableDesign03 .c p {
    margin: 8px 0;
  }
@media screen and (max-width: 768px) {
  /* .company .multipleItm .twoClm {
    flex-direction: column;
  } */
}

.page.omoi { /* omoi 私たちの想い */
}
  .omoi .contein .ctn {
    border: none;
  }
    .omoi .ctnWrap .ctn {
      padding-top: 0;
      border: 2px solid #111;
    }
  .omoi .contein .ctn .title {
    padding: 0px 0 10px;
    margin: 0;
  }
  .omoi .inner_omoi01 {
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    background-color: #f7f2ec;
  }
    .omoi .inner_omoi01::before {
      width: 100%;
      height: 100%;
      content: "";
      display: block;
      background-color: #CCE2DB;
      mask-image: url(images/bg_omoi_img01.svg);
      -webkit-mask-image: url(images/bg_omoi_img01.svg);
      mask-size: 370px;
      -webkit-mask-size: 370px;
      mask-repeat: repeat;
      -webkit-mask-repeat: repeat;
      position: absolute;
    }
    .omoi .inner_omoi01 .title01 {
      padding-bottom: 80px;
      position: relative;
    }
    .omoi .ctn08 {
      position: relative;
    }
      .omoi .ctn08_linkBox_title {
        width: 130px;
        min-width: 130px;
        height: 130px;
      }
@media screen and (max-width: 768px) {
.page.omoi { /* omoi 私たちの想い */
}
  .omoi .contein .ctn {
    border: none;
  }
    .omoi .inner_omoi01 .title01 {
      padding-bottom: 30px;
    }
}

.page.immigration {/* immigration 移住支援 */
}
  .immigration .contein {
    padding: 0 0 60px;
    margin: 0;
    background-image: url('images/bg_imm_img01.svg') ;
    background-repeat: repeat;
    background-size: 370px;
  }
  .immigration .contein > .inner {
      max-width: 980px;
  padding: 0 60px 10px;
    background: #fff;
  }
  .immigrationKey {
    max-width: 1200px;
    padding: 30px 13px;
    margin: 0 auto;
    border-radius: 50px;
    text-align: center;
    overflow: hidden;
  }
    .immigrationKey img {
      width: 100%;
      max-width: 900px;
      background: #fff;
    }
  .imm_textWrap {
    background-image: url('images/immigration_key_img02.svg') ;
    background-repeat: no-repeat;
    background-size: 130px;
    background-position: 98% 10%;
  }
  .immigration .title02 {
    padding: 50px 0 0;
    margin: 0;
    justify-content: flex-start;
  }
    .immigration .title02 b {
      padding: 0;
      margin: 0;
      font-weight: normal;
      font-size: 1.2rem;
      color: #35b688;
    }
      .immigration .title02::before {
        display: none;
        /* background: #acc9bf; */
      }
  .imm_textWrap .p_type01 {
    margin: 30px 0;
  }
  .imm_textWrap .p_type02:first-child {
    margin-top: 40px;
  }
  .immigration_ctn03 {
    max-width: 100%;
    padding: 40px 0;
    overflow: hidden;
  }
    .immigration_ctn03 > .inner {
    }
      .immigration_ctn03_title {
        padding: 0;
        margin: 0 auto 0;
        justify-content: center;
        /* color: #35b688; */
      }
      .immigration_ctn03 .ClmPtn05_item > .inner {
        position: relative;
      }


@media screen and (max-width: 768px) {
.page .immigration {/* immigration 移住支援 */
}
  .immigrationKey {
    width: 100%;
    margin: 0 0 0;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.3);
  }
    .immigrationKey img {
    }
  .imm_textWrap {
    padding: 0 20px;
    background-color: #fff;
    background-size: 80px;
    background-position: 100% 3%;
  }
  .immigration .title02 {
    padding: 30px 0 10px;
    font-size: 1rem;
  }
    .immigration .title02 b {
      font-size: 0.9rem;
    }
  .imm_textWrap .p_type01 {
    margin: 15px 0 25px;
  }
  .imm_textWrap .p_type02 {
    margin-top: inherit;
  }
  .immigration .contein {
    background-image: url('images/bg_imm_img01.svg') ;
    background-repeat: repeat;
    background-size: 370px;
  }
  .immigration .contein > .inner {
    padding: 0 20px;
    background: none;
  }
  .immigration_ctn03 {
    padding-top: 20px;
  }
    .immigration_ctn03_title {
      margin: 0 auto 30px;
      font-size: ;
    }
}

.kidsdining { /* kidsdining */
}
  .kidsdining .contein {
    padding: 0 0 60px;
    margin: 0;
    background-image: url('images/bg_imm_img01.svg') ;
    background-repeat: repeat;
    background-size: 370px;
  }
    .kidsdining .contein > .inner {
      max-width: 900px;
      margin: 0 auto;
      background: #fff;
    }
  .kidsdining .ctn05 {
    text-align: center;
    margin: 0 30px;
  }
    .kidsdining .ctn05 .ulList01 {
      margin: 0 auto;
      text-align: left;
    }
  .kidsdining .cta .subtitle {
    letter-spacing: 0.5rem;
  }
@media screen and (max-width: 1200px) {
.kidsdining { /* kidsdining */
}
  .kidsdining .contein > .inner {
    margin: 0 50px;
  }
}
@media screen and (max-width: 768px) {
.kidsdining { /* kidsdining */
}
  .kidsdining .contein > .inner {
    padding: 0 20px;
    margin: 0 40px;
  }
  .ctn05 .ulList01 {
  }
  .kidsdining .cta .subtitle {
    letter-spacing: 0.3rem;
    @media screen and (max-width: 415px) {
      font-size: 8vw;
    }
  }
}

.inquiry { /* inquiry */
}
  .inqCnt01 {
  }
    .inqCnt01.ClmPtn01 .item {
      width: 50%;
      text-align: center;
    }
    .inqCnt01Txt {
      height: 110px;
      font-size: 1rem;
    }
    .inqCnt01.ClmPtn01 .item p {
      margin: 0;
      padding: 10px 0 0;
    }
      .inqItemLeft {
        font-size: 1rem;
      }
      .inqCnt01.ClmPtn01 .inqItemLeft p {
        margin: 13px 0 0;
        line-height: 0;
        padding: 0;
      }
        .inqItemLeft .imgBox {
          display: block;
          height: 85px;
          overflow: hidden;
          border: 3px solid #fff;
        }
        .ClmPtn01 .inqItemLeft .imgBox img {
          width: 300px;
        }
      .inqItemRight {
        position: relative;
        padding: 0 0 55px;
      }
      .inqItemRight .top {
        margin: 10px 0 0;
      }
      .inqItemRight .btm {
        font-size: 1rem;
        margin: 10px 0 0;
      }
        .inqItemRight .telBox {
          width: 100%;
          font-size: 2.5rem;
          height: 80px;
          line-height: 74px;
          font-weight: 900;
          display: block;
          color: ;
          border: 3px solid ;
        }
  .inqCnt02 {
    width: 100%;
    max-width: 650px;
    margin: 30px auto;
  }
@media screen and (max-width: 768px) {
  .inqCnt01.ClmPtn01 .item {
    width: 100%;
  }
    .inqCnt01.ClmPtn01 .item > .inner {
      flex-direction: column;
    }

    .inqCnt01.ClmPtn01 .item > .inner .imgBox {
      min-width: inherit;
      max-width: inherit;
    }
    .inqCnt01Txt {
      height: inherit;
    }
    .inqCnt01.ClmPtn01 .item.inqItemLeft .title {
      padding-top: 0;
    }
    .inqItemRight {
      padding: 0;
    }
  .inqCnt02 {
    max-width: 90%;
    margin: 0px auto 60px;
  }
}

.error404 .contein > .inner {
  width: 100%;
  max-width: 700px;
  padding: 15px;
}

