  @charset "UTF-8";
/*------------------------------
responsive set
--------------------------------*/
.pc {
  display: block; }
  @media screen and (max-width: 428px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 428px) {
    .sp {
      display: block; } }

/*------------------------------
common
--------------------------------*/
.wrap {
  width: 1000px;
  margin: 0 auto;
  text-align: center; }
  @media screen and (max-width: 837px) {
    .wrap {
      width: 90%; } }

.bg01 {
  background: #d60000; }

.bg02 {
  background: #ff0000; }

/*------------------------------
main
--------------------------------*/
#main .wrap {
  width: 1300px;
  position: relative; }
  @media screen and (max-width: 1300px) {
    #main .wrap {
      width: 100%; } }

#main img {
  width: 100%;
  height: auto; }

#main a {
  display: block;
  position: absolute;
  bottom: 30px;
  right: 70px;
  width: 270px;
  height: auto; }
  @media screen and (max-width: 837px) {
    #main a {
      bottom: 30px;
      right: 30px;
      width: 230px; } }
  @media screen and (max-width: 428px) {
    #main a {
      bottom: -30px;
      left: 50%;
      transform: translate(-50%, 0%); } }

/*------------------------------
partner
--------------------------------*/
#partner .wrap {
  width: 1300px;
  position: relative; }
  @media screen and (max-width: 1300px) {
    #partner .wrap {
      width: 100%; } }
  @media screen and (max-width: 837px) {
    #partner .wrap {
      width: 90%; } }

#partner h2 {
  position: relative;
  height: 85px;
  margin: 70px auto 30px auto; }
  @media screen and (max-width: 428px) {
    #partner h2 {
      height: 65px; } }

#partner h2::after {
  position: absolute;
  content: "";
  background: #ff0000;
  height: 10px;
  width: 100%;
  z-index: -1;
  top: 10px; }

#partner h2 img {
  position: absolute;
  width: auto;
  height: 85px;
  background: #fff;
  padding: 0 45px;
  box-sizing: border-box;
  top: 0px;
  left: 50%;
  transform: translate(-50%, 0%); }
  @media screen and (max-width: 428px) {
    #partner h2 img {
      height: 65px;
      padding: 0 35px; } }

#partner ul {
  display: flex;
  margin-bottom: 40px;
  justify-content: center;
  flex-wrap: wrap; }
  @media screen and (max-width: 428px) {
    #partner ul {
      justify-content: space-between; } }

#partner ul li {
  margin-left: 10px;
  width: 175px;
  height: auto;
  margin-bottom: 10px; }
  @media screen and (max-width: 428px) {
    #partner ul li {
      margin-left: 0px;
      width: 48%;
      height: auto; } }

#partner ul li:nth-of-type(1) {
  margin-left: 0px; }

#partner ul li:nth-of-type(8) {
  margin-right: 35px; }
  @media screen and (max-width: 428px) {
    #partner ul li:nth-of-type(8) {
      margin-right: 0px; } }

#partner ul li img {
  width: 100%;
  height: auto; }

/*------------------------------
area
--------------------------------*/
#area {
  padding: 70px 0 65px 0; }

#area h2 {
  margin-bottom: 35px; }

#area h2 img {
  width: 565px;
  height: auto; }
  @media screen and (max-width: 428px) {
    #area h2 img {
      width: 100%; } }

#area ul {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 428px) {
    #area ul {
      display: none; } }

#area ol {
  display: none; }
  @media screen and (max-width: 428px) {
    #area ol {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; } }

#area ul li {
  margin-left: 13px; }

#area ul li:first-of-type {
  margin-left: 0; }

#area ul li img {
  width: 170px;
  height: auto; }
  @media screen and (max-width: 837px) {
    #area ul li img {
      width: calc((90vw - 52px) / 5); } }

#area ol li {
  width: 48%;
  margin-bottom: 15px; }

#area ol li:nth-last-of-type(1) {
  width: 100%;
  margin-bottom: 0; }

#area ol li img {
  width: 100%;
  height: auto; }

.wrap_area {
  padding: 70px 0 40px 0; }

.wrap_area p.pc img {
  width: 100%;
  height: auto; }

.wrap_area p.pc strong {
  display: block;
  margin-bottom: 20px; }

.wrap_area p.pc {
  position: relative; }

.wrap_area p.pc a {
  display: block;
  position: absolute;
  font-size: 5px;
  text-indent: -9999px; }

.wrap_area section.sp h2 {
  position: relative;
  background: #fff;
  padding-bottom: 30px; }

.wrap_area section.sp h2 img {
  width: 100%;
  height: auto; }

.wrap_area section.sp h2::after {
  position: absolute;
  content: "";
  height: 1px;
  background: #5c5c5c;
  width: 80%;
  margin: 0 10%;
  bottom: 0px;
  left: 0; }

.wrap_area section.sp h2 strong {
  font-weight: normal;
  font-size: 0.7em;
  line-height: 1.6em;
  display: block;
  margin-top: 30px; }

.wrap_area section.sp ul li:nth-of-type(1) p img {
  width: 100%;
  height: auto;
  margin-right: 0px; }

.wrap_area section.sp ul li h3 img {
  height: 40px;
  width: auto;
  margin-bottom: 20px; }

.wrap_area section.sp ul li a img {
  height: 40px;
  width: auto;
  margin-top: 30px; }

#ehime .wrap_area section.sp ul:nth-of-type(2) li:nth-last-of-type(1) {
  padding: 0; }

#ehime .wrap_area section.sp ul:nth-of-type(2) li:nth-last-of-type(1) img {
  width: 100%;
  height: auto; }

#shikoku .wrap_area section.sp ul:nth-of-type(2) li:nth-of-type(3) a img {
  height: 25px;
  width: auto;
  margin-top: 30px; }

#shikoku .wrap_area section.sp ul:nth-of-type(2) li:nth-of-type(3) a:nth-of-type(1) img {
  margin-right: 3px; }

#shikoku .wrap_area section.sp ul:nth-of-type(3) li:nth-of-type(4) p img {
  margin-right: 5px;
  width: 25px;
  height: auto;
  margin-top: 6px; }

#shikoku .wrap_area section.sp ul li h4 img {
  height: 40px;
  width: auto;
  margin-top: 20px; }

.wrap_area section.sp ul li p a img {
  height: auto;
  width: 100%; }

.wrap_area section.sp ul li p strong {
  font-weight: normal;
  font-size: 0.8em;
  line-height: 1.7em;
  display: block; }

.wrap_area section.sp ul li p a {
  color: #0032FF;
  text-decoration: underline; }

.wrap_area section.sp ul {
  margin-bottom: 10px; }

.wrap_area section.sp ul li:nth-of-type(odd) {
  background: #fff;
  padding: 40px 0; }

.wrap_area section.sp ul li:nth-of-type(even) {
  background: #ededed;
  padding: 40px 0; }

/* 香川 */
#kagawa p.pc a:nth-of-type(1) {
  top: 70%;
  left: 17.5%;
  width: 12%;
  height: 4.5%; }

#kagawa p.pc a:nth-of-type(2) {
  top: 70%;
  left: 46.5%;
  width: 12%;
  height: 4.5%; }

#kagawa p.pc a:nth-of-type(3) {
  top: 70%;
  left: 75%;
  width: 12%;
  height: 4.5%; }

/* 愛媛 */
#ehime p.pc a:nth-of-type(1) {
  top: 72.5%;
  left: 21.5%;
  width: 12%;
  height: 4.5%; }

#ehime p.pc a:nth-of-type(2) {
  top: 71%;
  left: 58.5%;
  width: 12%;
  height: 4.5%; }

/* 徳島 */
#tokushima p.pc a:nth-of-type(1) {
  top: 70%;
  left: 17.5%;
  width: 12%;
  height: 4.5%; }

#tokushima p.pc a:nth-of-type(2) {
  top: 70%;
  left: 46.5%;
  width: 12%;
  height: 4.5%; }

#tokushima p.pc a:nth-of-type(3) {
  top: 70%;
  left: 75%;
  width: 12%;
  height: 4.5%; }

/* 高知 */
#kochi p.pc a:nth-of-type(1) {
  top: 70%;
  left: 17.5%;
  width: 12%;
  height: 4.5%; }

#kochi p.pc a:nth-of-type(2) {
  top: 70%;
  left: 46.5%;
  width: 12%;
  height: 4.5%; }

#kochi p.pc a:nth-of-type(3) {
  top: 70%;
  left: 75%;
  width: 12%;
  height: 4.5%; }

/* 四国全域 */
#shikoku p.pc a:nth-of-type(1) {
  top: 70%;
  left: 17.5%;
  width: 12%;
  height: 4.5%; }

#shikoku p.pc a:nth-of-type(2) {
  top: 71.5%;
  left: 42%;
  width: 10%;
  height: 4.5%; }

#shikoku p.pc a:nth-of-type(3) {
  top: 71.5%;
  left: 53%;
  width: 10%;
  height: 4.5%; }

#shikoku p.pc a:nth-of-type(4) {
  top: 70%;
  left: 75%;
  width: 12%;
  height: 4.5%; }

/*------------------------------
cm
--------------------------------*/
#cm {
  padding: 70px 0 0px 0; }

#cm h2 {
  margin-bottom: 35px; }

#cm h3 {
  margin-bottom: 15px; }

#cm h2 img {
  width: auto;
  height: 100px; }
  @media screen and (max-width: 837px) {
    #cm h2 img {
      width: 75%;
      height: auto; } }
  @media screen and (max-width: 428px) {
    #cm h2 img {
      width: 100%; } }

#cm h3 img {
  width: auto;
  height: 50px; }
  @media screen and (max-width: 837px) {
    #cm h3 img {
      width: 75%;
      height: auto; } }
  @media screen and (max-width: 428px) {
    #cm h3 img {
      width: 70%; } }

#cm ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 20px; }
  @media screen and (max-width: 428px) {
    #cm ul {
      display: block;
      width: 90%;
      margin: 0 auto; } }

#cm ul li {
  width: 400px;
  margin-bottom: 20px; }
  @media screen and (max-width: 837px) {
    #cm ul li {
      width: 48%; } }
  @media screen and (max-width: 428px) {
    #cm ul li {
      width: 100%; } }

#cm ul li:nth-of-type(odd) {
  margin-right: 20px; }

#cm ul li img {
  width: 100%;
  height: auto; }

#sub_text p {
  text-align: left;
  margin: 30px 0 0 0;
  font-size: 18px;
  font-weight: normal;
  border: 2px solid red;
  padding: 20px; }
