@charset "UTF-8";

/*--------------------------------------------------
  salad20th voice
--------------------------------------------------*/
#cont.voice .keyimage {
  max-width: 1400px;
  min-width: 980px;
  font-weight: 700;
  background: url(/tiller/salad20th/img/voice/vol03_main.jpg) no-repeat;
  margin: 0 auto;
  background-position: top 38% right;
  background-size: 740px auto;
}

#cont.voice .keyimage.vol01 {
  background: url(/tiller/salad20th/img/voice/vol01_main.jpg) no-repeat;
  background-position: top 45% right;
  background-size: 740px auto;
}

#cont.voice .keyimage.vol02 {
  background: url(/tiller/salad20th/img/voice/vol02_main.jpg) no-repeat;
  background-position: top 10% right;
  background-size: 740px auto;
}

#cont.voice .keyimage.vol04 {
  background: url(/tiller/salad20th/img/voice/vol04_main.jpg) no-repeat;
  background-position: top 40% right;
  background-size: 740px auto;
}

#cont.voice .keyimage.vol05 {
  background: url(/tiller/salad20th/img/voice/vol05_main.jpg) no-repeat;
  background-position: top 40% right;
  background-size: 740px auto;
}

#cont.voice .keyimage .keyimage_wrap {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  min-width: 980px;
  background: url(/tiller/salad20th/img/voice/bg05.svg);
  background-repeat: repeat-x;
  background-position: left 79% bottom -1px;
  background-size: 1650px;
}

@media screen and (max-width: 980px) {
  #cont.voice .keyimage .keyimage_wrap {
    margin: 0;
  }
}

@media screen and (max-width: 736px) {
  #cont.voice .keyimage {
    min-width: inherit;
    max-width: inherit;
    background-image: none !important;
    background: none !important;
  }

  #cont.voice .keyimage .keyimage_wrap {
    width: 100%;
    min-width: inherit;
    background: none !important;
  }
}

#cont.voice .keyimage .h2_wrap {
  padding-bottom: 80px;
  margin-left: max(20px, 2vw);
  min-height: 480px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media screen and (max-width: 736px) {
  #cont.voice .keyimage .h2_wrap {
    padding: 20px 0;
    margin: 0 -4vw;
    min-height: inherit;
  }
}

#cont.voice .keyimage .stt_copy {
  font-size: 28px;
  line-height: 45px;
  background: #fff;
  width: fit-content;
  padding: 1.4rem 1.4rem 1.4rem 0;
}

#cont.voice .keyimage .stt_copy span {
  text-decoration-line: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: #e4f2e6;
  text-underline-offset: -0.2rem;
}

@media only screen and (max-width: 736px) {
  #cont.voice .keyimage .stt {
    font-size: 15px;
    padding: 0.6rem 1rem;
    text-align: center;
    margin-top: 35px;
    letter-spacing: 0.1rem;
    width: 100%;
  }

  #cont.voice .keyimage .stt_copy {
    font-size: clamp(17.6px, 5.868vw, 30.8px);
    text-align: center;
    margin: 0 auto;
    line-height: 1.6;
    padding: 5px 0 0;
  }
}

#cont.voice .keyimage h2 {
  font-size: 50px;
  line-height: 70px;
  width: fit-content;
  padding: 0.3rem 1.4rem 0.6rem 0;
}

@media screen and (max-width: 1240px) {
  #cont.voice .keyimage h2 {
    background: #fff;
  }
}

@media only screen and (max-width: 736px) {
  #cont.voice .keyimage h2 {
    font-size: clamp(28.8px, 9.606vw, 50.4px);
    line-height: 1.4;
    margin: 16px auto 0;
    padding: 0;
    text-align: center;
  }

  #cont.voice .keyimage .main_photo {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}

#cont.voice #index #Profile {
  background: #f5f3ea;
  margin-top: -1px;
}

#cont .profile_icon {
  padding-top: 50px;
  width: 100px;
  margin: 0 auto;
}

#Profile h3 {
  font-size: 36px;
  font-weight: 700;
  color: #298e3a;
  margin-top: 2rem;
  text-align: center;
}

#Profile h3 span {
  font-size: 22px;
}

@media screen and (max-width: 736px) {
  #cont .profile_icon {
    width: 80px;
  }

  #Profile h3 {
    font-size: 32px;
    margin-top: 1.6rem;
  }

  #Profile h3 span {
    font-size: 21px;
    display: block;
  }
}

#Profile .flex_02 {
  margin-top: 2rem;
}

#Profile .flex_02 > div {
  width: 460px;
}

@media screen and (max-width: 736px) {
  #Profile .flex {
    display: block;
  }

  #Profile .flex_02 {
    margin-top: 2rem;
    align-items: center;
  }

  #Profile .flex_02 > div {
    width: 100%;
  }
}

#Profile .profile_photo img {
  border-radius: 40px 0 40px 0;
}

#Profile .profile_info dt {
  font-size: 18px;
  font-weight: 700;
  color: #298e3a;
  position: relative;
  padding-left: 1.1em;
  margin-bottom: 0.2rem;
}

#Profile .profile_info dt::before {
  content: "";
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  left: 0;
  border: solid #298e3a 3px;
  border-radius: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 736px) {
  #Profile .profile_info dl {
    margin-top: 30px;
  }

  #Profile .profile_info dt {
    font-size: 16px;
  }

  #Profile .profile_info dt::before {
    width: 12px;
    height: 12px;
  }
}

#Profile .profile_info dd {
  font-size: 18px;
  margin-bottom: 1.2rem;
  line-height: 1.8;
}

#Profile .profile_info dd:last-child {
  margin-bottom: 0;
}

#Profile .profile_info dd a {
  color: #298e3a;
  border-bottom: 1px solid #298e3a;
  padding-bottom: 2px;
  line-height: 1;
}

@media screen and (max-width: 736px) {
  #Profile .profile_info dd {
    font-size: 16px;
    margin-bottom: 1rem;
    line-height: 1.6;
  }
}

#cont.voice #index #section {
  padding: 50px 0 150px;
  background: url(/tiller/salad20th/img/bg06.svg) #f5f3ea no-repeat;
  background-size: 55% auto;
  background-position: bottom -1px center;
}

@media screen and (max-width: 736px) {
  #cont.voice #index #section {
    padding: 50px 0 100px;
  }
}

#section h4 {
  font-size: 36px;
  font-weight: 700;
  line-height: 55px;
  color: #298e3a;
  text-align: center;
  margin-top: 2rem;
}

@media screen and (max-width: 736px) {
  #section h4 {
    font-size: 27px;
    line-height: 1.6;
    text-align: left;
    margin-top: 1.5rem;
  }
}

#section .enclosure {
  margin-top: 120px;
  background: #fff;
  padding: 60px 50px 60px;
  border: #298e3a 2px solid;
  border-radius: 40px 0 40px 0;
}

#section .enclosure .enclosure_stt {
  font-size: 18px;
  font-weight: 700;
  background: #298e3a;
  color: #fff;
  text-align: center;
  margin: -82px auto 3rem;
  padding: 0.6rem 2rem;
  display: table;
  border-radius: 30px;
}

@media screen and (max-width: 736px) {
  #section .enclosure {
    margin-top: 60px;
    padding: 40px 6% 30px 7%;
    border-radius: 30px 0 30px 0;
    border: #298e3a 1px solid;
  }

  #section .enclosure .enclosure_stt {
    font-size: 16px;
    margin: -59px auto 2.2rem;
    padding: 0.5rem 1.2rem;
    display: table;
    border-radius: 30px;
  }
}

#section .enclosure .enclosure_tt {
  font-size: 27px;
  font-weight: 700;
  color: #298e3a;
  text-align: center;
}

#section .enclosure .section_img {
  margin-top: 40px;
}

@media screen and (max-width: 736px) {
  #section .enclosure .enclosure_tt {
    font-size: 24px;
    text-align: left;
  }

  #section .enclosure .section_img {
    margin-top: 30px;
  }
}

#section .section_copy {
  font-size: 18px;
  line-height: 2.4;
  letter-spacing: 0.01rem;
  margin-top: 2rem;
}

#section .section_img {
  margin-top: 60px;
}

#section .section_img img {
  border-radius: 40px 0 40px 0;
}

#section .section_img span,
#Profile .photo_copy {
  display: inline-block;
  margin-top: 1.2rem;
}

@media screen and (max-width: 736px) {
  #section .section_copy {
    font-size: 16px;
    line-height: 2;
    margin-top: 1.5rem;
  }

  #section .section_img {
    margin-top: 35px;
  }

  #section .section_img img {
    border-radius: 30px 0 30px 0;
  }

  #section .section_img span,
  #Profile .photo_copy {
    margin-top: 1rem;
    line-height: 1.8;
  }
}

#section .section_wrap:not(:first-child) {
  margin-top: 70px;
}

#section .section_img + .section_copy {
  margin-top: 70px;
}

@media screen and (max-width: 736px) {
  #section .section_wrap:not(:first-child) {
    margin-top: 30px;
  }

  #section .section_img + .section_copy {
    margin-top: 35px;
  }
}

#section .flex_02 > p {
  width: 48%;
}

@media screen and (max-width: 736px) {
  #section .flex {
    display: block;
  }

  #section .flex_02 > p {
    width: 100%;
  }

  #section .flex_02 .section_img img {
    display: block;
    width: 85%;
    max-width: 320px;
    margin: 0 auto;
  }
}

#cont.voice #Lineup {
  background: #e4f2e6;
}

#cont.voice #Lineup .flex.flex_02 {
  flex-direction: row-reverse;
  align-items: center;
}

#cont.voice #Lineup .flex.flex_02 > div {
  width: 48%;
}

@media screen and (max-width: 736px) {
  #cont.voice #Lineup .flex {
    display: block;
  }

  #cont.voice #Lineup .flex.flex_02 > div {
    width: 100%;
  }
}

#Lineup .lineup_photo {
  text-align: right;
  padding-bottom: 55px;
}

#Lineup .lineup_photo img {
  width: 433px;
  margin-top: -20px;
}

#Lineup .lineup_copy {
  margin-top: -10px;
}

@media screen and (max-width: 736px) {
  #Lineup .lineup_photo {
    text-align: center;
    padding-bottom: 0;
  }

  #Lineup .lineup_photo img {
    width: 100%;
    margin-top: -50px;
  }

  #Lineup .lineup_copy {
    margin-top: 10px;
    padding-bottom: 60px;
  }
}

#Lineup .lineup_logo {
  width: 265px;
}

#Lineup .lineup_logo.single {
  width: 126px;
}

@media screen and (max-width: 736px) {
  #Lineup .lineup_logo {
    width: 70%;
    max-width: 360px;
  }

  #Lineup .lineup_logo.single {
    width: 34%;
    max-width: 190px;
  }
}

#Lineup .lineup_copy_lead {
  padding: 1.5rem 0 0 0;
  font-size: 28px;
  line-height: 45px;
  font-weight: 700;
  color: #298e3a;
}

#Lineup .lineup_copy_lu {
  padding: 0.5rem 0 24px 0;
  font-size: 22px;
  font-weight: 700;
}

@media only screen and (max-width: 736px) {
  #Lineup .lineup_copy_lead {
    padding: 0.8rem 0 0;
    font-size: 21px;
    line-height: 1.6;
  }

  #Lineup .lineup_copy_lu {
    padding: 0.7rem 0 1rem 0;
    font-size: 18px;
  }
}

/* map */
#cont #Map {
  background: #f5f3ea;
  padding: 120px 0 150px;
  background: url(/tiller/salad20th/img/bg03.svg) #f5f3ea no-repeat;
  background-size: 470px auto;
  background-position: bottom -1px center;
}

@media only screen and (max-width: 736px) {
  #cont #Map {
    padding: 60px 0 90px;
    background-size: 70% auto;
    background-position: bottom -1px center;
  }
}

#Map .purchase {
  background: #fff;
  padding: 0 50px 50px;
  border-radius: 40px 0 40px 0;
  text-align: center;
}

@media screen and (max-width: 736px) {
  #Map .purchase {
    padding: 0 5% 30px;
    border-radius: 30px 0 30px 0;
  }
}

.purchase .purchase_shop {
  font-weight: 700;
  color: #298e3a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 35px;
  background: url(/tiller/salad20th/img/voice/purchase_shop_bg.svg) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 736px) {
  .purchase .purchase_shop {
    width: 160px;
    height: 31px;
  }
}

.purchase .purchase_name {
  font-size: 22px;
  color: #298e3a;
  font-weight: 700;
  margin-top: 30px;
}

.purchase .purchase_add {
  font-size: 18px;
  color: #298e3a;
  margin: 0.5rem auto 1.6rem;
}

@media screen and (max-width: 736px) {
  .purchase .purchase_name {
    font-size: 20px;
    margin-top: 24px;
  }

  .purchase .purchase_add {
    font-size: 16px;
    margin: 0.5rem auto 1.2rem;
  }
}

#cont .purchase .bt01 a {
  width: fit-content;
  margin: 0 auto;
  font-size: 16px;
  padding-left: 3rem;
  padding-right: 3.6rem;
}

#cont .purchase .bt01 a::after {
}

@media screen and (max-width: 736px) {
  #cont .purchase .bt01 a {
    font-size: 16px;
    padding: 0.7rem 3.2rem 0.7rem 2.8rem;
    border-radius: 60px;
  }

  #cont .purchase .bt01 a::after {
    right: 1.5rem;
    width: 8px;
    height: 8px;
    border-top: solid 2px #fff;
    border-right: solid 2px;
  }
}

.map_wrap {
  margin: 90px 0 0;
  text-align: center;
}

.map_wrap h5 {
  font-size: 35px;
  line-height: 1.6;
  margin-bottom: 50px;
}

@media screen and (max-width: 736px) {
  .map_wrap {
    margin: 45px 0 0;
  }

  .map_wrap h5 {
    font-size: 30px;
    line-height: 1.6;
    margin-bottom: 0;
  }
}

.search_shop_map {
  width: 980px;
  margin: 20px auto 0;
  overflow: hidden;
}

@media screen and (max-width: 736px) {
  .search_shop_map {
    width: 90%;
    margin: 25px auto 0;
  }
}

.search_shop_map .map_graph a {
  text-decoration: none !important;
}

.search_shop_map .pointer {
  cursor: pointer;
}

.search_shop_map .pointer > rect + text {
  font-size: 16px;
  fill: #fff;
}

.search_shop_map .a {
  fill: #a4b35b;
}

.search_shop_map .b {
  fill: #78b35b;
}

.search_shop_map .c {
  fill: #5bb36a;
}

.search_shop_map .d {
  fill: #5ba4b3;
}

.search_shop_map .e {
  fill: #5bb36a;
}

.search_shop_map .f {
  fill: #78b35b;
}

.search_shop_map .n {
  fill: #5bb395;
}

.search_shop_map .o {
  fill: #5ba4b3;
}

.search_shop_map .p {
  fill: #5bb395;
}

.search_shop_map .q {
  fill: #a4b35b;
}

.search_shop_map .j {
  fill: #8a8b8b;
}

.search_shop_map .hokkaido:hover .a,
.search_shop_map .aomori:hover .b,
.search_shop_map .iwate:hover .b,
.search_shop_map .akita:hover .b,
.search_shop_map .miyagi:hover .b,
.search_shop_map .yamagata:hover .b,
.search_shop_map .fukushima:hover .b,
.search_shop_map .toyko:hover .c,
.search_shop_map .chiba:hover .c,
.search_shop_map .saitama:hover .c,
.search_shop_map .kanagawa:hover .c,
.search_shop_map .gunma:hover .c,
.search_shop_map .tochigi:hover .c,
.search_shop_map .ibaraki:hover .c,
.search_shop_map .aichi:hover .n,
.search_shop_map .shizuoka:hover .n,
.search_shop_map .mie:hover .n,
.search_shop_map .gifu:hover .n,
.search_shop_map .yamanashi:hover .d,
.search_shop_map .nagano:hover .d,
.search_shop_map .niigata:hover .d,
.search_shop_map .toyama:hover .d,
.search_shop_map .ishikawa:hover .d,
.search_shop_map .fukui:hover .d,
.search_shop_map .osaka:hover .e,
.search_shop_map .hyogo:hover .e,
.search_shop_map .kyoto:hover .e,
.search_shop_map .shiga:hover .e,
.search_shop_map .nara:hover .e,
.search_shop_map .wakayama:hover .e,
.search_shop_map .okayama:hover .f,
.search_shop_map .hiroshima:hover .f,
.search_shop_map .tottori:hover .f,
.search_shop_map .shimane:hover .f,
.search_shop_map .yamaguchi:hover .f,
.search_shop_map .ehime:hover .o,
.search_shop_map .kagawa:hover .o,
.search_shop_map .kochi:hover .o,
.search_shop_map .tokushima:hover .o,
.search_shop_map .saga:hover .p,
.search_shop_map .fukuoka:hover .p,
.search_shop_map .nagasaki:hover .p,
.search_shop_map .oita:hover .p,
.search_shop_map .kumamoto:hover .p,
.search_shop_map .miyazaki:hover .p,
.search_shop_map .kagoshima:hover .p,
.search_shop_map .okinawa:hover .q {
  fill-opacity: 0.7;
}

@media screen and (max-width: 736px) {
  .search_shop_map .pointer {
    pointer-events: none;
  }

  .search_shop_map .pointer > rect {
    display: none;
  }
}

.jp_region {
  width: 100% !important;
  margin: 0 auto;
}

.jp_region .map {
  width: 100%;
  max-width: 420px;
  margin-bottom: 35px;
  margin: 0 auto 2em;
}

@media screen and (max-width: 736px) {
  select {
    -webkit-appearance: none;
    border-radius: 0;
  }

  .jp_region select {
    background: #fff;
    padding: 1em 2em 1em 1em;
    outline: none;
    border: 1px solid #999;
    width: 100%;
    max-width: 340px;
    margin: auto;
    border-radius: 10px;
    font-size: 14px;
    color: #444;
  }

  .jp_region .select_pref {
    position: relative;
  }

  .jp_region .select_pref::after {
    content: "";
    position: absolute;
    right: 1em;
    top: 20%;
    width: 7px;
    height: 7px;
    border-top: 2px solid #2b9c5f;
    border-left: 2px solid #2b9c5f;
    transform: rotate(-135deg);
    pointer-events: none;
  }
}

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