﻿@charset 'utf-8';
@import url('https://fonts.googleapis.com/css2?family=Quicksand&display=swap');
@import url@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@600&display=swap');
@import url@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* CSS Document */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
}
html {
  font-size: 62.5%;
}

/*-------------------- pankuzu */
#pankuzu ul {
  overflow: auto;
  padding: 0 10px;
  _zoom: 1;
}
#pankuzu li {
  float: left;
  list-style: none;
}
#pankuzu li+li:before {
  margin: 0 8px;
  content: '>';
}

/*-------------------- Frame */
#container {
  font-family: "Noto Sans JP", sans-serif, “游ゴシック”, YuGothic, Arial, Roboto, “Droid Sans”, “ヒラギノ角ゴ ProN W3″, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 1.7;
  clear: both;
  zoom: 1;
  width: 100%;
  margin: 0 auto !important;
}
.wrapper {
  position: relative;
  clear: both;
  width: 1000px;
  margin: 0 auto;
}

/*-------------------- often used */
a {
  text-decoration: none !important;
}
p,
li,
dt,
dd {
  text-align: inherit;
  text-justify: inherit;
}
ul.gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
ul.gallery li {
  position: relative;
  width: 33.33%;
  height: auto;
}
ul.gallery li img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
ul.gallery li span {
  display: block;
  padding-top: .2em;
}
#decision {
  padding: .15em 0;
  text-align: center;
  background: #ca0000;
  color: #FFF;
  font-size: 2.6rem;
  font-weight: bold;
}

/*-------------------- Button */
.button {
  width: 60%;
  margin: 0 auto;
  margin-top: 5em;
}
a.cp_btn {
  font-size: 1.4rem;
  position: relative;
  display: block;
  overflow: hidden;
  width: auto;
  padding: 1em .5em;
  text-align: center;
  text-decoration: none;
  color: #fff;
  border: solid 1px #fff;
  background: #333;
}
a.cp_btn:before {
  position: absolute;
  top: -25px;
  left: -20px;
  width: 20px;
  height: 150px;
  content: '';
  transition: .3s;
  transform: rotate(40deg);
  opacity: .3;
  background: #fff;
}
a.cp_btn:hover:before {
  left: 98%;
}

/*-------------------- main visual */
#title {
  position: relative;
  background: url(../img/bg_wall.jpg) no-repeat center center;
  background-size: cover;
}
p.title_logo {
  clear: both;
  overflow: hidden;
  height: 400px;
  margin-bottom: 0;
  white-space: nowrap;
  text-indent: 100%;
  background: url(../img/title.png) no-repeat center;
}
/*.info {
	text-align: center;
	padding: .5em 0;
	background: #7d00b7;
	color: #FFF;
	font-size: 1.8rem;
}*/
h2.part {
  font-family: 'Noto Serif JP', serif;
  font-size: 3.2rem;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 1em;
  text-align: center;
}
h2.part span {
  display: block;
}
h4.deco_green,
h4.deco_blue {
  font-family: 'Noto Serif JP', serif;
  font-size: 3.2rem;
  position: relative;
  display: table;
  margin: 5px auto 1em;
  padding: 1rem .5rem;
  text-align: center;
}
h4.deco_green:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  content: '';
  border-radius: 3px;
  background-image: linear-gradient(to left, #014040 0%, #028e8e 100%);
}
h4.deco_blue:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  content: '';
  border-radius: 3px;
  background-image: linear-gradient(to left, #03315d 0%, #377cbf 100%);
}

/*-------------------- cup_info */
#cup_info {
  padding: 3em 0;
  background: url('../img/bg_cup_info.png') no-repeat center top;
  background-size: cover;
}
.info_data {
  text-align: center;
  margin: 0 auto;
  width: 797px;
}
.info_data img {
  width: 100%;
  height: auto;
}

/*-------------------- Point */
#point {
  padding: 3em 0;
  background: url('../img/bg_point.jpg') no-repeat center top;
  background-size: cover;
}
#point .wrapper {
  position: relative;
  /*width: 80%;*/
  margin: 0 auto;
}
#point h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  color: #FFF;
  text-align: center;
  margin-bottom: 1.5em;
}
#point h2 span {
  display: block;
}
#point ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#point li {
  width: 31%;
  padding-top: 35px;
  color: #fdd101;
}
#point li:first-child {
  background: url('../img/point_01.png') no-repeat left top;
}
#point li:nth-child(2) {
  background: url('../img/point_02.png') no-repeat left top;
}
#point li:nth-child(3) {
  background: url('../img/point_03.png') no-repeat left top;
}
#point li:nth-child(4) {
  background: url('../img/point_04.png') no-repeat left top;
}
#point dt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  line-height: 1.5;
  margin-bottom: .7em;
  padding-bottom: .7em;
  border-bottom: 1px dotted #fdd101;
}
#point dt span {
  font-family: Arial, Roboto, “Droid Sans”, “游ゴシック”, YuGothic, “ヒラギノ角ゴ ProN W3″, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, sans-serif;
  font-size: 1.2rem;
}
#point dd span {
  font-size: 1.9rem;
  letter-spacing: 1px;
  font-weight: bold;
}

/*-------------------- Tab switching */
#tab {
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top: 1px solid #fff;
}
#tab li {
  font-weight: bold;
  font-size: 2.4rem;
  width: 50% !important;
  padding: 1.5em 1em;
  cursor: pointer;
  text-align: center;
  color: #fff;
  background: #014040;
}
#tab li:nth-child(2) {
  background: #03315d;
}
#tab li.select {
  background: url(../img/golfer_01.png) no-repeat top right 30px #014040;
}
#tab li.select:nth-child(2) {
  background: url(../img/golfer_02.png) no-repeat top left 30px #03315d;
}
.unit {
  clear: both;
  padding-top: 0;
}
.hidden {
  display: none;
}
#tab li span:first-child {
  font-size: 1.8rem;
  display: block;
}
#tab li span:nth-child(2) {
  font-size: 1.3rem;
  font-weight: normal;
  border: 1px solid #FFF;
  padding: .3em .5em;
  display: inline-block;
  margin-top: .8em;
}
#tourDetails {
  padding: 4em 0 6em;
  background: url(../img/bg_golf.jpg) repeat-x top;
}
.courseDetails {
  padding: 4em 0 6em;
  background: url(../img/bg_golf.jpg) repeat-x top;
}
.mask {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 5%;
}
.mask img {
  width: 200px;
  height: 200px;
  object-fit: cover;
  border-radius: 50%;
}
/*-------------------- トーナメントコースのコメント */
p.jlpga-tour {
  font-size: 1.6rem;
  font-weight: bold;
  padding: .3em 1em .2em;
  text-align: center;
  color: #fff;
  background: #ca0373;
}
p.jlpga-tour span {
  display: inline-block;
}
ul.golfCourse {
  display: flex;
  margin-bottom: 5em;
  flex-wrap: wrap;
  justify-content: space-between;
}
ul.golfCourse li {
  width: 100%;
}
/*ul.golfCourse li:first-child {
	margin-bottom: 2em;
}*/
ul.golfCourse h3 {
  font-size: 1.8rem;
  margin-top: .7em;
}
h3.place_A,
h3.place_B,
h3.place_C {
  padding: 5px 0;
  text-align: center;
  color: #fff;
  background: #002a46;
}
h3.place_A span,
h3.place_B span,
h3.place_C span {
  padding-left: 10px;
}
h3.place_A::before {
  margin-right: 3px;
  padding: 2px 8px;
  content: '1';
  color: #002a46;
  border-radius: 15px;
  background: #fff;
}
h3.place_B::before {
  margin-right: 3px;
  padding: 2px 8px;
  content: '2';
  color: #002a46;
  border-radius: 15px;
  background: #fff;
}
h3.place_C::before {
  margin-right: 3px;
  padding: 2px 8px;
  content: '3';
  color: #002a46;
  border-radius: 15px;
  background: #fff;
}
ul.golfCourse .photo {
  margin-bottom: 1.5em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
ul.golfCourse .photo span {
  width: 50%;
  border: 1px solid #F00;
}
ul.golfCourse .photo img {
  object-fit: cover;
  /*height: 550px;*/
  object-position: 0 100%
}
.photo_twoPieces {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.photo_twoPieces p {
  width: 50%;
  position: relative;
}
.photo_twoPieces p span {
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #FFF;
  font-size: 1.2rem;
}
.photo_twoPieces img {
  width: 100%;
}
ul.golfCourse dl {
  margin-top: 1em;
}
ul.golfCourse dt {
  margin-bottom: 1em;
}
ul.golfCourse dd {
  margin-bottom: .2em;
}
ul.golfCourse dd:nth-child(2) {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px dotted #bbb;
}
ul.golfCourse dd span {
  display: block;
  color: #F00;
  font-weight: bold;
}
.fa-external-link-alt {
  margin-left: 7px;
}
ul.golfCourse li:nth-child(n+2) {
  width: 32%;
}
ul.golfCourse li img {
  width: 100%;
  height: auto;
}
.conditionWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.schedule {
  width: 480px;
}
.tourInfo {
  width: 480px;
}
table {
  width: 100%;
}
.type01 caption {
  font-size: 1.4rem;
  font-weight: bold;
  padding: 8px;
  text-align: left;
  color: #fff;
  background: #323940;
}
.type01 th {
  font-family: Arial, Roboto, “Droid Sans”, “游ゴシック”, YuGothic, “ヒラギノ角ゴ ProN W3″, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, sans-serif;
  font-size: 1.4rem;
  width: 20%;
  padding: 10px;
  border: solid 1px #ddd;
  background: #eee;
}
.type01 td {
  width: 80%;
  padding: 10px;
  border: solid 1px #ddd;
}
.type01 td span {
  font-size: 1.2rem;
}
/*.break {
	margin-bottom: 10px;
}*/
.type01 li {
  margin-bottom: 10px;
}
.type01 li.schedule_bg {
  background: #fff8df;
}
.type01 li.schedule_bg span {
  display: block;
  margin-top: .2em;
}
.meal {
  text-align: right;
}
.pattern {
  color: #fff;
  background: #444;
  display: table-cell;
  padding: 2px 5px;
}
ul.note_01 li {
  font-size: 1.2rem;
  text-align: inherit;
  text-justify: inherit;
}
.booking {
  padding: 5em 0;
  background: url(../img/bg_booking.jpg) no-repeat bottom;
  background-size: cover;
}
.booking h5 {
  padding: .5em 0 .5em 1em;
  color: #fff;
  background: #323940;
  font-weight: normal;
}
.booking h5 span {
  font-size: 1.8rem;
  font-weight: bold;
}
.booking ul.dep {
  display: flex;
  margin-bottom: 1em;
  padding: 1em;
  background: #fff;
  flex-wrap: wrap;
  justify-content: space-between;
}
.booking ul.dep li {
  width: calc(100% / 3 - 10px);
}
.booking ul.dep dd:nth-child(3) {
  /*margin-top: .3em;*/
  color: #f00;
}
.booking ul.dep li span {
  font-size: 1.2rem;
}
.booking h5.a-course {
  background: #014040;
}
.booking h5.b-course {
  background: #03315d;
  margin-top: 2em;
}
.freetime {
  background: #DDD;
  padding: .1em .3em;
  display: block;
  margin-bottom: .5em;
}
ul.flightSchedule {
  margin: 1em 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
ul.flightSchedule li {
  width: 25%;
}
ul.flightSchedule li span {
  display: block;
}

/*-------------------- Heading */
.heading {
  position: relative;
  background: #000;
}
.heading img {
  width: 100%;
  height: 200px;
  opacity: .5;
  object-fit: cover;
  object-position: top top;
}
.heading p.theme {
  font-family: 'Quicksand', sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  /*line-height: 1.1;*/
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
}
.heading p.theme span {
  font-size: 1.4rem;
  font-weight: normal;
  display: block;
}

/*-------------------- Hotel */
#stay {
  padding: 6em 0;
  background: url(../img/bg_marble.jpg) no-repeat top center;
  background-size: cover;
  margin-top: 1px solid #FFF;
}
#stay ul.gallery li {
  position: relative;
  width: 49.5%;
  margin-bottom: 1em;
}
#yamanote {
  margin-bottom: 70px;
}
.block_a {
  display: table;
  background: #ca0000;
  padding: .3em 1em;
  color: #FFF;
  margin: 0 auto;
  border-radius: 30px;
  font-size: 1.6rem;
  margin-bottom: 1em;
}
.block_b {
  display: table;
  background: #0069b2;
  padding: .3em 1em;
  color: #FFF;
  margin: 0 auto;
  border-radius: 30px;
  font-size: 1.6rem;
  margin-bottom: 1em;
}
.block_b:nth-child(n+2) {
  margin: 5em auto 2em;
}
.text {
  text-align: center;
  margin-bottom: 2em;
}
.text span {
  display: block;
}
ul.resort-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
ul.resort-info li:first-child {
  position: relative;
  /*width: 330px;*/
  width: 32%;
}
ul.resort-info li:last-child {
  position: relative;
  /*width: 660px;*/
  width: 65%;
  height: 250px;
  border: 1px solid #ddd;
}
ul.resort-info dt {
  margin-bottom: 1em;
  display: none;
}
ul.resort-info dd:nth-child(2) {
  margin: .5em 0;
  padding-top: 1em;
  border-top: 1px dotted #aaa;
}
ul.resort-info dd span {
  font-weight: bold;
  display: block;
}

/*-------------------- Information */
#information {
  padding: 5em 0 4em;
  background: url(../img/bg_scratches.png) repeat;
}
#information .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.infoBox {
  width: 100%;
}
.accordionTtl,
.toggleContent {
  width: 100%;
  margin: 0 auto;
}
.accordionTtl {
  padding: 8px;
  pointer-events: none;
  color: #fff;
  background: #323940;
}
.toggleContent {
  padding: 1.5em .5em .5em;
  list-style: none;
}
.toggleContent li {
  line-height: 1.4;
  margin-bottom: 1em;
  padding-bottom: 1em;
}
.toggleContent li:not(:last-child) {
  border-bottom: 1px dotted #aaa;
}
.toggleContent li span {
  display: block;
}

/*-------------------- inc 微調整*/
.w950 {
  width: 1000px;
}
ul.reco_country li {
  width: 13.2%;
}

/*-------------------- Gadget*/
.deplistWrap,
.pricelist span.left {
  display: none;
}
.pricelistWrap ul {
  margin-left: 0;
}
.pricelistWrap ul li {
  display: inline;
  width: auto;
  padding-left: 0;
  background: none;
}
.pricelist a {
  font-size: 1.4rem;
  color: #f00;
}
.price {
  color: #f00;
}

/*-------------------- Contact*/
#contact {
  clear: both;
  padding: 4em 0;
  color: #fff;
  background: #3661a2;
}
#contact .ttl {
  margin-bottom: 3em;
}
#contact h4 {
  font-size: 1.6rem;
}
#contact ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
}
#contact li {
  position: relative;
  width: 32%;
  padding-left: 1.5em;
  border-left: 1px solid #86a0c7;
}
#contact li dt {
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 5px;
}
#contact li dt a,
#contact li dt a:hover {
  color: #fff;
}
#contact li dt span {
  font-size: 1.4rem;
  font-weight: normal;
  display: inline-block;
  margin-right: 10px;
  padding: 2px 5px;
  color: #444;
  background: #fff;
}
#contact li dd {
  margin-bottom: 5px;
}

/*-------------------- Page-top */
#page-top {
  position: fixed;
  z-index: 100;
  right: 20px;
  bottom: 20px;
}
#page-top a {
  display: block;
  width: 80px;
  padding: 20px 0;
  text-align: center;
  text-decoration: none;
  color: #fff;
  border-radius: 10px;
  background: #ddd;
}
#page-top a:hover {
  text-decoration: none;
  background: #a5a5a5;
}
