@charset "utf-8";

/*---------------------------------------------
	body
---------------------------------------------*/
section {
  scroll-margin-top: 80px;
}


html {
  scroll-behavior: smooth;
  font-size: 62.5%;
}

body {
  width: 100%;
  font-size: 1.7rem;
  color: #000;
  line-height: 2.2;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Serif JP', serif;
  overflow: hidden;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  background: #fff;
  position: relative;
  z-index: 0;
}

body * {
  box-sizing: border-box;
}

.sans {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}

.eigo {
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  letter-spacing: 0.5rem;
}

img {
  width: 100%;
  height: auto;
  border-style: none;

}

*:focus {
  outline: none;
}

.red {
  color: #ff0033;
}


/*---------------------------------------------
	Anchor
---------------------------------------------*/
a {
  outline: none;
}

a:link {
  color: #211815;
  text-decoration: none;
}

a:visited {
  color: #211815;
  text-decoration: none;
}

a:hover {
  color: #90278c;
  text-decoration: none;
}

a:active {
  color: #90278c;
  text-decoration: none;
}

a {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}


p {
  margin-bottom: 1em;
}

.only_pc_none {
  display: none;
}

.only_sp_none {
  display: block;
}

.sp_br {
  display: none;
}

.br_480 {
  display: none;
}

.br_420 {
  display: none;
}

.br_480_over {
  display: inline;
}

.sp_480_over {
  display: block;
}

.sp_480_under {
  display: none;
}

.sp_contact {
  display: none;
}

#anc_concept,
#anc_location,
#anc_map,
#anc_plan,
#anc_detail {
  padding-top: 80px;
  margin-top: -90px;
  pointer-events: none;
  display: block;
}



/*---------------------------------------------
 ** ON OFF hover
---------------------------------------------*/
.hover {
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}

.hover:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
}

/*---------------------------------------------
 ** 共通
---------------------------------------------*/

.scroll-up.done,
.scroll-fade.done {
  opacity: 1;
  transform: translate(0, 0);
}

.load-fade {
  opacity: 0;
  transition: all 4s
    /*処理にかかる時間*/
  ;
}

.load-up {
  opacity: 0;
  transform: translateY(30px)
    /*スクロールアップする距離*/
  ;
  transition: all 4s
    /*処理にかかる時間*/
  ;
}

.load-up.done,
.load-fade.done {
  opacity: 1;
  transform: translate(0, 0);
}

.btn {
  height: 40px;
  line-height: 40px;
  text-align: center;
  outline: none;
}

.btn a {
  display: inline-block;
  background: #013b64;
  color: #fff;
  padding: 0 5%;
  box-sizing: border-box;
}

.btn a i.fa-file-alt {
  font-size: 280%;
  vertical-align: -1px;
  padding-right: 2px;
}

.btn a:hover {
  background: #33719d;
}

.btn_tri {
  height: 65px;
  line-height: 65px;
  text-align: center;
  outline: none;
  font-size: 110%;
}

.btn_tri a {
  display: inline-block;
  background: #013b64;
  color: #fff;
  padding: 0 3%;
  box-sizing: border-box;
  border-radius: 8px;
}

.btn_tri a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f0da";
  padding-right: 8px;
}

.btn_tri a:hover {
  background: #33719d;
}

#side_btn {
  width: 58px;
  position: absolute;
  right: 20px;
  top: 80px;
  z-index: 3;
  line-height: 1.4;
  z-index: 99;
  transition: all 0.5s;
}

.header_fixed #side_btn {
  position: fixed;
}

#side_btn a:nth-of-type(1) {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-align: center;
  letter-spacing: 0.5rem;
  display: block;
  padding: 35px 20px;
  font-size: 160%;
  color: #fff;
  transition: all 0.5s;
  background: #90278c;
  margin-bottom: 20px;
}

#side_btn a:nth-of-type(2) {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-align: center;
  letter-spacing: 0.5rem;
  display: block;
  padding: 35px 20px;
  font-size: 160%;
  color: #fff;
  transition: all 0.5s;
  background: #0071b9;
}

#side_btn a:nth-of-type(1):hover,
#side_btn a:nth-of-type(2):hover {
  padding: 60px 20px;
  opacity: 0.9;
}

@media screen and (max-width: 1200px) {

  #side_btn {
    width: 50px;
    right: 13px;
  }

  #side_btn a:nth-of-type(1),
  #side_btn a:nth-of-type(2) {
    padding: 30px 15px;
    font-size: 140%;
  }

  #side_btn a:nth-of-type(1):hover,
  #side_btn a:nth-of-type(2):hover {
    padding: 60px 15px;
  }
}



.white_slide {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative;
}

.white_slide img {
  opacity: 0;
}

.white_slide.white_slide_on img {
  width: 100%;
  height: auto;
  object-fit: cover;
  z-index: -1;
  opacity: 0;
  animation: apper_img 2s forwards;
  animation-delay: 0;
}

#newstage .white_slide.white_slide_on img {
  width: 90%;
}


.white_slide.white_slide_on::before {
  animation: apper_right 2s forwards;
  background: #fff;
  bottom: 0;
  content: '';
  pointer-events: none;
  position: absolute;
  left: 0px;
  right: 0;
  top: 0;
  z-index: 1;
  animation-delay: 0;
  transform: translateX(100%);
}

.white_slide2.white_slide_on2::before {
  animation: apper_left 2s forwards;
}



@keyframes apper_img {
  0% {
    opacity: 0;
  }

  40% {
    opacity: 0;
  }

  45% {
    opacity: 1;
  }

  100% {
    opacity: 1;
  }
}

@keyframes apper_right {
  40% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes apper_left {
  40% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(100%);
  }
}

/* ジャンプする動き */
.jump {
  opacity: 0;
}

.jump_on {
  animation: poyoyon 1s ease-in-out 1 forwards;
  animation-delay: 0;
}

@keyframes poyoyon {
  0% {
    transform: scale(0.5, 0.5) translate(0, 0);
  }

  15% {
    transform: scale(0.7, 0.7) translate(0, 8px);
  }

  30% {
    transform: scale(1.02, 1.0) translate(0, 12px);
  }

  50% {
    transform: scale(0.98, 1.05) translate(0, -12px);
  }

  70% {
    transform: scale(1.0, 0.9) translate(0, 8px);
  }

  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }

  0%,
  100% {
    opacity: 1;
  }
}

/* テキスト1文字ずつフェードイン */



.textup_anime {
  margin-bottom: 0;
  background: none !important;
  line-height: 1.0;
  letter-spacing: 0.5rem;
  font-family: 'Outfit', sans-serif;
}

.textup_anime>div {
  opacity: 0;
}

.textup_anime_on>div {
  opacity: 1;
}


.textup_anime div p {
  display: inline-block;
  transform-origin: center center;
  transform: translate3d(0, 100px, 0);
  margin-bottom: 0 !important;
}

.textup_anime div p span {
  transform-origin: center center;
  transform: scale3d(0.1, 0.1, 1);
  opacity: 0;
  font-size: 100% !important;
}

.textup_anime_on p:nth-child(1) {
  transition: transform 0.8s ease 0.1s;
}

.textup_anime_on p:nth-child(1) span {
  transition: transform 0.8s ease 0.1s, opacity 0.8s ease 0.1s;
}

.textup_anime_on p:nth-child(2) {
  transition: transform 0.8s ease 0.2s;
}

.textup_anime_on p:nth-child(2) span {
  transition: transform 0.8s ease 0.2s, opacity 0.8s ease 0.2s;
}

.textup_anime_on p:nth-child(3) {
  transition: transform 0.8s ease 0.3s;
}

.textup_anime_on p:nth-child(3) span {
  transition: transform 0.8s ease 0.3s, opacity 0.8s ease 0.3s;
}

.textup_anime_on p:nth-child(4) {
  transition: transform 0.8s ease 0.4s;
}

.textup_anime_on p:nth-child(4) span {
  transition: transform 0.8s ease 0.4s, opacity 0.8s ease 0.4s;
}

.textup_anime_on p:nth-child(5) {
  transition: transform 0.8s ease 0.5s;
}

.textup_anime_on p:nth-child(5) span {
  transition: transform 0.8s ease 0.5s, opacity 0.8s ease 0.5s;
}

.textup_anime_on p:nth-child(6) {
  transition: transform 0.8s ease 0.6s;
}

.textup_anime_on p:nth-child(6) span {
  transition: transform 0.8s ease 0.6s, opacity 0.8s ease 0.6s;
}

.textup_anime_on p:nth-child(7) {
  transition: transform 0.8s ease 0.7s;
}

.textup_anime_on p:nth-child(7) span {
  transition: transform 0.8s ease 0.7s, opacity 0.8s ease 0.7s;
}

.textup_anime_on p:nth-child(8) {
  transition: transform 0.8s ease 0.8s;
}

.textup_anime_on p:nth-child(8) span {
  transition: transform 0.8s ease 0.8s, opacity 0.8s ease 0.8s;
}

.textup_anime_on p:nth-child(9) {
  transition: transform 0.8s ease 0.9s;
}

.textup_anime_on p:nth-child(9) span {
  transition: transform 0.8s ease 0.9s, opacity 0.8s ease 0.9s;
}

.textup_anime_on p:nth-child(10) {
  transition: transform 0.8s ease 1.0s;
}

.textup_anime_on p:nth-child(10) span {
  transition: transform 0.8s ease 1.0s, opacity 0.8s ease 0.6s;
}

.textup_anime_on p:nth-child(11) {
  transition: transform 0.8s ease 1.1s;
}

.textup_anime_on p:nth-child(11) span {
  transition: transform 0.8s ease 1.1s, opacity 0.8s ease 0.7s;
}

.textup_anime_on p:nth-child(12) {
  transition: transform 0.8s ease 1.2s;
}

.textup_anime_on p:nth-child(12) span {
  transition: transform 0.8s ease 1.2s, opacity 0.8s ease 0.8s;
}

.textup_anime_on p:nth-child(13) {
  transition: transform 0.8s ease 1.3s;
}

.textup_anime_on p:nth-child(13) span {
  transition: transform 0.8s ease 1.3s, opacity 0.8s ease 0.9s;
}

.textup_anime_on p {
  transform: translate3d(0, 0, 0) !important;
}

.textup_anime_on p span {
  display: block !important;
  transform: scale3d(1, 1, 1) !important;
  opacity: 1 !important;
}

.textup_anime p {
  display: inline-block;
  transform-origin: center center;
  transform: translate3d(0, 40px, 0);
  margin-bottom: 0 !important;
}

.textup_anime p span {
  transform-origin: center center;
  transform: scale3d(0.1, 0.1, 1);
  opacity: 0;
  font-size: 100% !important;
}

.textup_anime_on p:nth-child(1) {
  transition: transform 0.8s ease 0.1s;
}

.textup_anime_on p:nth-child(1) span {
  transition: transform 0.8s ease 0.1s, opacity 0.8s ease 0.1s;
}

.textup_anime_on p:nth-child(2) {
  transition: transform 0.8s ease 0.2s;
}

.textup_anime_on p:nth-child(2) span {
  transition: transform 0.8s ease 0.2s, opacity 0.8s ease 0.2s;
}

.textup_anime_on p:nth-child(3) {
  transition: transform 0.8s ease 0.3s;
}

.textup_anime_on p:nth-child(3) span {
  transition: transform 0.8s ease 0.3s, opacity 0.8s ease 0.3s;
}

.textup_anime_on p:nth-child(4) {
  transition: transform 0.8s ease 0.4s;
}

.textup_anime_on p:nth-child(4) span {
  transition: transform 0.8s ease 0.4s, opacity 0.8s ease 0.4s;
}

.textup_anime_on p:nth-child(5) {
  transition: transform 0.8s ease 0.5s;
}

.textup_anime_on p:nth-child(5) span {
  transition: transform 0.8s ease 0.5s, opacity 0.8s ease 0.5s;
}

.textup_anime_on p:nth-child(6) {
  transition: transform 0.8s ease 0.6s;
}

.textup_anime_on p:nth-child(6) span {
  transition: transform 0.8s ease 0.6s, opacity 0.8s ease 0.6s;
}

.textup_anime_on p:nth-child(7) {
  transition: transform 0.8s ease 0.7s;
}

.textup_anime_on p:nth-child(7) span {
  transition: transform 0.8s ease 0.7s, opacity 0.8s ease 0.7s;
}

.textup_anime_on p:nth-child(8) {
  transition: transform 0.8s ease 0.8s;
}

.textup_anime_on p:nth-child(8) span {
  transition: transform 0.8s ease 0.8s, opacity 0.8s ease 0.8s;
}

.textup_anime_on p:nth-child(9) {
  transition: transform 0.8s ease 0.9s;
}

.textup_anime_on p:nth-child(9) span {
  transition: transform 0.8s ease 0.9s, opacity 0.8s ease 0.9s;
}

.textup_anime_on p:nth-child(10) {
  transition: transform 0.8s ease 1s;
}

.textup_anime_on p:nth-child(10) span {
  transition: transform 0.8s ease 1s, opacity 0.8s ease 1s;
}

.textup_anime_on p:nth-child(11) {
  transition: transform 0.8s ease 1.1s;
}

.textup_anime_on p:nth-child(11) span {
  transition: transform 0.8s ease 1.1s, opacity 0.8s ease 1.1s;
}

.textup_anime_on>p {
  transform: translate3d(0, 0, 0) !important;
}

.textup_anime_on>p span {
  display: block !important;
  transform: scale3d(1, 1, 1) !important;
  opacity: 1 !important;
}




header {
  width: 100%;
  z-index: 3;
  position: absolute;
  top: 0;
  background: #fff;
}

.header_fixed {
  position: fixed;
  background: #ffffffeb;
  animation-name: header-animation;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  box-shadow: 0 0px 5px #bbb;
}

@keyframes header-animation {
  from {
    opacity: 0;
    transform: translateY(-200px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#header_in {
  width: 95%;
  height: 140px;
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  transition: all 0.3s;
}


#header_in_sp {
  display: none;
}

#header_in h1 {
  width: 350px;
  padding-top: 10px;
}

.header_fixed #header_in {
  height: 110px;
}

.header_fixed #header_in h1 {
  width: 270px;
  padding-top: 10px;
}


header #nav_pc {
  width: 900px;
  margin: 0 auto;
  position: absolute;
  bottom: 5px;
  right: 0;
  left: 0;
}

header #nav_pc>div {
  display: flex;
  box-sizing: border-box;
  align-items: flex-start;
  justify-content: space-around;
  position: relative;
}

header #nav_pc>div>ul {
  display: flex;
  box-sizing: border-box;
  padding: 0;
  margin-bottom: 10px;
  position: relative;
  justify-content: space-between;
}

header #nav_pc>div>ul>li {
  position: relative;
  display: block;
  text-align: center;
}

header #nav_pc>div>ul>li a {
  padding: 5px 40px 5px;
  box-sizing: border-box;
  display: block;
  white-space: nowrap;
  position: relative;
  font-size: 110%;
  text-align: center;
  line-height: 1.2;
}



header #nav_pc>div>ul>li:before {
  content: '';
  width: 1px;
  height: 15px;
  background: #211815;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

header #nav_pc>div>ul>li:first-child:after {
  content: '';
  width: 1px;
  height: 15px;
  background: #211815;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

#nav_pc #global_nav ul {
  display: none;
  position: absolute;
  top: 60px;
}

#nav_pc #global_nav ul li {
  width: 100%;
  margin: 0 0;
}

header #nav_pc div div {
  width: 220px;
  color: #fff !important;
  box-sizing: border-box;
  padding: 8px 0;
  text-align: center;
  display: block;
  margin-top: 18px;
  position: absolute;
  top: -50px;
  right: 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

#nav_pc li {
  position: relative;
}


header #nav_pc li a:hover {
  color: #211815 !important;
}

header #nav_pc div div a::after {
  content: '';
  display: inline-block;
  left: 3px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #211815;
  border-right: 1px solid #211815;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 12px;
  margin: auto 0 auto auto;
}

header #nav_pc>div>div>a:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

#header_in>img {
  width: 260px;
  position: absolute;
  top: 12px;
  right: 190px;
}

.slide-line {
  position: absolute;
  width: 0;
  bottom: -10px;
  height: 4px;
  background-color: #8f82bc;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  pointer-events: none;
}

#nav_pc li:hover .slide-line {
  margin-left: -35px;
}

header #nav_pc>div>ul>li a::before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 0;
  right: 0;
  left: 0;
  height: 4px;
  background-color: #a12d3a;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  pointer-events: none;
}

.sub_nav {
  width: 350px;
  position: absolute;
  right: 0;
  top: 25px;
  display: flex;
  justify-content: right;
  align-items: flex-start;
}

.sub_nav li {
  width: 40%;
  margin-left: 5%;
  padding-right: 20px;
  text-align: right;
}

.sub_nav li a {
  display: inline-block;
  position: relative;
  line-height: 1.0;
}


.sub_nav li a:before {
  content: '';
  top: 3px;
  right: -15px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  vertical-align: middle;
  transition: all 0.5s;
}

.sub_nav li a:hover:before {
  right: -20px;
  border-top: 1px solid #90278c;
  border-right: 1px solid #90278c;
}


.mm-page {
  width: 100%;
  overflow: hidden;
}



/*---------------------------------------------
 ** トップページ
---------------------------------------------*/


#main {
  min-height: 900px;
  background: url(../img/top_bg01.jpg) no-repeat top center;
  background-size: cover;
  background-attachment: fixed;
  position: relative;
  padding: 18% 0 10%;
  text-align: center;
  z-index: 2;
  margin-top: 120px;
}


.main_catch {
  font-size: 360%;
  font-weight: 600;
  z-index: 2 !important;
  margin-bottom: 4%;
}

#main h2 {
  font-size: 360%;
  z-index: 2 !important;
  position: relative;
  line-height: 1.6;
  margin-bottom: 4%;
}

#main p {
  font-size: 120%;
  z-index: 2 !important;
  position: relative;
}

.main_cubic {
  width: 800px;
  height: 454px;
  position: absolute;
  top: 5%;
  right: 0;
  left: 0;
  margin: 0 auto;
  text-align: center;
  z-index: 0 !important;
}

.main_cubic div {
  width: 100%;
  height: 100%;
  position: relative;
}

.main_cubic img:nth-child(1) {
  width: 50%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.main_cubic img:nth-child(2) {
  width: 50%;
  position: absolute;
  top: 44%;
  left: 0;
  right: 0;
  margin: 0 auto;
  opacity: 0;
}

.main_cubic img:nth-child(3) {
  width: 50%;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
}

/* アニメーション */
/* 少し回転して下から */
.rotate-fadeUp {
  animation-name: rotate-fadeUp-animation;
  /* アニメーションの時間。適宜変更してください。 */
  animation-duration: 1s;
  animation-delay: 3s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes rotate-fadeUp-animation {
  from {
    opacity: 0;
    /* 　　translateYで100px下からフェードアップさせる処理 */
    /* 　　rotateで10deg回転して傾きを加えている */
    /* 　　これらは適宜変更してください */
    transform: translateY(100px) rotate(40deg);
  }

  to {
    opacity: 1;
    transform: translateY(0) rotate(0);
  }
}



#top_point {
  min-height: 900px;
  background: url(../img/top_bg02_new.jpg) no-repeat center center;
  background-size: auto 100%;
  /*  background-attachment: fixed; */
  position: relative;
  padding: 50px 0 50%;
  text-align: center;
  z-index: 2;
}

@media screen and (max-width: 1000px){
	#top_point{
	background: url(../img/top_bg02_sp_new.jpg) no-repeat center center;
    background-size: cover;
	min-height: 900px;
	}
}

@media screen and (min-width: 1400px) {
  #top_point {
    min-height: 900px;
    background: url(../img/top_bg02_new.jpg) no-repeat center center;
    background-size: cover;
  }
}

#top_point>div {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

#top_point>div dl {
  width: 33%;
  text-align: center;
  position: relative;
}

#top_point>div dl dt {
  font-size: 240%;
  font-weight: 700;
}

.p_active dt {
  color: #333333;
}

.p_quality dt {
  color: #333333;
}

.p_design dt {
  color: #333333;
}

#top_point>div dl dd {
  font-size: 130%;
  line-height: 1.8;
  letter-spacing: 0.1rem;
  color: #ffffff;
}

.p_active::before {
  content: '';
  width: 40%;
  height: 290px;
  display: block;
  background: linear-gradient(114deg, transparent 50%, white 50%, white 50.5%, transparent 50.5%);
  position: absolute;
  right: -70px;
  top: -50px;
}

.p_quality::before {
  content: '';
  width: 40%;
  height: 290px;
  display: block;
  background: linear-gradient(114deg, transparent 50%, white 50%, white 50.5%, transparent 50.5%);
  position: absolute;
  right: -90px;
  top: -50px;
}

@media screen and (max-width: 1200px) {

  #top_point>div dl {
    font-size: 80%;
  }

  .p_active::before,
  .p_quality::before {
    background: linear-gradient(90deg, transparent 50%, white 50%, white 50.5%, transparent 50.5%);
  }

  .p_active::before {
    right: -60px;
  }
}



#top_location {
  min-height: 900px;
  background: url(../img/top_bg03.jpg) no-repeat center center;
  background-size: cover;
  /*background-attachment: fixed;*/
  position: relative;
  padding: 50px 0 50%;
  text-align: right;
  z-index: 1;
}

#top_location>div {
  width: 30%;
  position: absolute;
  right: 5%;
  top: 40%;
  transition: all 0.5s;
  opacity: 0;
  text-align: center;
}


#home h3 span {
  font-size: 240%;
  font-weight: 700;
  letter-spacing: 0.2rem;
  display: block;
  line-height: 1.6;
}


#top_position {
  background: #70b4e4;
  position: relative;
  padding: 50px 0 50px 0;
  text-align: center;
  z-index: 1;
}

#top_position>div {
  width: 95%;
  max-width: 1200px;
  margin: 7% auto 10%;
  position: relative;
}

.m_nishiakashi {
  width: 40%;
  max-width: 400px;
  background: url(../img/top_position01.png) no-repeat left top;
  background-size: 70% auto;
  font-size: 120%;
  padding: 7% 0 10% 19%;
  text-align: left;
  position: absolute;
  left: 0;
  top: 0;
  box-sizing: border-box;
  line-height: 1.6;
  text-indent: -1.2rem;
}

.m_fujie {
  width: 30%;
  max-width: 300px;
  background: url(../img/top_position02.png) no-repeat left top;
  background-size: 70% auto;
  font-size: 120%;
  padding: 7% 0 10% 12.5%;
  text-align: left;
  position: absolute;
  right: 0;
  top: -80px;
  line-height: 1.6;
  text-indent: -1.2rem;
}


#top_position ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

#top_position ul li {
  width: 33.333%;
  display: block;
  position: relative;
  overflow: hidden;
  text-align: center;
}


#top_position ul li span {
  display: inline-block;
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  font-size: 300%;
  color: #fff;
  position: absolute;
  top: 33%;
  right: 0;
  left: 0;
  margin: 0 auto;
  text-shadow: 0px 0px 8px #555;
}

@media screen and (max-width: 1200px) {
  #top_position ul li span {
    font-size: 200%;
  }
}



#top_plan {
  min-height: 900px;
  background: url(../img/top_bg04.jpg) no-repeat center center;
  background-size: cover;
  /*background-attachment: fixed;*/
  position: relative;
  padding: 50px 0 50%;
  text-align: right;
  z-index: 1;
}

#top_plan>div {
  width: 30%;
  position: absolute;
  left: 5%;
  top: 40%;
  transition: all 0.5s;
  opacity: 0;
  text-align: center;
}


#home h3 span {
  font-size: 240%;
  font-weight: 700;
  letter-spacing: 0.2rem;
  display: block;
  line-height: 1.6;
}





.readmore a {
  display: inline-block;
  transition: all 0.5s;
  background: url(../img/arrow.png) no-repeat right 10px center;
  background-size: 40px 40px;
  font-family: 'Outfit', sans-serif;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 60px;
  padding-left: 20px;
}

.readmore a:hover {
  display: inline-block;
  transition: all 0.5s;
  background: url(../img/arrow.png) no-repeat right 0 center;
  background-size: 40px 40px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 60px;
}


footer {
  z-index: 2;
  position: relative;
  background: #fff;
}

#footer01 {
  background: #8f82bc;
  padding: 2% 0;
  position: relative;
}

#footer01>div:nth-child(1) {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
}

#footer01>div p:first-child {
  font-size: 110%;
  letter-spacing: 0.1rem;
  line-height: 1.6;
}


#footer01>div a {
  width: 60%;
  max-width: 450px;
  display: block;
  margin: 2% auto 3%;
}

#footer02>div:nth-child(1) {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

#footer02>div:nth-child(1) a {
  width: 170px;
  display: block;
  margin: 5% auto 2%;
}


#footer_fixed {
  display: none;
}


#copy {
  transform: scale(0.8);
  text-align: center;
  font-size: 80%;
  padding: 8px 0;
  margin: 0 0 0;
}


#pageTop {
  position: absolute;
  top: 15%;
  right: 5%;
  z-index: 1;
}

#pageTop a {
  display: block;
  width: 45px !important;
  height: 45px !important;
  background: url(../img/page_top.png) no-repeat;
  background-size: 100%;
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 0px;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.5;
}


/*---------------------------------------------
 ** 下層ページ
---------------------------------------------*/

#main_location {
  z-index: 0;
  padding: 100px 0 5%;
  position: relative;
  margin-top: 100px;
}

#main_location::before {
  content: '';
  width: 100%;
  height: 1100px;
  display: block;
  background: url(../img/location/loca_main.jpg) no-repeat top center;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

#main_location>div {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

#main_location .catch {
  color: #70b4e4;
  font-size: 300%;
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1.8;
}

#main_location h2 {
  color: #70b4e4;
  font-size: 500%;
  font-weight: 400;
  line-height: 1.8;
  margin-bottom: 2%;
}

#main_location .catch2 {
  font-size: 140%;
  margin-bottom: 2%;
}

#main_location .read {
  margin-bottom: 7%;
}

#main_location ul {
  max-width: 750px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}

#main_location ul li {
  width: 29%;
  display: block;
  margin: 0 4% 3% 0;
  font-size: 90%;
}

#main_location ul li:nth-child(3n) {
  margin: 0 0 3% 0;
}

#main_location ul li img {
  margin-bottom: 2px;
}

#location #content {
  background: #203253;
  z-index: 2;
  position: relative;
}

#loca_town01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  color: #fff;
  font-size: 90%;
  margin-bottom: 5%;
}

#loca_town01 dl {
  width: calc((100% - 8px) / 5);
  margin-right: 2px;
  display: block;
  text-align: center;
  padding: 550px 0 30px 0;
  line-height: 1.6;
}

#loca_town01 dl:nth-child(5n) {
  margin-right: 0;
}

.town01_01 {
  background: url(../img/location/town01_01.jpg) no-repeat bottom 0px center;
  background-size: cover;
}

.town01_02 {
  background: url(../img/location/town01_02.jpg) no-repeat bottom 0px center;
  background-size: cover;
}

.town01_03 {
  background: url(../img/location/town01_03.jpg) no-repeat bottom 0px center;
  background-size: cover;
}

.town01_04 {
  background: url(../img/location/town01_04.jpg) no-repeat bottom 0px center;
  background-size: cover;
}

.town01_05 {
  background: url(../img/location/town01_05.jpg) no-repeat bottom 0px center;
  background-size: cover;
}


#loca_town01 dl dt {
  font-size: 100%;
  margin-bottom: 3px;
}

#loca_town01 dl dd {
  font-size: 90%;
}

#loca_town02 h3 {
  width: 90%;
  font-size: 240%;
  text-align: center;
  margin: 0 auto 3%;
  color: #70b4e4;
}

#loca_town02>div {
  width: 90%;
  max-width: 1200%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  color: #fff;
  font-size: 90%;
  padding-bottom: 5%;
}

#loca_town02>div dl {
  width: 31%;
  margin-right: 3.5%;
  margin-bottom: 3%;
}

#loca_town02>div dl:nth-child(3n) {
  margin-right: 0%;
}

#loca_town02>div dl dt {
  margin-bottom: 2%;
}

#loca_town02>div dl dt img {
  outline: 1px solid #203253;
  display: block;
  outline-offset: -1px;
}

#loca_town02>div dl dd {
  font-size: 90%;
  text-align: center;
  line-height: 1.8;
}

#loca_town02>div dl dd span {
  font-size: 120%;
  display: block;
}

#town_data {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 4% 0;
  text-align: center;
  color: #fff;
}

#town_data>dl {
  width: 90%;
  max-width: 500px;
  margin: 0 auto 2%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

#town_data>dl dt {
  width: 220px;
  text-align: left;
}

#town_data>dl dd {
  width: calc(100% - 220px);
  display: flex;
  align-items: flex-start;
}

#town_data>dl dd span:nth-of-type(1) {
  width: 60px;
  text-align: left;
  display: block;
}

#town_data>dl dd span:nth-of-type(2) {
  width: calc(100% - 60px);
  text-align: center;
  display: block;
}


#town_data>p {
  font-size: 85%;
  text-align: center;
}

#loca_map {
  width: 90%;
  max-width: 980px;
  margin: 0 auto;
  padding: 5% 0 8%;
}

#loca_map>a {
  width: 70%;
  max-width: 400px;
  display: block;
  margin: 0 auto 5%;
  transition: all 0.5s;
}

#loca_map>a:hover {
  transform: scale(1.1);
}

@media screen and (max-width: 1200px) {
  #loca_town01 dl {
    padding: 380px 0 0 0;
  }
}

@media screen and (max-width: 1000px) {
  #loca_town01 dl {
    padding: 330px 0 0 0;
  }

  .town01_01 {
    background: url(../img/location/town01_01.jpg) no-repeat top 0px center;
    background-size: 100% 95%;
  }

  .town01_02 {
    background: url(../img/location/town01_02.jpg) no-repeat top 0px center;
    background-size: 100% 95%;
  }

  .town01_03 {
    background: url(../img/location/town01_03.jpg) no-repeat top 0px center;
    background-size: 100% 95%;
  }

  .town01_04 {
    background: url(../img/location/town01_04.jpg) no-repeat top 0px center;
    background-size: 100% 95%;
  }

  .town01_05 {
    background: url(../img/location/town01_05.jpg) no-repeat top 0px center;
    background-size: 100% 95%;
  }


  #loca_town02 h3 {
    font-size: 200%;
  }
}


#main_position {
  z-index: 0;
  padding: 100px 0 5%;
  position: relative;
  min-height: 1300px;
  margin-top: 100px;
  background: url(../img/position/position_main_bg.jpg) no-repeat top center;
  background-size: cover;
  background-attachment: fixed;
  text-align: center;
}

#main_position::before {
  content: '';
  width: 1600px;
  height: 120%;
  display: block;
  background: url(../img/position/main_position6.jpg) no-repeat center center #8ed0f2;
  background-size: 100% auto;
  margin: 0 auto;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

#main_position>div {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

#main_position .catch {
  color: #fff;
  font-size: 300%;
  font-weight: 600;
  margin-bottom: 2%;
  line-height: 1.8;
  text-shadow: 0px 0px 8px #3b96c1;
}

#main_position h2 {
  color: #fff;
  font-size: 350%;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 2%;
  letter-spacing: 0.5rem;
  text-shadow: 0px 0px 8px #3b96c1;
}

#position #content {
  background: #e7f0f8;
  z-index: 2;
  position: relative;
  padding: 5% 0;
}

#access_photo {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto 5%;
}

#access_photo ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

#access_photo ul li {
  width: 50%;
  display: block;
}

#position #top_position {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  background: none;
  padding: 0;
  font-size: 80%;
}

#position #top_position h3 {
  font-size: 250%;
  text-align: center;
  margin-bottom: 5%;
}

#train_map {
  width: 90%;
  max-width: 1200px;
  margin: 5% auto 0;
  text-align: center;
  padding-bottom: 5%;
}

#train_map>img {
  max-width: 760px;
  margin: 0 auto 5%;
}

#train_map>img+p {
  max-width: 760px;
  margin: 0 auto;
  font-size: 80%;
  text-align: left;
}

#train_map>ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 10%;
}

#train_map>ul li:nth-child(1) {
  width: 40%;
}

#train_map>ul li:nth-child(2) {
  width: 50%;
}



@media screen and (max-width: 1500px) {
  #main_position {
    min-height: 1100px;
    background: none;
  }

  #main_position::before {
    width: 100%;
    height: 1200px;
    background: url(../img/position/main_position6.jpg) no-repeat bottom center #8ed0f2;
    background-size: 100% auto;
  }

  #position #top_position h3 {
    font-size: 200%;
  }

}

@media screen and (max-width: 1200px) {
  #main_position {
    min-height: 900px;
  }

  #main_position::before {
    height: 1000px;
  }
}


/*---------------------------------------------
 ** プラン 2025追加
---------------------------------------------*/

#main_plan {
  z-index: 0;
  padding: 100px 0 5%;
  position: relative;
  margin-top: 100px;
}

#main_plan::before {
  content: '';
  width: 100%;
  height: 1100px;
  display: block;
  background: url(../img/plan/plan_main.jpg) no-repeat top center;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

#main_plan>div {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

#main_plan .catch{
  color: #d798c1;
  font-size: 300%;
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1.8;
}

#main_plan h2 {
 text-shadow: 0px 0px 14px rgba(255, 255, 255, 0.9);
  color: #d798c1;
  font-size: 500%;
  font-weight: 400;
  line-height: 1.8;
  margin-bottom: 2%;
}

#main_plan .catch2 {
  font-size: 140%;
  margin-bottom: 2%;
}

#main_plan .read {
  margin-bottom: 7%;
}

#main_plan ul {
  max-width: 750px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}

#main_plan ul li {
  width: 40%;
  display: block;
  margin: 0 4% 3% 0;
  font-size: 80%;
  text-align:right;
}

#main_plan ul li:nth-child(2n) {
  margin: 0 0 3% 0;
}

#main_plan ul li img {
  margin-bottom: 2px;
}


#plan #content {
  background: #f7ebf3;
  z-index: 2;
  position: relative;
}

#main_plan02 h3 {
  width: 90%;
  font-size: 210%;
  text-align: center;
  margin: 0 auto 3%;
  color: #000;
  line-height:1.7;
}

.tac-all{text-align:center;}

#main_plan02 .catch{
  color: #d798c1;
  font-size: 300%;
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1.8;
  padding-top:60px;
}

#main_plan02 .main_img02{
position:relative;
margin-top:-200px;
}

#plan_map{
position:relative;
max-width:1200px;
padding-left:5%;
padding-right:5%;
text-align:center;
margin:3% auto 6%;
}

#plan_map .p01{
max-width:60%;
}

#plan_map .comment{
max-width:268px;
position:absolute;
right:-5%;
top:8%;
}

.mx-img{
max-width:100% !important
height:auto !important;
}

#plan_map .map{
max-width:1150px;
margin:0 auto;
text-align:center;
}

#plan_map .park_box{
max-width:628px;
position:absolute;
left:0;
bottom:1%;
display: flex;
align-items: flex-end;
justify-content: space-between;
flex-wrap: wrap;
}

#plan_map .park_box .img{
width:60%;
}

#plan_map .park_box .txt{
width:34%;
text-align:left;
line-height:1.7;
}

#plan_map .park_box .txt p{
font-size:90%;
}

#plan_map .park_box .txt h4{
font-size:140%;
margin-bottom:15px;
}


#plan_design{
position:relative;
max-width:1200px;
padding-left:5%;
padding-right:5%;
text-align:center;
margin:0 auto 0;
padding-bottom:3%;
background:#f0dce9;
margin-bottom:3%;
}



#plan_design .catch{
  color: #d798c1;
  font-size: 300%;
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1.8;
  position:relative;
  top:-45px;
}

#plan_design h3 {
  width: 90%;
  font-size: 210%;
  text-align: center;
  margin: 0 auto 3.6%;
  color: #000;
  line-height:1.6;
}

#plan_design ul {
  max-width: 750px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#plan_design ul li {
text-align:left;
  width: 46%;
}

#plan_design ul li h4{
font-size:160%;
line-height:1.6;
}

#plan_design ul li p{
font-size:100%;
line-height:1.6;
}

#plan_design ul li img {
  max-width:100%;
  height:auto;
  margin-bottom: 8px;
}




#plan_model{
position:relative;
max-width:1320px;
padding-left:5%;
padding-right:5%;
text-align:center;
margin:0 auto 0;
padding-bottom:5%;
}

#plan_model .catch{
  color: #d798c1;
  font-size: 300%;
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1.2;
  position:relative;
}

#plan_model .model_ttl{
max-width:960px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-left:auto;
margin-right:auto;
margin-bottom:70px;
align-items:center;
}


.model_ttl .p01{
vertical-align:middle;
}

.model_ttl .p03{
font-size:80%;
font-weight:500;
width:23%;
}

.model_ttl .p03 ul{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
text-align:left !important;
border-right:solid 1px;
padding-right:20px;
}

.model_ttl .p03 ul .li01{
width:50%;
}

.model_ttl .p04{
font-size:120% !important;
font-weight:500;
line-height:1.5 !important;
width:35%;
}



#plan_model h3{
font-size:150%;
font-weight:600;
}

#plan_model .p05{
margin:1% 0 7%;
font-size:110%;
font-weight:500;
text-align:center;
line-height:1.9;
}

#plan_model .madori{
margin-left:auto;
margin-right:auto;
}
#plan_model .madori img{
max-width:100% !important
height:auto !important;
}

#plan_model .madori01{max-width:828px;}
#plan_model .madori02{max-width:828px;}
#plan_model .madori03{max-width:1116px;}
#plan_model .madori04{max-width:1109px;}
#plan_model .madori05{max-width:1070px;}
#plan_model .madori06{max-width:1072px;}

.plan_model_in{
padding:4% 0 6%;
border-bottom:solid 1px #d798c1;
}

#last_model{
border-bottom:none !important;
}

.sponly01{display:none;}


@media screen and (max-width: 1390px) {
#plan_map .comment{
max-width:220px;
right:3%;
top:-5%;
}
}

@media screen and (max-width: 1290px) {

#plan_map{
max-width:1100px;
}

#plan_map .p01{
max-width:60%;
}

#plan_map .comment{
max-width:200px;
right:4%;
top:-5%;
}

#plan_map .map{
max-width:1100px;
}

#plan_map .park_box{
max-width:47%;
left:3%;
}

#plan_map .park_box .img{
width:50%;
}

#plan_map .park_box .txt{
width:45%;
text-align:left;
line-height:1.7;
}

#plan_map .park_box .txt p{
font-size:80%;
}

#plan_map .park_box .txt h4{
font-size:120%;
margin-bottom:10px;
}
}

@media screen and (max-width: 990px) {
#plan_map .comment{
max-width:160px;
right:10%;
top:-10%;
}

#main_plan02 h3 {
  font-size: 3vw;
  margin: 0 auto 8%;
}

#plan_design h3 {
font-size:3vw;
}

#plan_design ul li h4{
font-size:2.5vw;
}






#plan_model .model_ttl{
column-gap:2%;
}

.model_ttl .p01{
width:18%;
}

.model_ttl .p02{
width:9%;
}
.model_ttl .p03{
font-size:80%;
width:30%;
}

.model_ttl .p03 ul{
padding-right:1%;
}

.model_ttl .p04{
width:37%;
font-size:110%;
}
}


@media screen and (max-width: 767px) {

.sponly01{display:block;}

#main_plan02 .catch{
  color: #d798c1;
  font-size: 250%;
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1.8;
  padding-top:20px;
}

#main_plan02 h3 {
  font-size: 5.0vw;
  text-align: center;
  margin: 0 auto 3%;
  color: #000;
  line-height:1.7;
}

#main_plan02 .main_img02{
position:relative;
margin-top:-10%;
}

#plan_map{
margin-top:30px;
margin-bottom:50px;
}


#plan_map .p01{
max-width:70%;
}

#plan_map .comment{
max-width:120px;
position:absolute;
right:-3%;
top:-8%;
}

#plan_map .map{
margin:30px auto 0;
}

#plan_map .park_box{
max-width:100%;
position:relative;
left:auto;
bottom:auto;
align-items:flex-start;
margin-top:15px;
}

#plan_map .park_box .img{
width:47%;
}

#plan_map .park_box .txt{
width:50%;
}

#plan_map .park_box .txt p{
font-size:90%;
}

#plan_map .park_box .txt h4{
font-size:120%;
margin-bottom:8px;
}



#plan_design{
position:relative;
max-width:1320px;
padding-left:5%;
padding-right:5%;
text-align:center;
margin:0 auto 0;
padding-bottom:3%;
background:#f0dce9;
margin-bottom:3%;
}

#plan_design .catch{
  color: #d798c1;
  font-size: 250%;
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1.8;
  position:relative;
  top:-30px;
}

#plan_design h3 {
  width: 100%;
  font-size: 4.8vw;
  letter-spacing:0;
  text-align: center;
  margin: 0 auto 3.6%;
  color: #000;
  line-height:1.6;
  margin-top:-20px;
}

#plan_design ul {
  max-width: 750px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#plan_design ul li {
text-align:left;
  width: 47.5%;
}

#plan_design ul li h4{
font-size:3.8vw;
line-height:1.6;
}

#plan_design ul li p{
font-size:100%;
line-height:1.6;
}

#plan_design ul li img {
  max-width:100%;
  height:auto;
  margin-bottom: 8px;
}

#plan_model .catch{
  font-size: 250%;
}

#plan_model{
text-align:center;
padding-bottom:5%;
padding-top:4%;
}
.plan_model_in{
padding:6% 0 6%;
}

#plan_model .model_ttl{
max-width:100%;
justify-content: flex-start;
margin-bottom:10px;
column-gap:4%;
}

.model_ttl .p01{
width:25%;
}

.model_ttl .p02{
width:20%;
}
.model_ttl .p03{
font-size:80%;
width:47%;
}

.model_ttl .p03 ul{
border-right:none;
padding-right:0;
}

.model_ttl .p04{
width:100%;
padding-top:8px;
font-size:110%;
}

#plan_model h3{
font-size:4.8vw;
padding-top:3%;
}

#plan_model .p05{
margin:3% 0 5%;
font-size:100%;
text-align:left;
}

#plan_model .p05 br{
display:none;
}

}


/*---------------------------------------------
 ** 物件概要
---------------------------------------------*/

#outline #content {
  padding: 220px 0 5%;
  background: #eef6fc;
  z-index: 2;
  position: relative;
}

#outline #content .catch{
  color: #b01d36;
  font-size: 300%;
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1.2;
}

.outline_ttl{
margin-left:0 auto;
text-align:center;
}

.outline_ttl span{
  color: #b01d36 !important;
  font-size: 140% !important;
  font-weight:700;
  display:block !important;
}

.outline_dl_wrap{
max-width:1100px;
margin:5% auto;
padding-left:5%;
padding-right:5%;
}

.outline_dl_wrap dl{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
text-align:left !important;
border-bottom:solid 1px #333;
column-gap:2%;
padding:1.6% 0 1.6% 1%;
}
.outline_dl_wrap dl dt{
width:22%;
font-weight:bold;
} 


.outline_dl_wrap dl dd{
width:76%;
font-feature-settings: "palt";
}

@media screen and (max-width: 900px) {
#outline #content {
  padding: 100px 0 5%;
}
}

@media screen and (max-width: 767px) {
#outline #content {
  padding: 100px 0 5%;
}

#outline #content .catch{
  color: #b01d36;
  font-size: 260%;
}

.outline_ttl span{
  font-size: 120% !important;
}

.outline_dl_wrap dl dt{
width:30%;
} 


.outline_dl_wrap dl dd{
width:68%;
}

}