@charset "utf-8";

/*==========================================
 font
===========================================*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
html {
  font-family: "Noto Serif JP", serif;
  font-size: 62.5%;
  font-weight: 400;
  color: #333333;
}

/* link */
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
a { outline: none; text-decoration: none; }
a:link    { color: #333333; text-decoration: none; }
a:visited { color: #333333; text-decoration: underline; }
a:hover   { color: #333333; text-decoration: underline; }
a:active  { color: #333333; text-decoration: underline; }



/*==========================================
 body
===========================================*/

html {
  background: #333;
  overflow: auto;
}
body {
  overflow: hidden;
	min-width: 1100px;
  -webkit-text-size-adjust: 100%;
}
@media only screen and (max-width: 767px) {
  body {
  	min-width: auto;
  }
}

/*==========================================
 画像切替
===========================================*/
/* PC、スマートフォン表示分岐 */
.pcView {
  display: block;
}
.spView {
  display: none;
}
@media only screen and (max-width: 767px) {
  .pcView {
    display: none;
  }
  .spView {
    display: block;
  }
}

/*==========================================
 フェードイン
===========================================*/
/* 上下フェード */
.fade_off {
  opacity: 0;
  transform: translateY(50px);
  transition: all 2.0s ease;
}
.delay_1 { transition-delay: 0.5s; }
.delay_2 { transition-delay: 1.0s; }
.delay_3 { transition-delay: 1.5s; }

.fade_on {
  opacity: 1;
  transform: translateY(0px);
}


/*==========================================
 ヘッダーのスタイル
===========================================*/
header {
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100px;
}
header #header {
  position: relative;
  width: calc(100% - 80px);
  margin: 0 auto;
}
header #headerLogoArea {
  position: absolute;
  z-index: 500;
  top: 43px;
}
header #headerLogoArea h1 a {
  display: block;
  width: 153px;
  height: 20px;
  background-image: url("../img/header_logo.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.3s ease;
}
header #headerLogoArea h1 a:hover {
  opacity: 0.7;
}

header.h_Color_01 {
  background: rgba(255, 255, 255, 0);
  backdrop-filter: blur(0); 
}
header.h_Color_01 #headerLogoArea h1 a {
  background-image: url("../img/header_logo.svg");
}


header.h_Color_02 {
  background: rgba(255, 255, 255, 0);
  backdrop-filter: blur(10px); 
}
header.h_Color_02 #headerLogoArea h1 a {
  background-image: url("../img/header_logo.svg");
}


header.h_Color_03 {
  background: rgba(255, 255, 255, 0);
  backdrop-filter: blur(10px); 
}
header.h_Color_03 #headerLogoArea h1 a {
  background-image: url("../img/header_logo_dark.svg");
}


body#gallery header {
  background: rgba(255, 255, 255, 0);
  backdrop-filter: blur(10px); 
}
body#gallery header #headerLogoArea h1 a {
  background-image: url("../img/header_logo_dark.svg");
}


header #header_SpIcon {
  display: none;
}
@media only screen and (max-width: 767px) {
  header {
    height: 60px;
  }
  header #header {
    width: calc(100% - 30px);
  }
  header #headerLogoArea {
    position: absolute;
    top: 24px;
  }
  header #headerLogoArea h1 a {
    width: 107px;
    height: 14px;
  }

  header #header_SpIcon {
    display: block;
    z-index: 500;
    position: absolute;
    right: 0;
    top: 25px;
    width: 20px;
    height: 11px;
    box-sizing: border-box;
  }
  header #header_SpIcon .menu-trigger,
  header #header_SpIcon .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  header #header_SpIcon .menu-trigger {
    position: relative;
    width: 20px;
    height: 11px;
  }
  header #header_SpIcon .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #FFF;
  }
  header #header_SpIcon .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  header #header_SpIcon .menu-trigger span:nth-of-type(2) {
    top: 5px;
  }
  header #header_SpIcon .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }

  header #header_SpIcon .menu-trigger.active span:nth-of-type(1) {
    transform: translateY(5px) rotate(-30deg);
  }
  header #header_SpIcon .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  header #header_SpIcon .menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-5px) rotate(30deg);
  }

  header.h_Color_01 #header_SpIcon .menu-trigger span {
    background-color: #FFF;
  }
  header.h_Color_02 #header_SpIcon .menu-trigger span {
    background-color: #FFF;
  }
  header.h_Color_03 #header_SpIcon .menu-trigger span {
    background-color: #848675;
  }
  body#gallery header #header_SpIcon .menu-trigger span {
    background-color: #848675;
  }
}


/*グローバルナビゲーション ////////////////////////////////// */
header #headerGlobalArea {
  position: absolute;
  right: 0;
  top: 58px;
}
header #headerGlobalArea ul {
  width: 560px;
  display: flex;
  justify-content: space-between;
}
header #headerGlobalArea li a {
  font-size: 1.6rem;
  font-weight: 600;
  color: #FFF;
  transition: all 0.3s ease;
}
header #headerGlobalArea li a:hover {
  opacity: 0.7;
  text-decoration: none;
}

header #headerGlobalArea_Contact {
  position: absolute;
  right: 0;
  top: 20px;
}
header #headerGlobalArea_Contact ul {
  width: 150px;
  list-style-type: none;
  display: flex;
  justify-content: space-between;
}
header #headerGlobalArea_Contact a {
  font-size: 1.2rem;
  font-weight: 600;
  color: #FFF;
  transition: all 0.3s ease;
}
header #headerGlobalArea_Contact a:hover {
  opacity: 0.7;
  text-decoration: none;
}

header #headerGlobalArea_Lang {
  position: absolute;
  right: 0;
  top: 20px;
}
header #headerGlobalArea_Lang::before {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1px;
  height: 16px;
  margin: -8px 0 0 -1px;
  background-color: #A0A0A0;
  content: "";
}
header #headerGlobalArea_Lang ul {
  width: 60px;
  display: flex;
  justify-content: space-between;
}
header #headerGlobalArea_Lang ul li a {
  font-size: 1.2rem;
  font-weight: 600;
  color: #A0A0A0;
  transition: all 0.3s ease;
}
header #headerGlobalArea_Lang ul li.active a {
  color: #FFF;
}
header #headerGlobalArea_Lang ul li a:hover {
  opacity: 0.7;
  text-decoration: none;
}

header.h_Color_01 #headerGlobalArea li a,
header.h_Color_01 #headerGlobalArea_Contact a,
header.h_Color_01 #headerGlobalArea_Lang ul li.active a {
  color: #FFF;
}
header.h_Color_01 #headerGlobalArea_Lang ul li a {
  color: #A0A0A0;
}

header.h_Color_02 #headerGlobalArea li a,
header.h_Color_02 #headerGlobalArea_Contact a,
header.h_Color_02 #headerGlobalArea_Lang ul li.active a {
  color: #FFF;
}
header.h_Color_02 #headerGlobalArea_Lang ul li a {
  color: #A0A0A0;
}

header.h_Color_03 #headerGlobalArea li a,
header.h_Color_03 #headerGlobalArea_Contact a,
header.h_Color_03 #headerGlobalArea_Lang ul li.active a {
  color: #848675;
}
header.h_Color_03 #headerGlobalArea_Lang ul li a {
  color: #A0A0A0;
}

body#gallery header #headerGlobalArea li a,
body#gallery header #headerGlobalArea_Contact a,
body#gallery header #headerGlobalArea_Lang ul li.active a {
  color: #848675;
}
body#gallery header #headerGlobalArea_Lang ul li a {
  color: #A0A0A0;
}


header #headerNavi_Sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  header #headerGlobalArea,
  header #headerGlobalArea_Contact,
  header #headerGlobalArea_Lang  {
    display: none;
  }

  header #headerNavi_Sp {
    position: absolute;
    right: -100vw;
    top: 0;
    display: block;
    width: 100%;
    height: 100vh;
    background-color: #1E2723;
  }
  header #headerNavi_Sp .headerNavi_Sp_Navi {
    width: calc(100% - 80px);
    margin: 0 auto;
    padding: 200px 0 0;
    box-sizing: border-box;
  }
  header #headerNavi_Sp .headerNavi_Sp_Navi ul {
    list-style-type: none;
  }
  header #headerNavi_Sp .headerNavi_Sp_Navi ul li {
    padding: 0 0 50px;
  }
  header #headerNavi_Sp .headerNavi_Sp_Navi ul li.typ01 {
    padding: 0 0 15px;
  }
  header #headerNavi_Sp .headerNavi_Sp_Navi ul li a {
    font-size: 1.6rem;
    font-weight: 600;
    color: #FFF;
  }
  header #headerNavi_Sp .headerNavi_Sp_Navi ul li.typ02 a {
    font-size: 1.4rem;
  }
  header #headerNavi_Sp .headerNavi_Sp_Navi ul li a:hover {
    text-decoration: none;
  }
  header #headerNavi_Sp .headerNavi_Sp_Contact {
    position: absolute;
    left: 40px;
    bottom: 60px;
  }
  header #headerNavi_Sp .headerNavi_Sp_Contact a {
    font-size: 1.4rem;
    font-weight: 600;
    color: #FFF;
  }

  header #headerNavi_Sp .headerNavi_Sp_Lang {
    position: absolute;
    right: 40px;
    bottom: 40px;
  }
  header #headerNavi_Sp .headerNavi_Sp_Lang::before {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 1px;
    height: 16px;
    margin: -8px 0 0 -1px;
    background-color: #A0A0A0;
    content: "";
  }
  header #headerNavi_Sp .headerNavi_Sp_Lang ul {
    width: 60px;
    display: flex;
    justify-content: space-between;
  }
  header #headerNavi_Sp .headerNavi_Sp_Lang ul li a {
    font-size: 1.2rem;
    font-weight: 600;
    color: #A0A0A0;
    transition: all 0.3s ease;
  }
  header #headerNavi_Sp .headerNavi_Sp_Lang ul li.active a {
    color: #FFF;
  }
  header #headerNavi_Sp .headerNavi_Sp_Lang ul li a:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

/*==========================================
 フッターのスタイル
===========================================*/
footer {
  width: 100%;
  min-height: 310px;
  padding: 113px 0 0;
  box-sizing: border-box;
  background-color: #1E2723;
}
footer #footerBody {
  position: relative;
  width: calc(100% - 80px);
  margin: 0 auto;
  box-sizing: border-box;
}
footer #footerBody h2 img {
  width: 169px;
  height: auto;
  transition: all 0.3s ease;
}
footer #footerBody small {
  display: block;
  padding: 120px 0 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: #DDDFC5;
}
footer #footerBody .footerLink {
  position: absolute;
  right: 90px;
  top: 0;
  width: 580px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
footer #footerBody .footerLink .column a {
  font-size: 1.4rem;
  font-weight: 600;
  color: #DDDFC5;
  transition: all 0.3s ease;
}
footer #footerBody .footerLink .column a:hover {
  text-decoration: none;
  opacity: 0.7;
}
footer #footerBody .footerLink .column .column_Sub {
  padding: 15px 0 0;
}
footer #footerBody .footerLink .column .column_Sub a {
  font-size: 1.2rem;
  font-weight: 600;
  color: #DDDFC5;
}

footer #footerBody .footerLink_Contact {
  position: absolute;
  right: 0;
  top: -44px;
  width: 18px;
  text-align: right;
}
footer #footerBody .footerLink_Contact a {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 1.2rem;
  font-weight: 600;
  color: #DDDFC5;
  letter-spacing: 0.15em;
  transition: all 0.3s ease;
}
footer #footerBody .footerLink_Contact a:hover {
  text-decoration: none;
  opacity: 0.7;
}

footer #footerBody .footerLink_Lang {
  position: absolute;
  right: 0;
  top: 74px;
  width: 18px;
}
footer #footerBody .footerLink_Lang::before {
  position: absolute;
  left: 50%;
  top: 25px;
  width: 16px;
  height: 1px;
  margin: 0 0 0 -8px;
  background-color: #A0A0A0;
  content: "";
}
footer #footerBody .footerLink_Lang ul {
  width: 100%;
}
footer #footerBody .footerLink_Lang ul li {
  padding: 0 0 23px;
  text-align: right;
}
footer #footerBody .footerLink_Lang ul li a {
  font-size: 1.2rem;
  font-weight: 600;
  color: #A0A0A0;
  transition: all 0.3s ease;
}
footer #footerBody .footerLink_Lang ul li.active a {
  color: #DDDFC5;
}
footer #footerBody .footerLink_Lang ul li a:hover {
  opacity: 0.7;
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  footer {
    min-height: 680px;
    padding: 0;
  }
  footer #footerBody {
    position: relative;
    width: calc(100% - 30px);
    padding: 580px 0 0;
  }
  footer #footerBody h2 img {
    width: 153px;
    height: auto;
  }
  footer #footerBody small {
    padding: 20px 0 0;
    font-size: 0.9rem;
    line-height: 1.6;
  }
  footer #footerBody .footerLink {
    left: 40px;
    top: 186px;
    width: calc(100% - 40px);
  }
  footer #footerBody .footerLink .column {
    width: 100%;
    padding: 0 0 30px;
  }
  footer #footerBody .footerLink .column .column_Sub {
    padding: 15px 0 0;
  }
  footer #footerBody .footerLink .column .column_Sub a {
    font-size: 1.4rem;
  }

  footer #footerBody .footerLink_Contact {
    right: 25px;
    top: 186px;
  }
  footer #footerBody .footerLink_Lang {
    right: 25px;
    top: 318px;
  }
}


/*==========================================
 コンテンツのスタイル 共通
===========================================*/
#mainContents {
  /* min-height: 1000px; */
  padding: 0;
}
@media only screen and (max-width: 767px) {
  #mainContents {
    /* min-height: 1000px; */
  }
}


/*==========================================
 パンくず
===========================================*/
#mainContents #pankuzu {
  position: fixed;
  z-index: 1000;
  left: -28px;
  top: 170px;
  font-size: 1.2rem;
  font-weight: 600;
  color: #FFF;
  transform: rotate(90deg);
}
#mainContents .craft #pankuzu {
  left: -50px;
  top: 191px;
}
#mainContents .garden #pankuzu {
  left: -45px;
  top: 187px;
}
#mainContents .corporate #pankuzu {
  left: -11px;
  top: 147px;
}
#mainContents .business #pankuzu {
  left: -9px;
  top: 151px;
}
#mainContents .contact #pankuzu {
  left: -22px;
  top: 164px;
}
#mainContents #pankuzu a {
  position: relative;
  margin: 0 30px 0 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: #FFF;
  transition: all 0.3s ease;
}
#mainContents #pankuzu a:hover {
  opacity: 0.7;
}
#mainContents #pankuzu a:after {
  position: absolute;
  right: -16px;
  top: 6px;
  width: 6px;
  height: 6px;
  display: block;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: rotate(45deg);
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents #pankuzu {
    left: -74px;
    top: 150px;
  }
  #mainContents .craft #pankuzu {
    left: -73px;
    top: 161px;
  }
  #mainContents .garden #pankuzu {
    left: -66px;
    top: 157px;
  }
  #mainContents .corporate #pankuzu {
    left: -35px;
    top: 121px;
  }
  #mainContents .business #pankuzu {
    left: -33px;
    top: 122px;
  }
  #mainContents .contact #pankuzu {
    left: -45px;
    top: 133px;
  }
}
#mainContents #pankuzu.p_Color_01,
#mainContents #pankuzu.p_Color_02 {
  color: #FFF;
}
#mainContents #pankuzu.p_Color_01 a,
#mainContents #pankuzu.p_Color_02 a {
  color: #FFF;
}
#mainContents #pankuzu.p_Color_01 a:after,
#mainContents #pankuzu.p_Color_02 a:after {
  border-top-color: #FFF;
  border-right-color: #FFF;
}
#mainContents #pankuzu.p_Color_03 {
  color: #848675;
}
#mainContents #pankuzu.p_Color_03 a {
  color: #848675;
}
#mainContents #pankuzu.p_Color_03 a:after {
  border-top-color: #848675;
  border-right-color: #848675;
}


/*==========================================
 Top
===========================================*/
#mainContents .topMv_Area {
  position: relative;
  width: 100%;
  height: 100vh;
}
#mainContents .topMv_Area .topMv {
  display: block;
  opacity: 0;
}
#mainContents .topMv_Area img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
}
#mainContents .topMv_Area .topMv_Sp {
  display: none;
}

@keyframes blurFadeIn {
  0% {
    opacity: 0;
    filter: blur(12px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
#mainContents .topMv_Area .topMv_text {
  position: absolute;
  left: 230px;
  top: 50%;
  margin: -40px 0 0;
  animation: blurFadeIn 1.6s ease forwards;
  animation-delay: 1.0s;
  opacity: 0;
}
#mainContents .topMv_Area .topMv_text p {
  font-size: 2.2rem;
  font-weight: 600;
  color: #FFF;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #mainContents .topMv_Area {
    width: 100%;
    height: 100vh;
  }
  #mainContents .topMv_Area .topMv {
    display: none;
  }
  #mainContents .topMv_Area .topMv_Sp {
    display: block;
    opacity: 0;
  }
  #mainContents .topMv_Area .topMv_Sp img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
  }

  #mainContents .topMv_Area .topMv_text {
    left: 0;
    width: 100%;
    margin: -30px 0 0;
    text-align: center;
  }
  #mainContents .topMv_Area .topMv_text p {
    width: 100%;
    font-size: 1.6rem;
  }
}

#mainContents .top_About {
  position: relative;
  width: 100%;
}
#mainContents .top_About img {
  width: 100%;
  height: auto;
}
#mainContents .top_About .top_About_inner {
  position: absolute;
  right: 80px;
  top: 50%;
  width: 443px;
  height: 180px;
  margin: -90px 0 0;
}
#mainContents .top_About .top_About_inner.typ02 {
  height: 390px;
  margin: -195px 0 0;
}
#mainContents .top_About .top_About_inner h2 {
  font-size: 2.8rem;
  font-weight: 600;
  color: #DDDFC5;
  letter-spacing: 0.06em;
}
#mainContents .top_About .top_About_inner h3 {
  padding: 40px 0 0;
  font-size: 1.6rem;
  font-weight: 600;
  color: #DDDFC5;
}
#mainContents .top_About .top_About_inner p {
  padding: 30px 0 0;
  font-size: 1.6rem;
  font-weight: 600;
  color: #DDDFC5;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
#mainContents .top_About .top_About_inner .link01 {
  width: 270px;
  padding: 30px 0 0;
}
#mainContents .top_About .top_About_inner .link01 a {
  display: block;
  width: 100%;
  height: 50px;
  padding: 15px 0 0;
  box-sizing: border-box;
  background-color: rgba(0, 0, 0, 0.5);
  border: 1px solid #DDDFC5;
  font-size: 1.6rem;
  font-weight: 600;
  color: #DDDFC5;
  text-align: center;
  transition: all 0.3s ease;
}
#mainContents .top_About .top_About_inner .link01 a:hover {
  text-decoration: none;
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .top_About .top_About_inner {
    left: 0;
    top: 230px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0 40px;
    box-sizing: border-box;
  }
  #mainContents .top_About .top_About_inner.typ02 {
    top: 100px;
    height: auto;
    margin: 0;
  }
  #mainContents .top_About .top_About_inner h2 {
    font-size: 2.0rem;
  }
  #mainContents .top_About .top_About_inner h3 {
    padding: 30px 0 0;
    line-height: 1.8;
  }
  #mainContents .top_About .top_About_inner p {
    padding: 20px 0 0;
    line-height: 2.0;
  }
  #mainContents .top_About .top_About_inner .link01 {
    width: 100%;
    padding: 30px 0 0;
  }
}


#mainContents .top_Concept {
  width: 100%;
  padding: 200px 0 0;
  background-color: #FAF8F2;
}
#mainContents .top_Concept .top_Concept_inner {
  width: 1070px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .top_Concept .top_Concept_inner .column_L {
  width: 550px;
}
#mainContents .top_Concept .top_Concept_inner .column_L img {
  width: 100%;
  height: auto;
}
#mainContents .top_Concept .top_Concept_inner .column_R {
  width: 440px;
}
#mainContents .top_Concept .top_Concept_inner .column_R h2 {
  padding: 40px 0 0;
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
#mainContents .top_Concept .top_Concept_inner .column_R p {
  padding: 30px 0 0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  #mainContents .top_Concept {
    padding: 100px 0 0;
  }
  #mainContents .top_Concept .top_Concept_inner {
    width: 100%;
  }
  #mainContents .top_Concept .top_Concept_inner .column_L {
    width: 100%;
    padding: 0 0 40px;
  }
  #mainContents .top_Concept .top_Concept_inner .column_R {
    width: calc(100% - 80px);
    margin: 0 auto;
  }
  #mainContents .top_Concept .top_Concept_inner .column_R h2 {
    padding: 0;
    font-size: 2.0rem;
  }
}


#mainContents .top_Craft {
  width: 100%;
  padding: 200px 0;
  background-color: #FAF8F2;
}
#mainContents .top_Craft .top_Craft_inner {
  position: relative;
  width: 1000px;
  height: 600px;
  margin: 0 auto;
}
#mainContents .top_Craft .top_Craft_inner .top_Craft_img {
  position: relative;
  width: 1000px;
  height: 600px;
}
#mainContents .top_Craft .top_Craft_inner .top_Craft_Mv {
  display: block;
  opacity: 0;
}
#mainContents .top_Craft .top_Craft_inner .top_Craft_Mv_Sp {
  display: none;
  opacity: 0;
}
#mainContents .top_Craft .top_Craft_inner .top_Craft_img img {
  width: 100%;
  height: auto;
}
#mainContents .top_Craft .top_Craft_inner .top_Craft_text {
  position: absolute;
  left: 50px;
  top: 240px;
  width: 470px;
}
#mainContents .top_Craft .top_Craft_inner .top_Craft_text h2 {
  font-size: 2.8rem;
  font-weight: 600;
  color: #DDDFC5;
}
#mainContents .top_Craft .top_Craft_inner .top_Craft_text h3 {
  padding: 40px 0 0;
  font-size: 1.6rem;
  font-weight: 600;
  color: #DDDFC5;
}
#mainContents .top_Craft .top_Craft_inner .top_Craft_text p {
  padding: 30px 0 0;
  font-size: 1.6rem;
  font-weight: 600;
  color: #DDDFC5;
  line-height: 1.8;
}
#mainContents .top_Craft .top_Craft_inner .top_Craft_text .link01 {
  width: 270px;
  padding: 20px 0 0;
}
#mainContents .top_Craft .top_Craft_inner .top_Craft_text .link01 a {
  display: block;
  width: 100%;
  height: 50px;
  padding: 15px 0 0;
  box-sizing: border-box;
  background-color: rgba(0, 0, 0, 0.5);
  border: 1px solid #DDDFC5;
  font-size: 1.6rem;
  font-weight: 600;
  color: #DDDFC5;
  text-align: center;
  transition: all 0.3s ease;
}
#mainContents .top_Craft .top_Craft_inner .top_Craft_text .link01 a:hover {
  text-decoration: none;
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .top_Craft {
    padding: 150px 0 100px;
  }
  #mainContents .top_Craft .top_Craft_inner {
    width: calc(100% - 40px);
    height: auto;
  }
  #mainContents .top_Craft .top_Craft_inner .top_Craft_img {
    width: 100%;
    height: auto;
  }
  #mainContents .top_Craft .top_Craft_inner .top_Craft_Mv {
    display: none;
  }
  #mainContents .top_Craft .top_Craft_inner .top_Craft_Mv_Sp {
    display: block;
  }
  #mainContents .top_Craft .top_Craft_inner .top_Craft_text {
    position: static;
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 70px 0 0;
  }
  #mainContents .top_Craft .top_Craft_inner .top_Craft_text h2 {
    font-size: 2.0rem;
    color: #333333;
  }
  #mainContents .top_Craft .top_Craft_inner .top_Craft_text h3 {
    padding: 30px 0 0;
    color: #333333;
    line-height: 1.8;
  }
  #mainContents .top_Craft .top_Craft_inner .top_Craft_text p {
    padding: 20px 0 0;
    color: #333333;
    line-height: 2.0;
  }
  #mainContents .top_Craft .top_Craft_inner .top_Craft_text .link01 {
    width: 100%;
    padding: 30px 0 0;
  }
  #mainContents .top_Craft .top_Craft_inner .top_Craft_text .link01 a {
    display: block;
    width: 100%;
    height: 50px;
    padding: 15px 0 0;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, 0.5);
    border: 1px solid #DDDFC5;
    font-size: 1.6rem;
    font-weight: 600;
    color: #DDDFC5;
    text-align: center;
    transition: all 0.3s ease;
  }
}

/* 
#mainContents .top_Message {
  width: 100%;
  padding: 160px 0 140px;
  background-color: #FAF8F2;
}
#mainContents .top_Message .top_Message_inner {
  width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .top_Message .top_Message_inner .column_L {
  width: 550px;
  padding: 140px 0 0;
}
#mainContents .top_Message .top_Message_inner .column_L img {
  width: 100%;
  height: auto;
}
#mainContents .top_Message .top_Message_inner .column_R {
  width: 500px;
}
#mainContents .top_Message .top_Message_inner .column_R h2 {
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
#mainContents .top_Message .top_Message_inner .column_R p {
  padding: 30px 0 0;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

#mainContents .top_Message .top_Message_inner .column_R .text_name {
  position: relative;
  width: 100%;
  padding: 40px 0 0 372px;
  box-sizing: border-box;
}
#mainContents .top_Message .top_Message_inner .column_R .text_name span {
  position: absolute;
  right: 148px;
  top: 42px;
  font-size: 1.6rem;
}
#mainContents .top_Message .top_Message_inner .column_R .text_name h3 {
  font-size: 2.0rem;
  font-weight: 600;
}
#mainContents .top_Message .top_Message_inner .column_R .text_name p {
  padding: 2px 0 0;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  #mainContents .top_Message {
    padding: 100px 0;
  }
  #mainContents .top_Message .top_Message_inner {
    width: 100%;
  }
  #mainContents .top_Message .top_Message_inner .column_L {
    width: 100%;
    padding: 0 0 40px;
  }
  #mainContents .top_Message .top_Message_inner .column_R {
    width: calc(100% - 80px);
    margin: 0 auto;
  }
  #mainContents .top_Message .top_Message_inner .column_R h2 {
    padding: 0;
    font-size: 2.0rem;
  }

  #mainContents .top_Message .top_Message_inner .column_R .text_name {
    padding: 20px 0 0 0;
    text-align: right;
  }
  #mainContents .top_Message .top_Message_inner .column_R .text_name span {
    position: static;
    font-size: 1.4rem;
  }
  #mainContents .top_Message .top_Message_inner .column_R .text_name h3 {
    padding: 8px 0 0;
    font-size: 1.8rem;
  }
  #mainContents .top_Message .top_Message_inner .column_R .text_name p {
    padding: 4px 0 0;
    font-size: 1.2rem;
  }
} */



/* 
#mainContents .top_History {
  width: 100%;
  padding: 0 0 180px;
  background-color: #DDDFC5;
}

#mainContents .top_History_inner {
  width: 100%;
  padding: 50px 0 0;
}
#mainContents .top_History .top_History_Title {
  width: 100%;
  margin: 0 0 70px;
  padding: 0 0 50px;
  border-bottom: 1px solid #333333;
}
#mainContents .top_History .top_History_Title h3 {
  padding: 0 0 15px;
  font-size: 2.8rem;
  font-weight: 600;
  text-align: center;
}
#mainContents .top_History .top_History_Title h4 {
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
}

#mainContents .top_History .columnBox {
  width: 1100px;
  margin: 0 auto;
  padding: 0 0 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .top_History .columnBox .column_L {
  width: 450px;
}
#mainContents .top_History .columnBox .column_L h4 {
  font-size: 2.0rem;
  font-weight: 600;
  text-align: left;
  line-height: 1.6;
}
#mainContents .top_History .columnBox .column_R {
  width: 650px;
}
#mainContents .top_History .columnBox .column_R p {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.2;
}

#mainContents .top_History .imgBox {
  width: 1100px;
  margin: 0 auto;
  padding: 0 0 110px;
}
#mainContents .top_History .imgBox img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #mainContents .top_History {
    padding: 60px 0 90px;
  }
  #mainContents .top_History .top_History_Title {
    margin: 0 0 90px;
    padding: 0 0 60px;
  }

  #mainContents .top_History .columnBox {
    width: calc(100% - 80px);
    padding: 0 0 30px;
  }
  #mainContents .top_History .columnBox .column_L {
    width: 100%;
    padding: 0 0 20px;
  }
  #mainContents .top_History .columnBox .column_L h4 {
    font-size: 2.0rem;
    line-height: 1.5;
  }
  #mainContents .top_History .columnBox .column_R {
    width: 100%;
  }
  #mainContents .top_History .columnBox .column_R p {
    font-size: 1.4rem;
  }

  #mainContents .top_History .imgBox {
    width: 100%;
    padding: 0 0 70px;
  }
} */


/* --- 背景固定セクションの基本設定 --- */
#mainContents .top_Garden {
  position: relative;
  width: 100%;
  min-height: 900px; /* 画面いっぱいの高さにする場合は100vh、固定なら600px等に調整 */
  display: flex;
  align-items: flex-end; /* コンテンツを下揃えにする */
  box-sizing: border-box;
  
  /* 背景画像の共通設定 */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed; /* 背景を固定 */
}

/* PC用の背景画像指定 */
@media only screen and (min-width: 768px) {
  #mainContents .top_Garden {
    background-image: url("/common/img/top/top_img03.jpg");
    padding: 0 0 70px 0; /* 下の余白 */
  }
}

/* スマホ用の背景画像指定 */
@media only screen and (max-width: 767px) {
  #mainContents .top_Garden {
    background-image: url("/common/img/top/top_img03_sp.jpg");
    /* iOSのバグ回避のため、スマホでは固定を解除するのが一般的です */
    background-attachment: scroll; 
    min-height: 1000px;
    padding: 0 0 60px 0;
  }
}

#mainContents .top_Garden .top_Garden_inner {
  position: relative;
  left: 130px;
  width: 392px;
  z-index: 2;
}
#mainContents .top_Garden .top_Garden_inner h2 {
  font-size: 2.8rem;
  font-weight: 600;
  color: #DDDFC5;
  margin: 0;
}
#mainContents .top_Garden .top_Garden_inner h3 {
  padding: 30px 0 0;
  font-size: 2.0rem;
  font-weight: 600;
  color: #DDDFC5;
  margin: 0;
}
#mainContents .top_Garden .top_Garden_inner p {
  padding: 30px 0 0;
  font-size: 1.6rem;
  font-weight: 600;
  color: #DDDFC5;
  line-height: 1.8;
  margin: 0;
}
#mainContents .top_Garden .top_Garden_inner .link01 {
  width: 226px;
  padding: 20px 0 0;
}
#mainContents .top_Garden .top_Garden_inner .link01 a {
  display: block;
  width: 100%;
  height: 50px;
  padding: 15px 0 0;
  box-sizing: border-box;
  background-color: rgba(0, 0, 0, 0.5);
  border: 1px solid #DDDFC5;
  font-size: 1.6rem;
  font-weight: 600;
  color: #DDDFC5;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
}
#mainContents .top_Garden .top_Garden_inner .link01 a:hover {
  background-color: rgba(221, 223, 197, 0.2);
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .top_Garden .top_Garden_inner {
    left: 40px;
    width: calc(100% - 80px);
  }
  #mainContents .top_Garden .top_Garden_inner h2 {
    font-size: 2.0rem;
  }
  #mainContents .top_Garden .top_Garden_inner p {
    padding: 40px 0 0;
    line-height: 2.0;
  }
  #mainContents .top_Garden .top_Garden_inner .link01 {
    width: 100%;
    padding: 30px 0 0;
  }
}


/*==========================================
 タイトル
===========================================*/
#mainContents .titleArea {
  position: relative;
  z-index: 20;
  width: 100vw;
  height: 100vh;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: fadeIn 2.0s ease-out forwards;
}
#mainContents .titleArea.corporate {
  background-image: url("../img/corporate/corporate_bk01.jpg");
}
#mainContents .titleArea.business {
  background-image: url("../img/business/business_bk01.jpg");
}
#mainContents .titleArea.brand {
  background-image: url("../img/brand/brand_bk01.jpg");
}
#mainContents .titleArea.craft {
  background-image: url("../img/craft/craft_bk01.jpg");
}
#mainContents .titleArea.garden {
  background-image: url("../img/garden/garden_bk01.jpg");
}
#mainContents .titleArea.contact {
  background-image: url("../img/contact/contact_bk01.jpg");
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#mainContents .titleArea h2 {
  position: absolute;
  left: 80px;
  bottom: 55px;
  font-size: 3.0rem;
  font-weight: 600;
  color: #FFF;
}
@media only screen and (max-width: 767px) {
  #mainContents .titleArea.corporate {
    background-image: url("../img/corporate/corporate_bk01_sp.jpg");
  }
  #mainContents .titleArea.business {
    background-image: url("../img/business/business_bk01_sp.jpg");
  }
  #mainContents .titleArea.brand {
    background-image: url("../img/brand/brand_bk01_sp.jpg");
  }
  #mainContents .titleArea.craft {
    background-image: url("../img/craft/craft_bk01_sp.jpg");
  }
  #mainContents .titleArea.garden {
    background-image: url("../img/garden/garden_bk01_sp.jpg");
  }
  #mainContents .titleArea.contact {
    background-image: url("../img/contact/contact_bk01_sp.jpg");
  }
  #mainContents .titleArea h2 {
    left: 40px;
    bottom: 50px;
    font-size: 2.2rem;
  }
}


/*==========================================
 Corporate
===========================================*/
#mainContents .corporate_Main {
  width: 100%;
  padding: 170px 0;
  background-color: #FAF8F2;
}
@media only screen and (max-width: 767px) {
  #mainContents .corporate_Main {
    padding: 90px 0;
  }
}



#mainContents .corporate_Message {
  width: 100%;
  background-color: #FAF8F2;
}
#mainContents .corporate_Message .corporate_Message_inner {
  width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .corporate_Message .corporate_Message_inner .column_L {
  width: 550px;
  padding: 140px 0 0;
}
#mainContents .corporate_Message .corporate_Message_inner .column_L img {
  width: 100%;
  height: auto;
}
#mainContents .corporate_Message .corporate_Message_inner .column_R {
  width: 500px;
}
#mainContents .corporate_Message .corporate_Message_inner .column_R h2 {
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
#mainContents .corporate_Message .corporate_Message_inner .column_R p {
  padding: 30px 0 0;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

#mainContents .corporate_Message .corporate_Message_inner .column_R .text_name {
  position: relative;
  width: 100%;
  padding: 40px 0 0 372px;
  box-sizing: border-box;
}
#mainContents .corporate_Message .corporate_Message_inner .column_R .text_name span {
  position: absolute;
  right: 148px;
  top: 42px;
  font-size: 1.6rem;
}
#mainContents .corporate_Message .corporate_Message_inner .column_R .text_name h3 {
  font-size: 2.0rem;
  font-weight: 600;
}
#mainContents .corporate_Message .corporate_Message_inner .column_R .text_name p {
  padding: 2px 0 0;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  #mainContents .corporate_Message .corporate_Message_inner {
    width: 100%;
  }
  #mainContents .corporate_Message .corporate_Message_inner .column_L {
    width: 100%;
    padding: 0 0 40px;
  }
  #mainContents .corporate_Message .corporate_Message_inner .column_R {
    width: calc(100% - 80px);
    margin: 0 auto;
  }
  #mainContents .corporate_Message .corporate_Message_inner .column_R h2 {
    padding: 0;
    font-size: 2.0rem;
  }

  #mainContents .corporate_Message .corporate_Message_inner .column_R .text_name {
    padding: 20px 0 0 0;
    text-align: right;
  }
  #mainContents .corporate_Message .corporate_Message_inner .column_R .text_name span {
    position: static;
    font-size: 1.4rem;
  }
  #mainContents .corporate_Message .corporate_Message_inner .column_R .text_name h3 {
    padding: 8px 0 0;
    font-size: 1.8rem;
  }
  #mainContents .corporate_Message .corporate_Message_inner .column_R .text_name p {
    padding: 4px 0 0;
    font-size: 1.2rem;
  }
}


#mainContents .corporate_Layout01 {
  width: 900px;
  margin: 0 auto;
  padding: 160px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .corporate_Layout01 .column_L {
  width: 410px;
}
#mainContents .corporate_Layout01 .column_L h3 {
  font-size: 2.8rem;
  font-weight: 600;;
}
#mainContents .corporate_Layout01 .column_L p {
  padding: 30px 0 0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.8;
}
#mainContents .corporate_Layout01 .column_L .link01 {
  width: 236px;
  padding: 30px 0 0;
}
#mainContents .corporate_Layout01 .column_L .link01 a {
  display: block;
  width: 100%;
  height: 50px;
  padding: 15px 0 0;
  box-sizing: border-box;
  background-color: rgba(0, 0, 0, 0.5);
  border: 1px solid #DDDFC5;
  font-size: 1.6rem;
  font-weight: 600;
  color: #DDDFC5;
  text-align: center;
  transition: all 0.3s ease;
}
#mainContents .corporate_Layout01 .column_L .link01 a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#mainContents .corporate_Layout01 .column_R {
  width: 437px;
}
#mainContents .corporate_Layout01 .column_R img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #mainContents .corporate_Layout01 {
    width: 100%;
    padding: 80px 0 0;
  }
  #mainContents .corporate_Layout01 .column_L {
    width: 100%;
    padding: 0 40px 60px;
    box-sizing: border-box;
  }
  #mainContents .corporate_Layout01 .column_L h3 {
    font-size: 2.4rem;
  }
  #mainContents .corporate_Layout01 .column_L p {
    padding: 20px 0 0;
    font-size: 1.6rem;
  }
  #mainContents .corporate_Layout01 .column_L .link01 {
    width: 250px;
    margin: 0 auto;
    padding: 30px 0 0;
  }
  #mainContents .corporate_Layout01 .column_R {
    width: 100%;
  }
}


#mainContents .corporate_Layout02 {
  width: 900px;
  margin: 0 auto;
  padding: 70px 0 120px;
}
#mainContents .corporate_Layout02 h3 {
  font-size: 2.8rem;
  font-weight: 600;;
}
#mainContents .corporate_Layout02 p {
  padding: 30px 0 0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.8;
}
#mainContents .corporate_Layout02 table {
  width: 800px;
  margin: 60px auto 0;
  border-top: 1px solid #707070;
}
#mainContents .corporate_Layout02 table tr {
  border-bottom: 1px solid #707070;
}
#mainContents .corporate_Layout02 table tr th {
  width: 230px;
  padding: 20px 0 20px 30px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: left;
  line-height: 1.8;
}
#mainContents .corporate_Layout02 table tr td {
  padding: 20px 0;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: left;
  line-height: 1.8;
}
#mainContents .corporate_Layout02 table tr td span {
  font-size: 1.2rem;
}
#mainContents .corporate_Layout02 table tr td iframe {
  width: 422px;
  height: 106px;
  margin: 20px 0 0;
}
@media only screen and (max-width: 767px) {
  #mainContents .corporate_Layout02 {
    width: calc(100% - 80px);
    padding: 70px 0 80px;
  }
  #mainContents .corporate_Layout02 h3 {
    font-size: 2.4rem;
  }
  #mainContents .corporate_Layout02 p {
    padding: 20px 0 0;
  }
  #mainContents .corporate_Layout02 table {
    width: 100%;
  }
  #mainContents .corporate_Layout02 table tr th {
    width: 110px;
    padding: 20px 0 20px 10px;
    font-size: 1.4rem;
  }
  #mainContents .corporate_Layout02 table tr td {
    padding: 20px 10px 20px 0;
    font-size: 1.4rem;
  }
  #mainContents .corporate_Layout02 table tr td iframe {
    width: 100%;
    height: 106px;
  }
}

#mainContents .corporate_Layout03 {
  width: 900px;
  margin: 0 auto;
  padding: 70px 0 0;
}
#mainContents .corporate_Layout03 h3 {
  font-size: 2.8rem;
  font-weight: 600;;
}
#mainContents .corporate_Layout03 table {
  width: 800px;
  margin: 60px auto 0;
  border-top: 1px solid #707070;
}
#mainContents .corporate_Layout03 table tr {
  border-bottom: 1px solid #707070;
}
#mainContents .corporate_Layout03 table tr th {
  width: 150px;
  padding: 15px 0 15px 10px;
  box-sizing: border-box;
  font-size: 1.2rem;
  font-weight: 600;
  text-align: left;
  line-height: 1.8;
}
#mainContents .corporate_Layout03 table tr td {
  padding: 15px 0;
  font-size: 1.2rem;
  font-weight: 600;
  text-align: left;
  line-height: 1.8;
}
#mainContents .corporate_Layout03 table tr td .link01 {
  padding: 5px 0 0;
}
#mainContents .corporate_Layout03 table tr td .link01 a {
  position: relative;
  font-size: 1.2rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
  transition: all 0.3s ease;
}
#mainContents .corporate_Layout03 table tr td .link01 a::after {
  position: absolute;
  right: -20px;
  top: 50%;
  width: 12px;
  height: 12px;
  margin: -6px 0 0;
  background-image: url("../img/icon01.svg");
  background-size: cover;
  content: "";
}
#mainContents .corporate_Layout03 table tr td .link01 a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .corporate_Layout03 {
    width: calc(100% - 80px);
    padding: 100px 0 0;
  }
  #mainContents .corporate_Layout03 h3 {
    font-size: 2.4rem;
  }
  #mainContents .corporate_Layout03 table {
    width: 100%;
    margin: 40px auto 0;
  }
  #mainContents .corporate_Layout03 table tr th {
    width: 120px;
    padding: 15px 0;
  }
  #mainContents .corporate_Layout03 table tr td {
    padding: 15px 0;
  }
}


/*==========================================
 MOROTOとは
===========================================*/
#mainContents .brand_Main {
  width: 100%;
  padding: 150px 0 0;
  background-color: #FAF8F2;
}
@media only screen and (max-width: 767px) {
  #mainContents .brand_Main {
    padding: 190px 0 0;
  }
}

#mainContents .brand_Layout01 {
  width: 940px;
  margin: 0 auto;
  padding: 0 0 140px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .brand_Layout01 .column_L {
  width: 453px;
  display: flex;
  align-items: center;
}
#mainContents .brand_Layout01 .column_L h3 {
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.4;
}
#mainContents .brand_Layout01 .column_R {
  width: 487px;
}
#mainContents .brand_Layout01 .column_R p {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.0;
}
#mainContents .brand_Layout01 .column_R p:last-child {
  padding: 0;
}
@media only screen and (max-width: 767px) {
  #mainContents .brand_Layout01 {
    width: calc(100% - 80px);
    padding: 0 0 170px;
  }
  #mainContents .brand_Layout01 .column_L {
    width: 100%;
    padding: 0 0 40px;
  }
  #mainContents .brand_Layout01 .column_L h3 {
    font-size: 2.4rem;
  }
  #mainContents .brand_Layout01 .column_R {
    width: 100%;
  }
  #mainContents .brand_Layout01 .column_R p {
    font-size: 1.4rem;
  }
}


#mainContents .brand_Layout02 {
  width: 800px;
  margin: 0 auto;
  padding: 0 0 180px;
}
#mainContents .brand_Layout02 .imgBox {
  width: 560px;
  margin: 0 auto;
}
#mainContents .brand_Layout02 .imgBox img {
  width: 100%;
  height: auto;
}
#mainContents .brand_Layout02 .textBox {
  width: 100%;
  padding: 150px 0 0;
}
#mainContents .brand_Layout02 .textBox p.text01 {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.0;
}
#mainContents .brand_Layout02 .textBox p.text02 {
  padding: 20px 0 0;
  text-align: right;
  font-size: 2.0rem;
  font-weight: 600;
  line-height: 1.0;
}
#mainContents .brand_Layout02 .textBox p.text02 span.typ01 {
  padding: 0 10px 0 0;
  font-size: 1.6rem;
}
#mainContents .brand_Layout02 .textBox p.text02 span.typ02 {
  padding: 0 0 0 10px;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  #mainContents .brand_Layout02 {
    width: calc(100% - 80px);
  }
  #mainContents .brand_Layout02 .imgBox {
    width: 100%;
  }
  #mainContents .brand_Layout02 .textBox {
    padding: 180px 0 0;
  }
  #mainContents .brand_Layout02 .textBox p.text01 {
    padding: 0 0 30px;
    font-size: 1.4rem;
  }
  #mainContents .brand_Layout02 .textBox p.text02 {
    padding: 10px 0 0;
    font-size: 1.8rem;
  }
  #mainContents .brand_Layout02 .textBox p.text02 span.typ01 {
    font-size: 1.4rem;
  }
  #mainContents .brand_Layout02 .textBox p.text02 span.typ02 {
    font-size: 1.2rem;
  }
}



#mainContents .brand_bottom {
  width: 100%;
  padding: 0 0 180px;
  background-color: #DDDFC5;
}

#mainContents .brand_Layout03 {
  width: 100%;
  padding: 50px 0 0;
}
#mainContents .brand_Layout03 .brand_Layout03_Title {
  width: 100%;
  margin: 0 0 70px;
  padding: 0 0 50px;
  border-bottom: 1px solid #333333;
}
#mainContents .brand_Layout03 .brand_Layout03_Title h3 {
  padding: 0 0 15px;
  font-size: 2.8rem;
  font-weight: 600;
  text-align: center;
}
#mainContents .brand_Layout03 .brand_Layout03_Title h4 {
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
}

#mainContents .brand_Layout03 .columnBox {
  width: 1100px;
  margin: 0 auto;
  padding: 0 0 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .brand_Layout03 .columnBox .column_L {
  width: 450px;
}
#mainContents .brand_Layout03 .columnBox .column_L h4 {
  font-size: 2.0rem;
  font-weight: 600;
  text-align: left;
}
#mainContents .brand_Layout03 .columnBox .column_R {
  width: 650px;
}
#mainContents .brand_Layout03 .columnBox .column_R p {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.0;
}

#mainContents .brand_Layout03 .imgBox {
  width: 1100px;
  margin: 0 auto;
  padding: 0 0 110px;
}
#mainContents .brand_Layout03 .imgBox img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #mainContents .brand_Layout03 {
    padding: 60px 0 0;
  }
  #mainContents .brand_Layout03 .brand_Layout03_Title {
    margin: 0 0 90px;
    padding: 0 0 60px;
  }

  #mainContents .brand_Layout03 .columnBox {
    width: calc(100% - 80px);
    padding: 0 0 30px;
  }
  #mainContents .brand_Layout03 .columnBox .column_L {
    width: 100%;
    padding: 0 0 20px;
  }
  #mainContents .brand_Layout03 .columnBox .column_L h4 {
    font-size: 2.2rem;
    line-height: 1.5;
  }
  #mainContents .brand_Layout03 .columnBox .column_R {
    width: 100%;
  }
  #mainContents .brand_Layout03 .columnBox .column_R p {
    font-size: 1.6rem;
  }

  #mainContents .brand_Layout03 .imgBox {
    width: calc(100% - 80px);
    padding: 0 0 200px;
  }
}


#mainContents .brand_Layout04 {
  width: 900px;
  margin: 0 auto;
  padding: 180px 0 0;
}
#mainContents .brand_Layout04 h4 {
  padding: 0 0 50px;
  font-size: 2.0rem;
  font-weight: 600;
  text-align: center;
}
#mainContents .brand_Layout04 p {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.0;
}
@media only screen and (max-width: 767px) {
  #mainContents .brand_Layout04 {
    width: calc(100% - 80px);
    padding: 220px 0 0;
  }
  #mainContents .brand_Layout04 h4 {
    padding: 0 0 40px;
    font-size: 2.2rem;
    line-height: 1.4;
  }
}



/*==========================================
 MOROTOのものづくり
===========================================*/
#mainContents .craft_Main {
  width: 100%;
  background-color: #000;
}


#mainContents .top_About img {
  width: 100%;
  height: auto;
}

#mainContents .craft_Layout01 {
  position: relative;
  width: 100%;
}
#mainContents .craft_Layout01 img {
  width: 100%;
  height: auto;
}
#mainContents .craft_Layout01 .craft_Layout01_inner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 682px;
  height: 120px;
  margin: -60px 0 0 -341px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .craft_Layout01 .column_L {
  width: 200px;
  display: flex;
  align-items: center;
}
#mainContents .craft_Layout01 .column_L h3 {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.4;
  color: #DDDFC5;
}
#mainContents .craft_Layout01 .column_R {
  width: 250px;
}
#mainContents .craft_Layout01 .column_R p {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.0;
  color: #DDDFC5;
}
#mainContents .craft_Layout01 .column_R p:last-child {
  padding: 0;
}
@media only screen and (max-width: 767px) {
  #mainContents .craft_Layout01 .craft_Layout01_inner {
    top: 250px;
    left: 0;
    width: 100%;
    height: auto;
    margin: 0;
  }
  #mainContents .craft_Layout01 .column_L {
    width: 100%;
    padding: 0 0 15px;
    display: block;
  }
  #mainContents .craft_Layout01 .column_L h3 {
    font-size: 2.0rem;
    text-align: center;
  }
  #mainContents .craft_Layout01 .column_R {
    width: 100%;
    text-align: center;
  }
  #mainContents .craft_Layout01 .column_R p {
    font-size: 1.6rem;
  }
}

#mainContents .craft_Layout02 {
  width: 100%;
  margin: -1px 0 0;
  padding: 160px 0 0;
  background-color: #1E2823;
}
#mainContents .craft_Layout02 ul {
  width: 470px;
  margin: 0 auto;
  padding: 0 0 30px;
  list-style-type: none;
  display: flex;
  justify-content: space-between;
}
#mainContents .craft_Layout02 ul li a {
  font-size: 2.2rem;
  font-weight: 600;
  color: #848675;
  transition: all 0.3s ease;
}
#mainContents .craft_Layout02 ul li a:hover,
#mainContents .craft_Layout02 ul li a.active {
  color: #DCE1C8;
  text-decoration: none;
}
#mainContents .craft_Layout02 .schoolAnimation {
  position: absolute;
  right: 20px;
  bottom: 50px;
  font-size: 1.6rem;
  font-weight: 600;
  color: #FFF;
  transform: rotate(90deg);
}
#mainContents .craft_Layout02 .schoolAnimation::before {
  position: absolute;
  left: 52px;
  top: 8px;
  width: 29px;
  height: 1px;
  background-color: #FFF;
  content: "";
  animation: lineExtendWait 3s ease-in-out infinite;
}
/* アニメーションの定義 */
@keyframes lineExtendWait {
  0% {
    width: 0;
  }
  80% {
    /* 全体の約2/3（2秒地点）で最大幅に到達 */
    width: 29px;
  }
  100% {
    /* 残りの1/3（1秒間）は29pxをキープ */
    width: 29px;
  }
}
#mainContents .craft_Layout02 .imgBox {
  position: relative;
  width: 100%;
  height: 80vh;
  overflow: hidden;
}
#mainContents .craft_Layout02 .imgBox .scrollArea {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: calc(80vh * 4);
}
#mainContents .craft_Layout02 .imgBox .imgColumn {
  position: relative;
  width: 100%;
  height: 80vh;
  overflow: hidden;
}
#mainContents .craft_Layout02 .imgBox .imgColumn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#mainContents .craft_Layout02 .imgBox .imgColumn .textBox {
  position: absolute;
  left: 15vw;
  top: 50%;
  width: 320px;
  height: 200px;
  margin: -100px 0 0;
  text-align: center;
}
#mainContents .craft_Layout02 .imgBox .imgColumn .textBox h4 {
  padding: 0 0 60px;
  font-size: 2.2rem;
  font-weight: 600;
  color: #DDDFC5;
}
#mainContents .craft_Layout02 .imgBox .imgColumn .textBox p {
  font-size: 1.4rem;
  font-weight: 600;
  color: #DDDFC5;
  line-height: 2.0;
}
#mainContents .craft_Layout02 .imgBox .imgColumn .textBox .link01 {
  width: 185px;
  margin: 0 auto;
  padding: 30px 0 0;
}
#mainContents .craft_Layout02 .imgBox .imgColumn .textBox .link01 a {
  position: relative;
  display: block;
  width: 100%;
  height: 50px;
  padding: 15px 20px 0 0;
  box-sizing: border-box;
  background-color: rgba(0, 0, 0, 0.5);
  border: 1px solid #DDDFC5;
  font-size: 1.6rem;
  font-weight: 600;
  color: #DDDFC5;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
}
#mainContents .craft_Layout02 .imgBox .imgColumn .textBox .link01 a::after {
  position: absolute;
  right: 35px;
  top: 50%;
  width: 14px;
  height: 14px;
  margin: -7px 0 0;
  background-image: url("../img/icon02.svg");
  background-size: cover;
  content: "";
}
#mainContents .craft_Layout02 .imgBox .imgColumn .textBox .link01 a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .craft_Layout02 {
    padding: 160px 0 0;
  }
  #mainContents .craft_Layout02 ul {
    width: 140px;
    padding: 0 0 30px;
  }
  #mainContents .craft_Layout02 ul li a {
    font-size: 1.6rem;
  }
  #mainContents .craft_Layout02 .schoolAnimation {
    right: 0;
    font-size: 1.4rem;
  }
  #mainContents .craft_Layout02 .schoolAnimation::before {
    left: 48px;
    top: 8px;
  }
  #mainContents .craft_Layout02 .imgBox {
    height: 667px;
  }
  #mainContents .craft_Layout02 .imgBox .scrollArea {
    height: calc(667px * 4);
  }
  #mainContents .craft_Layout02 .imgBox .imgColumn {
    height: 667px;
  }
  #mainContents .craft_Layout02 .imgBox .imgColumn .textBox {
    left: 0;
    top: 50%;
    width: 100%;
    height: 200px;
    margin: -100px 0 0;
    text-align: center;
  }
  #mainContents .craft_Layout02 .imgBox .imgColumn .textBox h4 {
    padding: 0 0 40px;
    font-size: 1.4rem;
  }
  #mainContents .craft_Layout02 .imgBox .imgColumn .textBox p {
    font-size: 1.2rem;
  }

}


/*==========================================
 諸戸氏庭園について
===========================================*/
#mainContents .garden_Main {
  width: 100%;
  padding: 0;
  background-color: #FAF8F2;
}
@media only screen and (max-width: 767px) {
  #mainContents .garden_Main {
    padding: 0;
  }
}

/* #mainContents .garden_Layout01 {
  width: 900px;
  margin: 0 auto;
}
#mainContents .garden_Layout01 h3 {
  font-size: 2.8rem;
  font-weight: 600;
}
#mainContents .garden_Layout01 h3 span {
  padding: 0 0 0 30px;
  font-size: 2.2rem;
  font-weight: 600;
}
#mainContents .garden_Layout01 table {
  width: 800px;
  margin: 60px auto 0;
  border-top: 1px solid #707070;
}
#mainContents .garden_Layout01 table tr {
  border-bottom: 1px solid #707070;
}
#mainContents .garden_Layout01 table tr th {
  width: 230px;
  padding: 0 0 20px 30px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: left;
  vertical-align: middle;
  line-height: 1.8;
}
#mainContents .garden_Layout01 table tr td {
  padding: 20px 0;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: left;
  line-height: 1.8;
}
#mainContents .garden_Layout01 table tr td span {
  display: block;
  font-size: 1.2rem;
}
#mainContents .garden_Layout01 p {
  padding: 50px 0 0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.0;
}
#mainContents .garden_Layout01 .link01 {
  width: 250px;
  margin: 0 auto;
  padding: 60px 0 0;
}
#mainContents .garden_Layout01 .link01 a {
  position: relative;
  display: block;
  width: 100%;
  height: 50px;
  padding: 15px 0 0;
  box-sizing: border-box;
  background-color: rgba(0, 0, 0, 0.5);
  border: 1px solid #DDDFC5;
  font-size: 1.6rem;
  font-weight: 600;
  color: #DDDFC5;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
}
#mainContents .garden_Layout01 .link01 a::after {
  position: absolute;
  right: 25px;
  top: 50%;
  width: 14px;
  height: 14px;
  margin: -7px 0 0;
  background-image: url("../img/icon02.svg");
  background-size: cover;
  content: "";
}
#mainContents .garden_Layout01 .link01 a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .garden_Layout01 {
    width: calc(100% - 80px);
  }
  #mainContents .garden_Layout01 h3 {
    font-size: 2.4rem;
    line-height: 1.8;
  }
  #mainContents .garden_Layout01 h3 span {
    display: block;
    padding: 0;
  }
  #mainContents .garden_Layout01 table {
    width: 100%;
  }
  #mainContents .garden_Layout01 table tr th {
    width: 110px;
    padding: 20px 0 20px 10px;
    font-size: 1.4rem;
  }
  #mainContents .garden_Layout01 table tr td {
    padding: 20px 10px 20px 0;
    font-size: 1.4rem;
  }
} */



#mainContents .garden_History {
  width: 100%;
  padding: 0 0 180px;
  background-color: #DDDFC5;
}

#mainContents .garden_History_inner {
  width: 100%;
  padding: 50px 0 0;
}
#mainContents .garden_History .garden_History_Title {
  width: 100%;
  margin: 0 0 70px;
  padding: 0 0 50px;
  border-bottom: 1px solid #333333;
}
#mainContents .garden_History .garden_History_Title h3 {
  padding: 0 0 15px;
  font-size: 2.8rem;
  font-weight: 600;
  text-align: center;
}
#mainContents .garden_History .garden_History_Title h4 {
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
}

#mainContents .garden_History .columnBox {
  width: 1100px;
  margin: 0 auto;
  padding: 0 0 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .garden_History .columnBox .column_L {
  width: 450px;
}
#mainContents .garden_History .columnBox .column_L h4 {
  font-size: 2.0rem;
  font-weight: 600;
  text-align: left;
  line-height: 1.6;
}
#mainContents .garden_History .columnBox .column_R {
  width: 650px;
}
#mainContents .garden_History .columnBox .column_R p {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.2;
}

#mainContents .garden_History .imgBox {
  width: 1100px;
  margin: 0 auto;
  padding: 0 0 110px;
}
#mainContents .garden_History .imgBox img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #mainContents .garden_History {
    padding: 60px 0 90px;
  }
  #mainContents .garden_History .garden_History_Title {
    margin: 0 0 90px;
    padding: 0 0 60px;
  }

  #mainContents .garden_History .columnBox {
    width: calc(100% - 80px);
    padding: 0 0 30px;
  }
  #mainContents .garden_History .columnBox .column_L {
    width: 100%;
    padding: 0 0 20px;
  }
  #mainContents .garden_History .columnBox .column_L h4 {
    font-size: 2.0rem;
    line-height: 1.5;
  }
  #mainContents .garden_History .columnBox .column_R {
    width: 100%;
  }
  #mainContents .garden_History .columnBox .column_R p {
    font-size: 1.4rem;
  }

  #mainContents .garden_History .imgBox {
    width: 100%;
    padding: 0 0 70px;
  }
}


#mainContents .garden_Layout02 {
  width: 100%;
  padding: 0;
}
.scroll_wrapper {
  position: relative;
  width: 100%;
  height: 400vh;
}
#mainContents .introduction_scroll {
  position: absolute; /* 通常時は親に対して絶対配置 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden; /* 中のスクロールバーは見せない */
  z-index: 10;
}
#mainContents .introduction_scroll.is-fixed {
  position: fixed;
  top: 0;
}
#mainContents .introduction_scroll.is-bottom {
  position: absolute;
  top: auto;
  bottom: 0;
}
#mainContents .introduction_scroll section.scroll_item {
  position: absolute; /* 全て重ねる */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  opacity: 0; /* 最初は透明 */
  transition: opacity 0.6s ease; /* フェードで切り替え */
}
#mainContents .introduction_scroll section.scroll_item.current {
  opacity: 1;
  z-index: 2;
}
#mainContents .introduction_scroll section.scroll_item img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  display: block;
}

#mainContents .introduction_scroll section.scroll_item .textBox {
  position: absolute;
  right: 80px;
  bottom: 3vh;
  width: 443px;
  height: auto;
}
#mainContents .introduction_scroll section.scroll_item .textBox h4 {
  font-size: 2.8rem;
  font-weight: 600;
  color: #FFF;
  line-height: 1.4;
}
#mainContents .introduction_scroll section.scroll_item .textBox p {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 600;
  color: #FFF;
  line-height: 2.0;
}
#mainContents .introduction_scroll section.scroll_item .pager {
  position: absolute;
  right: 40px;
  top: 50%;
  width: 10px;
  height: 100px;
  margin: -50px 0 0;
}
#mainContents .introduction_scroll section.scroll_item .pager ul {
  width: 10px;
  height: 100px;
  list-style-type: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#mainContents .introduction_scroll section.scroll_item .pager ul li {
  width: 8px;
  height: 8px;
  margin: 0 0 10px;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 10px;
}
#mainContents .introduction_scroll section.scroll_item:nth-child(1) .pager ul li:nth-child(1),
#mainContents .introduction_scroll section.scroll_item:nth-child(2) .pager ul li:nth-child(2),
#mainContents .introduction_scroll section.scroll_item:nth-child(3) .pager ul li:nth-child(3) {
  width: 10px;
  height: 10px;
  background-color: #DCE1C8;
}

@media only screen and (max-width: 767px) {
  #mainContents .garden_Layout02 {
    padding: 0;
  }
  .scroll_wrapper {
    height: 400vh;
  }

  #mainContents .introduction_scroll section.scroll_item .textBox {
    right: auto;
    left: 40px;
    top: auto;
    bottom: 30px;
    width: calc(100% - 80px);
    height: auto;
  }
  #mainContents .introduction_scroll section.scroll_item .textBox h4 {
    font-size: 1.6rem;
  }
  #mainContents .introduction_scroll section.scroll_item .textBox p {
    padding: 10px 0 0;
    font-size: 1.2rem;
  }
  #mainContents .introduction_scroll section.scroll_item .pager {
    right: 10px;
    width: 8px;
    height: 90px;
    margin: -45px 0 0;
  }
  #mainContents .introduction_scroll section.scroll_item .pager ul {
    width: 8px;
    height: 90px;
  }
  #mainContents .introduction_scroll section.scroll_item .pager ul li {
    width: 6px;
    height: 6px;
  }
  #mainContents .introduction_scroll section.scroll_item:nth-child(1) .pager ul li:nth-child(1),
  #mainContents .introduction_scroll section.scroll_item:nth-child(2) .pager ul li:nth-child(2),
  #mainContents .introduction_scroll section.scroll_item:nth-child(3) .pager ul li:nth-child(3) {
    width: 8px;
    height: 8px;
  }
}


#mainContents .garden_Layout03 {
  width: 100%;
  height: 1662px;
  padding: 160px 0;
  overflow: hidden;
}
#mainContents .garden_Layout03 .garden_Layout03_inner {
  position: relative;
  width: 1366px;
  margin: 0 auto;
}
#mainContents .garden_Layout03 .imgBox01 {
  position: absolute;
  left: 50%;
  top: 0;
  width: 1000px;
  margin: 0 0 0 -500px;
}
#mainContents .garden_Layout03 .imgBox02 {
  position: absolute;
  right: 100px;
  top: 720px;
  width: 450px;
}
#mainContents .garden_Layout03 .imgBox03 {
  position: absolute;
  left: 0;
  top: 826px;
  width: 650px;
}
#mainContents .garden_Layout03 .imgBox04 {
  position: absolute;
  right: 0;
  top: 1120px;
  width: 650px;
}
#mainContents .garden_Layout03 .imgBox05 {
  position: absolute;
  left: 100px;
  top: 1360px;
  width: 450px;
}
#mainContents .garden_Layout03 img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #mainContents .garden_Layout03 {
    height: 1687px;
    padding: 110px 0;
  }
  #mainContents .garden_Layout03 .garden_Layout03_inner {
    width: 100%;
  }
  #mainContents .garden_Layout03 .imgBox01 {
    width: 355px;
    margin: 0 0 0 -177px;
  }
  #mainContents .garden_Layout03 .imgBox02 {
    right: 0;
    top: 630px;
    width: 290px;
  }
  #mainContents .garden_Layout03 .imgBox03 {
    top: 890px;
    width: 100%;
  }
  #mainContents .garden_Layout03 .imgBox04 {
    right: auto;
    left: 0;
    top: 1212px;
    width: 100%;
  }
  #mainContents .garden_Layout03 .imgBox05 {
    left: 0;
    top: 1524px;
    width: 290px;
  }
}


/*==========================================
 事業紹介について
===========================================*/
#mainContents .business_Main {
  width: 100%;
  padding: 140px 0 0;
  background-color: #FAF8F2;
}
@media only screen and (max-width: 767px) {
  #mainContents .business_Main {
    padding: 80px 0 0;
  }
}

#mainContents .business_Layout01 {
  width: 900px;
  margin: 0 auto;
  padding: 0 0 170px;
}
#mainContents .business_Layout01 .columnBox {
  width: 100%;
  padding: 0 0 125px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .business_Layout01 .columnBox .column_L {
  width: 270px;
}
#mainContents .business_Layout01 .columnBox .column_L img {
  width: 100%;
  height: auto;
}
#mainContents .business_Layout01 .columnBox .column_R {
  width: 570px;
}
#mainContents .business_Layout01 .columnBox .column_R h3 {
  font-size: 2.4rem;
  font-weight: 600;
}
#mainContents .business_Layout01 .columnBox .column_R p {
  padding: 20px 0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.0;
}
#mainContents .business_Layout01 .columnBox .column_R .textBox {
  width: 100%;
  margin: 5px 0 30px;
  padding: 20px 0 0;
  border-top: 1px solid #333333;
  display: flex;
  justify-content: space-between;
}
#mainContents .business_Layout01 .columnBox .column_R .textBox .sbu_column_L {
  width: 50px;
}
#mainContents .business_Layout01 .columnBox .column_R .textBox .sbu_column_L img {
  width: 100%;
  height: auto;
}
#mainContents .business_Layout01 .columnBox .column_R .textBox .sbu_column_R {
  width: 504px;
}
#mainContents .business_Layout01 .columnBox .column_R .textBox .sbu_column_R p {
  padding: 0;
  font-size: 1.0rem;
  font-weight: 600;
  line-height: 1.8;
}
#mainContents .business_Layout01 .columnBox .column_R .link01 {
  padding: 0 35px 20px 0;
  text-align: right;
}
#mainContents .business_Layout01 .columnBox .column_R .link01 a {
  position: relative;
  font-size: 1.6rem;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
  transition: all 0.3s ease;
}
#mainContents .business_Layout01 .columnBox .column_R .link01 a::after {
  position: absolute;
  right: -20px;
  top: 50%;
  width: 12px;
  height: 12px;
  margin: -6px 0 0;
  background-image: url("../img/icon01.svg");
  background-size: cover;
  content: "";
}
#mainContents .business_Layout01 .columnBox .column_R .link01 a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .business_Layout01 {
    width: calc(100% - 80px);
    padding: 0 0 50px;
  }
  #mainContents .business_Layout01 .columnBox {
    padding: 0 0 70px;
  }
  #mainContents .business_Layout01 .columnBox .column_L {
    width: 100%;
    padding: 0 0 30px;
  }
  #mainContents .business_Layout01 .columnBox .column_R {
    width: 100%;
  }

  #mainContents .business_Layout01 .columnBox .column_R .textBox {
    margin: 0 0 20px;
    padding: 20px 0 0;
  }
  #mainContents .business_Layout01 .columnBox .column_R .textBox .sbu_column_L {
    display: flex;
    align-items: center;
  }
  #mainContents .business_Layout01 .columnBox .column_R .textBox .sbu_column_R {
    width: calc(100% - 60px);
  }
  #mainContents .business_Layout01 .columnBox .column_R .textBox .sbu_column_R p {
    padding: 0;
    font-size: 1.0rem;
    font-weight: 600;
    line-height: 1.8;
  }

  #mainContents .business_Layout01 .columnBox .column_R .link01 {
    padding: 0 35px 20px 0;
    text-align: right;
  }
  #mainContents .business_Layout01 .columnBox .column_R .link01 a {
    font-size: 1.4rem;
  }
  #mainContents .business_Layout01 .columnBox .column_R .link01 a::after {
    position: absolute;
    right: -20px;
    top: 50%;
    width: 12px;
    height: 12px;
    margin: -6px 0 0;
    background-image: url("../img/icon01.svg");
    background-size: cover;
    content: "";
  }
}

/*==========================================
 MOROTO GALLERYについて
===========================================*/
#mainContents .gallery_Main {
  width: 100%;
  min-height: 500px;
  padding: 300px 0 0;
  background-color: #FAF8F2;
}
#mainContents .gallery_Main p {
  padding: 100px 0;
  font-size: 2.0rem;
  font-weight: 600;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #mainContents .gallery_Main {
    min-height: 500px;
    padding: 200px 0 0;
  }
  #mainContents .gallery_Main p {
    padding: 100px 0;
    font-size: 1.6rem;
  }
}



/*==========================================
 お問い合わせについて
===========================================*/
#mainContents .contact_Main {
  width: 100%;
  padding: 140px 0 0;
  background-color: #FAF8F2;
}
@media only screen and (max-width: 767px) {
  #mainContents .contact_Main {
    padding: 80px 0 0;
  }
}

#mainContents .contact_Layout01 {
  width: 900px;
  margin: 0 auto;
  padding: 0 0 170px;
}
#mainContents .contact_Layout01 h3 {
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
}
#mainContents .contact_Layout01 p {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.8;
}
#mainContents .contact_Layout01 p a {
  text-decoration: none;
}
#mainContents .contact_Layout01 h4 {
  padding: 50px 0 0;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.0;
}
#mainContents .contact_Layout01 p.text01 {
  padding: 10px 0 0;
  font-size: 2.2rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.0;
}
#mainContents .contact_Layout01 p.text02 {
  padding: 10px 0 0;
  font-size: 1.2rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
}
#mainContents .contact_Layout01 p.text02 span {
  padding: 0 0 0 10px;
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  #mainContents .contact_Layout01 {
    width: calc(100% - 80px);
    padding: 0 0 100px;
  }
  #mainContents .contact_Layout01 p {
    font-size: 1.3rem;
  }
  #mainContents .contact_Layout01 h4 {
    font-size: 1.4rem;
  }
  #mainContents .contact_Layout01 p.text01 {
    font-size: 2.0rem;
  }
  #mainContents .contact_Layout01 p.text02 span {
    display: block;
    padding: 5px 0 0;
  }
}
