@charset "UTF-8";


/* =====================
base
======================*/
html {
  margin: 0;
  padding: 0;
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  color: #444;
  letter-spacing: 1px;
}

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

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

ul, ol, li {
  margin: 0;
  padding: 0;
  list-style: none;
}


a {
  text-decoration: none;
  color: inherit;
  transition: 0.3s;
}


/* =====================
pc
======================*/

/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 50px;
  /* padding-bottom: 40px; */
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  width: 70vw;
  margin: 0 auto;}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/4);
  height: 50px;
  /* border-bottom: 3px solid #5ab4bd; */
  background-color: #f3f3f3;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
}
.tab_item:hover {
  opacity: 0.75;
}

.north_tab {
  color: #8080FF;
}
.south_tab {
  color: #FF9999;
}
.east_tab {
  color: #3ECE5A;
}
.west_tab {
  color: #90CE9C;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px;
  clear: both;
  overflow: hidden;
  margin-bottom: 30px;
}

.tab_content_description {
  text-align: center;
}


/*選択されているタブのコンテンツのみを表示*/
#north1:checked ~ #north1_content,
#south1:checked ~ #south1_content,
#east1:checked ~ #east1_content,
#west1:checked ~ #west1_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs #north1:checked + .tab_item {
  background-color: #8080FF;
  color: #fff;
}
.tabs #north1:checked ~ .tab_content{
  border: 5px solid #8080FF;
}

.tabs #south1:checked + .tab_item {
  background-color: #FF9999;
  color: #fff;
}
.tabs #south1:checked ~ .tab_content{
  border: 5px solid #FF9999;
}

.tabs #east1:checked + .tab_item {
  background-color: #3ECE5A;
  color: #fff;
}
.tabs #east1:checked ~ .tab_content{
  border: 5px solid #3ECE5A;
}

.tabs #west1:checked + .tab_item {
  background-color: #90CE9C;
  color: #fff;
}
.tabs #west1:checked ~ .tab_content{
  border: 5px solid #90CE9C;
}

.table_maguchi {
  padding: 1em;
  font-size: 1.5rem;
}

.table_oku {
  writing-mode: vertical-rl;
  font-size: 1.5rem;
  padding: 2.5em;
  letter-spacing: 1px;
  line-height: 0;
}


/* north table */
.tab_content_description table {
  margin: 0 auto;
  padding: 0;
  font-weight: bold;
  font-size: 1.2rem;
}

table , td, th {
	border: 1px solid #333;
	border-collapse: collapse;
}
td, th {
	padding: 3px;
	width: 75px;
	height: 50px;
}
th {
	background: #f0e6cc;
}
.even {
	background: #fbf8f0;
}
.odd {
	background: #fefcf9;
}

.tab_content_description table a:hover {
  opacity: .6;
}

.table_maguchi_north,
.table_oku_north {
  color: #fff;
  background-color: #8080FF;
  font-weight: bold;
}
.table_maguchi_south,
.table_oku_south {
  color: #fff;
  background-color: #FF9999;
  font-weight: bold;
}
.table_maguchi_east,
.table_oku_east {
  color: #fff;
  background-color: #3ECE5A;
  font-weight: bold;
}
.table_maguchi_west,
.table_oku_west {
  color: #fff;
  background-color: #90CE9C;
  font-weight: bold;
}

@media screen and (max-width: 1200px) {
  .tab_content_description table {
    font-size: 1rem;
  }

  th, td {
    td, th {
      padding: 3px;
      width: 60px;
      height: 35px;
    }
  }
}

@media screen and (max-width: 1000px) {
  .pc {
    display: none;
  }
}

/* =====================
sp u-
======================*/
.sp {
  display: none;
}
.u-title {
  font-size: 3.5rem;
  font-weight: bold;
  text-align: center;
  margin: 70px auto;
}

.u-content_wrap {
  width: 50vw;
  margin: 50px auto;
}

.u-content_wrap:nth-of-type(4) {
  margin-bottom: 20px;
}

.u-direction {
  font-size: 1.4rem;
  color: #fff;
}

.u-plan_select{
  padding: 2.5em;
}

.u-maguchi {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.u-target_title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
  margin-top: 40px;
}

.u-targets {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
}

.target_item {
  width: 120px;
  height: 80px;
  color: #fff;
  margin-top: 10px;
  margin-right: 2em;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
}

.target:hover {
  transition: .3s;
  opacity: 0.6;
}

.target_item span {
  font-size: 1.6rem;
  font-weight: bold;
}


input[type="radio"] {
  position: absolute;
  left: -9999px;
}

/* 以下はラベルのスタイル */
.filters {
  font-size: 1.4rem;
  margin-bottom: 2rem;
}

.filters * {
  display: inline-block;
}

.filters label {
  text-align: center;
  padding: 0.25rem 0.5rem;
  margin-bottom: 0.25rem;
  margin-right: 0.5em;
  min-width: 50px;
  line-height: normal;
  cursor: pointer;
  transition: all 0.2s;
}

@media screen and (max-width: 1000px){
  .sp {
    display: block;
  }
}

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

  .u-title {
    font-size: 3rem;
    margin: 50px auto;
  }

  .u-content_wrap {
    width: 80vw;
    margin: 30px auto;
  }
}

@media screen and (max-width: 375px){
  .u-title {
    font-size: 2.5rem;
    margin: 40px auto;
  }

  .u-content_wrap {
    width: 85vw;
    margin: 30px auto;
  }

  .u-direction {
    font-size: 1.2rem;
  }
  
  .u-plan_select{
    padding: 2em;
  }
  
  .u-maguchi {
    font-size: 1.5rem;
    margin-bottom: 8px;
  }

  .u-target_title {
    font-size: 1.5rem;
    margin-bottom: 8px;
    margin-top: 20px;
  }
  
  .target_item {
    width: 100px;
    height: 60px;
    margin-top: 10px;
    margin-right: 2em;
  }
  
  .target_item span {
    font-size: 1.2rem;
  }
  
  .filters {
    font-size: 1.2rem;
  }
    
}

/* =====================
north
======================*/

[value="north_2_5"]:checked ~ .filters [for="north_2_5"], 
[value="north_3_0"]:checked ~ .filters [for="north_3_0"], 
[value="north_3_5"]:checked ~ .filters [for="north_3_5"], 
[value="north_4_0"]:checked ~ .filters [for="north_4_0"], 
[value="north_4_5"]:checked ~ .filters [for="north_4_5"], 
[value="north_5_0"]:checked ~ .filters [for="north_5_0"], 
[value="north_5_5"]:checked ~ .filters [for="north_5_5"],  
[value="north_6_0"]:checked ~ .filters [for="north_6_0"] {
  background: #8080FF;
  color: #fff;
}

.north {
  display: inline-block;
  padding: 0.5em 1.5em 0.2em;
  background-color: #8080FF;
  font-weight: bold;
}

.north_plan {
  border: 6px solid #8080FF;
}

[value="north_2_5"]:checked ~ .u-targets .target:not([data-category~="north_2_5"]), 
[value="north_3_0"]:checked ~ .u-targets .target:not([data-category~="north_3_0"]), 
[value="north_3_5"]:checked ~ .u-targets .target:not([data-category~="north_3_5"]),
[value="north_4_0"]:checked ~ .u-targets .target:not([data-category~="north_4_0"]), 
[value="north_4_5"]:checked ~ .u-targets .target:not([data-category~="north_4_5"]),
[value="north_5_0"]:checked ~ .u-targets .target:not([data-category~="north_5_0"]), 
[value="north_5_5"]:checked ~ .u-targets .target:not([data-category~="north_5_5"]), 
[value="north_6_0"]:checked ~ .u-targets .target:not([data-category~="north_6_0"]) {
  display: none;
}

.north_filters label:hover {
  background: #8080FF;
  color: #fff;
}

.north_item {
  background-color: #8080FF;
}

/* =====================
south
======================*/

[value="south_2_5"]:checked ~ .filters [for="south_2_5"], 
[value="south_3_0"]:checked ~ .filters [for="south_3_0"], 
[value="south_3_5"]:checked ~ .filters [for="south_3_5"], 
[value="south_4_0"]:checked ~ .filters [for="south_4_0"], 
[value="south_4_5"]:checked ~ .filters [for="south_4_5"], 
[value="south_5_0"]:checked ~ .filters [for="south_5_0"], 
[value="south_5_5"]:checked ~ .filters [for="south_5_5"],  
[value="south_6_0"]:checked ~ .filters [for="south_6_0"] {
  background: #FF9999;
  color: #fff;
}

.south {
  display: inline-block;
  padding: 0.5em 1.5em 0.2em;
  background-color: #FF9999;
  font-weight: bold;
}

.south_plan {
  border: 6px solid #FF9999;
}

[value="south_2_5"]:checked ~ .u-targets .target:not([data-category~="south_2_5"]), 
[value="south_3_0"]:checked ~ .u-targets .target:not([data-category~="south_3_0"]), 
[value="south_3_5"]:checked ~ .u-targets .target:not([data-category~="south_3_5"]),
[value="south_4_0"]:checked ~ .u-targets .target:not([data-category~="south_4_0"]), 
[value="south_4_5"]:checked ~ .u-targets .target:not([data-category~="south_4_5"]),
[value="south_5_0"]:checked ~ .u-targets .target:not([data-category~="south_5_0"]), 
[value="south_5_5"]:checked ~ .u-targets .target:not([data-category~="south_5_5"]), 
[value="south_6_0"]:checked ~ .u-targets .target:not([data-category~="south_6_0"]) {
  display: none;
}

.south_filters label:hover {
  background: #FF9999;
  color: #fff;
}


.south_item {
  background-color: #FF9999;
}


/* =====================
east
======================*/

[value="east_2_5"]:checked ~ .filters [for="east_2_5"], 
[value="east_3_0"]:checked ~ .filters [for="east_3_0"], 
[value="east_3_5"]:checked ~ .filters [for="east_3_5"], 
[value="east_4_0"]:checked ~ .filters [for="east_4_0"], 
[value="east_4_5"]:checked ~ .filters [for="east_4_5"], 
[value="east_5_0"]:checked ~ .filters [for="east_5_0"], 
[value="east_5_5"]:checked ~ .filters [for="east_5_5"],  
[value="east_6_0"]:checked ~ .filters [for="east_6_0"] {
  background: #3ECE5A;
  color: #fff;
}

.east {
  display: inline-block;
  padding: 0.5em 1.5em 0.2em;
  background-color: #3ECE5A;
  font-weight: bold;
}

.east_plan {
  border: 6px solid #3ECE5A;
}

[value="east_2_5"]:checked ~ .u-targets .target:not([data-category~="east_2_5"]), 
[value="east_3_0"]:checked ~ .u-targets .target:not([data-category~="east_3_0"]), 
[value="east_3_5"]:checked ~ .u-targets .target:not([data-category~="east_3_5"]),
[value="east_4_0"]:checked ~ .u-targets .target:not([data-category~="east_4_0"]), 
[value="east_4_5"]:checked ~ .u-targets .target:not([data-category~="east_4_5"]),
[value="east_5_0"]:checked ~ .u-targets .target:not([data-category~="east_5_0"]), 
[value="east_5_5"]:checked ~ .u-targets .target:not([data-category~="east_5_5"]), 
[value="east_6_0"]:checked ~ .u-targets .target:not([data-category~="east_6_0"]) {
  display: none;
}

.east_filters label:hover {
  background: #3ECE5A;
  color: #fff;
}


.east_item {
  background-color: #3ECE5A;
}


/* =====================
west
======================*/

[value="west_2_5"]:checked ~ .filters [for="west_2_5"], 
[value="west_3_0"]:checked ~ .filters [for="west_3_0"], 
[value="west_3_5"]:checked ~ .filters [for="west_3_5"], 
[value="west_4_0"]:checked ~ .filters [for="west_4_0"], 
[value="west_4_5"]:checked ~ .filters [for="west_4_5"], 
[value="west_5_0"]:checked ~ .filters [for="west_5_0"], 
[value="west_5_5"]:checked ~ .filters [for="west_5_5"],  
[value="west_6_0"]:checked ~ .filters [for="west_6_0"] {
  background: #90CE9C;
  color: #fff;
}

.west {
  display: inline-block;
  padding: 0.5em 1.5em 0.2em;
  background-color: #90CE9C;
  font-weight: bold;
}

.west_plan {
  border: 6px solid #90CE9C;
}

[value="west_2_5"]:checked ~ .u-targets .target:not([data-category~="west_2_5"]), 
[value="west_3_0"]:checked ~ .u-targets .target:not([data-category~="west_3_0"]), 
[value="west_3_5"]:checked ~ .u-targets .target:not([data-category~="west_3_5"]),
[value="west_4_0"]:checked ~ .u-targets .target:not([data-category~="west_4_0"]), 
[value="west_4_5"]:checked ~ .u-targets .target:not([data-category~="west_4_5"]),
[value="west_5_0"]:checked ~ .u-targets .target:not([data-category~="west_5_0"]), 
[value="west_5_5"]:checked ~ .u-targets .target:not([data-category~="west_5_5"]), 
[value="west_6_0"]:checked ~ .u-targets .target:not([data-category~="west_6_0"]) {
  display: none;
}

.west_filters label:hover {
  background: #90CE9C;
  color: #fff;
}


.west_item {
  background-color: #90CE9C;
}


/* =====================
note
======================*/
.note {
  width: 50vw;
  margin: 0 auto;
  font-size: 1.2rem;
  margin-bottom: 200px;
}

.note_item {
  line-height: 2.2rem;
}

@media screen and (max-width: 768px){
  .note {
    width: 80vw;
    margin-bottom: 150px;
  }
}

@media screen and (max-width: 375px){
  .note {
    width: 85vw;
    margin-bottom: 100px;
  }
}

/* =====================
footer
======================*/
.footer {
  width: 50vw;
  margin: 0 auto;
  font-size: 1.2rem;
  text-align: center;
  margin-bottom: 50px;
  letter-spacing: 0;
}


@media screen and (max-width: 375px){
  .footer {
    width: 100vw;
    margin-bottom: 20px;
    font-size: 1rem;
  }
}
