#pool *, #pool *:after, #pool *:before {
  box-sizing: border-box;
}

/*-------------------
フォント設定
---------------------*/
html {
  font-size: 13px;
	scroll-behavior: smooth;
}
body {
  line-height: 1.3;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: lighter;
}
/*:root {
  --px8: 0.6153rem;
  --px10: 0.769rem;
  --px11: 0.846rem;
  --px12: 0.923rem;
  --px13: 1rem;
  --px14: 1.077rem;
  --px15: 1.154rem;
  --px16: 1.231rem;
  --px17: 1.308rem;
  --px18: 1.385rem;
  --px19: 1.462rem;
  --px20: 1.538rem;
  --px21: 1.615rem;
  --px22: 1.692rem;
  --px23: 1.769rem;
  --px24: 1.846rem;
  --px25: 1.923rem;
  --px26: 2rem;
  --px27: 2.077rem;
  --px28: 2.154rem;
  --px29: 2.231rem;
  --px30: 2.308rem;
  --px31: 2.385rem;
  --px32: 2.462rem;
  --px33: 2.583rem;
  --px34: 2.615rem;
}*/

#pool img {
  height: auto;
  max-width: 100%;
}

@media (min-width: 768px) {
  .poolContainer {
    margin: 0 auto;
    position: relative;
    max-width: 950px;
  }
}

/* .poolJumbotron */
.poolJumbotron {
  background-image: url(../img/jumbotron-bg.png);
  background-position: center top;
  background-size: cover;
  height: 649px;
}

.poolJumbotronTitle img {
  margin-left: -50px;
}

/* .poolHeader */
.poolHeader {
  padding-bottom: 12px;
}

.poolHeaderTitle {
  text-align: center;
}

.poolSearchArea {
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .poolSearchAreaInner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}

.poolSearchAreaPool {
  position: relative;
}

.poolSearchArea h3 img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 290px;
}

@media (min-width: 768px) {
  .poolSearchArea h3 img {
    width: auto;
  }
}

.poolSearchAreaPool .poolSearchAreaList {
  position: absolute;
  top: 38%; 
  left: 50%;
  transform: translateX(-50%);
}

@media (min-width: 768px) {
  .poolSearchAreaPool .poolSearchAreaList {
    left: auto;
    top: 105px; 
    right: 0;
    transform: translateX(0);
  }
}

.poolSearchAreaIe {
  position: relative;
}

@media (min-width: 768px) {
  .poolSearchAreaIe {
    margin-left: 30px;
  }
}

.poolSearchAreaIe .poolSearchAreaList {
  position: absolute;
  top: 38%; 
  left: 50%;
  transform: translateX(-50%);
}

@media (min-width: 768px) {
  .poolSearchAreaIe .poolSearchAreaList {
    top: 105px; 
    left: 0;
    transform: translateX(0);
  }
}

.poolSearchAreaList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 290px;
  position: absolute;
  width: 100%;
}

@media (min-width: 768px) {
  .poolSearchAreaList {
    max-width: 100%;
    width: 470px;
  }
}

.poolSearchAreaList li {
  margin-left: 5px;
  margin-right: 5px;
  margin-top: 5px;
}

@media (min-width: 768px) {
  .poolSearchAreaList li {
    margin-left: 5px;
    margin-right: 5px;
    margin-top: 5px;
  }
}

.poolSearchAreaList a {
  align-items: center;
  background-color: #FFF013;
  display: flex;
  font-size: 12px;
  font-weight: 700;
  height: 30px;
  padding-left: 10px;
  padding-right: 10px;
}

@media (min-width: 768px) {
  .poolSearchAreaList a {
    font-size: 18px;
    height: 60px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.poolSearchAreaListPool a {
  color: #1AA1E7;
}

.poolSearchAreaListIe a {
  color: #09B6C9;
}

/* .poolWrap */
@media (min-width: 768px) {
  .poolWrap {
    background-position: center bottom;
    background-size: cover;
    padding-bottom: 40px;
  }
}

@media (min-width: 768px) {
  .poolWrapPool {
    background-image: url(../img/wrap-bg-pool.png);
  }
}

@media (min-width: 768px) {
  .poolWrapIe {
    background-image: url(../img/wrap-bg-ie.png);
  }
}

/* .poolPoint */
.poolPoint {
  background-size: cover;
  padding: 10px;
}

@media (min-width: 768px) {
  .poolTitlePool {
    background-color: #1499eb;
    margin-bottom: 30px;
    opacity: .9;
    text-align: center;
  }
}

@media (min-width: 768px) {
  .poolTitleIe {
    background-color: #18bed4;
    margin-bottom: 30px;
    opacity: .9;
    text-align: center;
  }
}

.poolTitleIe h3,
.poolTitlePool h3 {
  text-align: center;
}

.poolTitleIe h3 img,
.poolTitlePool h3 img {
  margin-left: auto;
  margin-right: auto;
  vertical-align: bottom;
}

.poolPointPool {
  background-image: url(../img/point-bg-pool_sp.png);
}

@media (min-width: 768px) {
  .poolPointPool {
    background-image: none;
  }
}

.poolPointIe {
  background-image: url(../img/point-bg-ie_sp.png);
}

@media (min-width: 768px) {
  .poolPointIe {
    background-image: none;
  }
}

.poolPointInner {
  background-color: rgba(255, 255, 255, .8);
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 10px;
}

@media (min-width: 768px) {
  .poolPointInner {
    padding-bottom: 30px;
    padding-left: 0;
    padding-right: 0;
    padding-top: 25px;
  }
}

.poolPointTitle {
  padding-bottom: 20px;
  text-align: center;
}

@media (min-width: 768px) {
  .poolPointBlocks {
    display: flex;
    justify-content: space-between;
  }
}

.poolPointBlock {
  border-top: 1px solid #000;
  padding-bottom: 20px;
}

@media (min-width: 768px) {
  .poolPointBlock {
    border-right: 1px solid #000;
    border-top: none;
    flex-basis: 33.333%;
    max-width: 33.333%;
    padding-left: 45px;
    padding-right: 45px;
  }
}

.poolPointBlock:last-child {
  border-bottom: none;
}

@media (min-width: 768px) {
  .poolPointBlock:last-child {
    border-right: none;
  }
}

.poolPointBlockImg {
	padding-bottom: 20px;
	padding-top: 15px;
	text-align: center;
}

@media (min-width: 768px) {
  .poolPointBlockImg {
    padding-top: 0;
  }
}

.poolPointBlockTitle {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  padding-bottom: 15px;
  text-align: center;
}

@media (min-width: 768px) {
  .poolPointBlockTitle {
    font-size: 22px;
    font-weight: bold;
    margin-left: -20px;
    margin-right: -20px;
  }
}

.poolPointBlockTxt {
	font-size: 13px;
	line-height: 1.5;
	padding-bottom: 10px;
}

@media (min-width: 768px) {
  .poolPointBlockTxt {
    font-size: 14px;
  }
}

.poolPointBlockTxt span {
  color: #f41c72;
  font-weight: bold;
}

/* .poolSearchKodawari */
@media (min-width: 768px) {
  .poolSearchKodawari {
    background-position: center top;
    background-size: cover;
    padding-bottom: 35px;
    padding-top: 30px;
  }
}

.poolSearchKodawariTitle {
  text-align: center;
}

@media (min-width: 768px) {
  .poolSearchKodawari01 {
    background-image: url(../img/search-kodawari01-bg.jpg);
  }
}

@media (min-width: 768px) {
  .poolSearchKodawari02 {
    background-image: url(../img/search-kodawari02-bg.jpg);
  }
}

@media (min-width: 768px) {
  .poolSearchKodawari03 {
    background-image: url(../img/search-kodawari03-bg.jpg);
  }
}

@media (min-width: 768px) {
  .poolSearchKodawari04 {
    background-image: url(../img/search-kodawari04-bg.jpg);
  }
}

@media (min-width: 768px) {
  .poolSearchKodawari05 {
    background-image: url(../img/search-kodawari05-bg.jpg);
  }
}

@media (min-width: 768px) {
  .poolSearchKodawari06 {
    background-image: url(../img/search-kodawari06-bg.jpg);
  }
}

@media (min-width: 768px) {
  .poolSearchKodawariTitle {
    padding-bottom: 30px;
  }
}

@media (min-width: 768px) {
  .poolSearchKodawariTitleOdd {
    text-align: right;
  }
}

.poolSearchKodawariBlock {
  margin-top: -10px;
  padding-bottom: 15px;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
}

@media (min-width: 768px) {
  .poolSearchKodawariBlock {
    margin-top: 0;
    padding: 0;
    position: relative;
    width: 475px;
  }
}

@media (min-width: 768px) {
  .poolSearchKodawariBlockOdd {
    float: right;
  }
}

.poolSearchKodawariBlock h4 img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 290px;
}

@media (min-width: 768px) {
  .poolSearchKodawariBlock h4 img {
    width: auto;
  }
}

.poolSearchKodawariBlock .poolAreaList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  left: 50%;
  max-width: 290px;
  position: absolute;
  top: 27%;
  transform: translateX(-50%);
  width: 100%;
}

@media (min-width: 768px) {
  .poolSearchKodawariBlock .poolAreaList {
    max-width: 100%;
    top: 80px; 
  }
}

.poolSearchKodawariBlock .poolAreaList li {
  margin-left: 5px;
  margin-right: 5px;
  margin-top: 5px;
}

@media (min-width: 768px) {
  .poolSearchKodawariBlock .poolAreaList li {
    margin-left: 5px;
    margin-right: 5px;
    margin-top: 5px;
  }
}

.poolSearchKodawariBlock .poolAreaList a {
  align-items: center;
  background-color: #FFF013;
  display: flex;
  font-size: 12px;
  font-weight: 700;
  height: 40px;
  padding-left: 10px;
  padding-right: 10px;
}

@media (min-width: 768px) {
  .poolSearchKodawariBlock .poolAreaList a {
    font-size: 18px;
    height: 60px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.poolSearchKodawariBlock .poolAreaListPool a {
  color: #1AA1E7;
}

.poolSearchKodawariBlock .poolAreaListIe a {
  color: #09B6C9;
}

/* .poolFuan */
.poolFuan {
  background-color: #1cabed;
  padding-top: 20px;
}

@media (min-width: 768px) {
  .poolFuan {
    padding-bottom: 40px;
    padding-top: 60px;
  }
}

.poolFuanTitle {
  padding-bottom: 20px;
  text-align: center;
}

.poolFuanBlock {
  padding-bottom: 20px;
}

@media (min-width: 768px) {
  .poolFuanBlock {
    padding-bottom: 50px;
  }
}

.poolFuanBlockQ {
  background-color: #fff;
  color: #09B6C9;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 15px;
  padding: 10px 15px;
}

@media (min-width: 768px) {
  .poolFuanBlockQ {
    font-size: 20px;
    margin-bottom: 25px;
  }
}

.poolFuanBlockA {
  background-image: url(../img/fuan-a.png);
  background-repeat: no-repeat;
  background-position: 10px top;
  background-size: 39px auto;
  color: #fff;
  font-size: 13px;
  line-height: 1.3;
  min-height: 39px;
  padding-left: 65px;
  padding-right: 10px;
}

@media (min-width: 768px) {
  .poolFuanBlockA {
    background-position: 40px center;
    background-size: 78px auto;
    font-size: 20px;
    line-height: 1.4;
    padding-left: 150px;
    padding-right: 40px;
  }
}

/* .poolMap */
.poolMap {
  background-color: #1cabed;
  background-image: url(../img/map-bg_sp.png);
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
  margin-bottom: 20px;
  padding-bottom: 200px;
}

@media (min-width: 768px) {
  .poolMap {
    background-image: url(../img/map-bg.png);
    background-size: cover;
    padding-bottom: 600px;
  }
}

.poolMapTitle {
  padding-bottom: 20px;
  text-align: center;
}

.poolMapTitle img {
  margin-left: auto;
  margin-right: auto;
}

.poolMapBlock {
  margin: 0 auto;
  position: relative;
  width: 320px;
}

@media (min-width: 768px) {
  .poolMapBlock {
    margin: 0 auto;
    position: relative;
    width: 640px;
  }
}

.poolMapImg {
  width: 320px;
}

@media (min-width: 768px) {
  .poolMapImg {
    width: 640px;
  }
}

.poolMapTokyo {
  left: 216px;
  position: absolute;
  top: 177px;
}

@media (min-width: 768px) {
  .poolMapTokyo {
    left: 432px;
    top: 354px;
  }
}

.poolMapKanagawa {
  left: 161px;
  position: absolute;
  top: 214px;
}

@media (min-width: 768px) {
  .poolMapKanagawa {
    left: 322px;
    top: 428px;
  }
}

.poolMapSaitama {
  left: 247px;
  position: absolute;
  top: 133px;
}

@media (min-width: 768px) {
  .poolMapSaitama {
    left: 494px;
    top: 266px;
  }
}

.poolMapOsaka {
  left: 60px;
  position: absolute;
  top: 235px;
}

@media (min-width: 768px) {
  .poolMapOsaka {
    left: 120px;
    top: 470px;
  }
}

.poolMapKyoto {
  left: 40px;
  position: absolute;
  top: 113px;
}

@media (min-width: 768px) {
  .poolMapKyoto {
    left: 80px;
    top: 226px;
  }
}

.poolMapAichi {
  left: 100px;
  position: absolute;
  top: 102px;
}

@media (min-width: 768px) {
  .poolMapAichi {
    left: 200px;
    top: 204px;
  }
}

.poolMapTokyo img,
.poolMapKanagawa img,
.poolMapSaitama img,
.poolMapOsaka img,
.poolMapKyoto img,
.poolMapAichi img {
  width: 50px;
}

@media (min-width: 768px) {
  .poolMapTokyo img,
  .poolMapKanagawa img,
  .poolMapSaitama img,
  .poolMapOsaka img,
  .poolMapKyoto img,
  .poolMapAichi img {
    width: 100px;
  }
}