@charset "UTF-8";
/*------------------------------------------------------------
	effect_common
------------------------------------------------------------*/
/*---- color ----*/
/*---- effect ----*/
.link_effect {
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
  color: #FFF; }

.link_effect_2 {
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
  filter: alpha(opacity=85);
  -moz-opacity: 0.85;
  opacity: 0.85; }

.link_effect_3 {
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7; }

.link_effect_w {
  background-color: rgba(255, 255, 255, 0.2);
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none; }

.link_effect_w2 {
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none; }

.no_effect {
  -webkit-transition: 0;
  -moz-transition: 0;
  -o-transition: 0;
  transition: 0;
  text-decoration: none;
  filter: alpha(opacity=1);
  -moz-opacity: 1;
  opacity: 1;
  color: inherit; }

.no_effect_2 {
  -webkit-transition: 0;
  -moz-transition: 0;
  -o-transition: 0;
  transition: 0;
  text-decoration: none;
  filter: alpha(opacity=1);
  -moz-opacity: 1;
  opacity: 1; }

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("fonts/notosansjp/notosansjp_500.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/notosansjp/notosansjp_700.woff") format("woff");
  font-display: swap; }
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  src: url("fonts/notosansjp/notosansjp_900.woff") format("woff");
  font-display: swap; }
html {
  height: 100%; }

body {
  background-color: #fefbdb;
  width: 100%;
  height: 100%;
  min-height: 100%;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-weight: 500;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%; }

#wrap {
  height: auto !important;
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

/*---- common ----*/
a,
a:hover,
a img:hover {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: #000; }

a:hover,
a img:hover {
  filter: alpha(opacity=75);
  -moz-opacity: 0.75;
  opacity: 0.75; }

a:hover {
  text-decoration: underline; }

h6,
h5,
h4,
h3,
h2 {
  line-height: 1.2;
  color: #000;
  font-weight: 700;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; }

/*---- reset ----*/
.r_sp_none {
  padding-right: 0 !important;
  margin-right: 0 !important; }

.l_sp_none {
  padding-left: 0 !important;
  margin-left: 0 !important; }

.top_sp_none {
  padding-top: 0 !important;
  margin-top: 0 !important; }

.bottom_sp_none {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important; }

.all_sp_none {
  padding: 0 !important;
  margin: 0 !important; }

.shadow_none {
  -webkit-text-shadow: none;
  -moz-text-shadow: none;
  text-shadow: none; }

.bg_none {
  background: none !important; }

.line_none {
  border: none !important; }

.t_line_none {
  border-top: none !important; }

.l_line_none {
  border-left: none !important; }

.list_style_none li {
  list-style: none !important; }

/*---- column ----*/
.br_sp {
  display: none; }

@media screen and (max-width: 767px) {
  .br_sp {
    display: block; }

  .br_pc {
    display: none; } }
.float_l {
  padding: 0 2em 24px 0;
  float: left; }

.float_r {
  padding: 0 0 24px 2em;
  float: right; }

@media screen and (max-width: 767px) {
  .float_l {
    padding: 0 1em 14px 0; }

  .float_r {
    padding: 0 0 14px 1em; } }
/*---- text_align ----*/
.txt_l {
  text-align: left !important; }

.txt_r {
  text-align: right !important; }

.txt_center {
  text-align: center !important; }

.txt_pc_center {
  text-align: center; }
  @media screen and (max-width: 767px) {
    .txt_pc_center {
      text-align: left; } }

/*---- text_size ----*/
.txt_small {
  font-size: 85% !important; }

.txt_big {
  font-size: 110% !important; }

/*---- text_color ----*/
.txt_red {
  color: #c12655; }

/*---- text_weight ----*/
.txt_b {
  font-weight: 700; }

.txt_line {
  text-decoration: underline; }

/*------------------------------------------------------------
body
------------------------------------------------------------*/
#wrap {
  /*------------------------------------------------------------
  header 
  ------------------------------------------------------------*/
  /*------------------------------------------------------------
  main
  ------------------------------------------------------------*/
  /*---- pagetop ----*/ }
  #wrap header {
    background-color: rgba(255, 255, 255, 0.95);
    width: 100%;
    height: 80px;
    border-bottom: 1px solid #000;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #wrap header #head_wrap {
      width: 1100px;
      margin: 0 auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      #wrap header #head_wrap h1 {
        width: 320px; }
      #wrap header #head_wrap nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end; }
        #wrap header #head_wrap nav ul li {
          margin-left: 10px; }
          #wrap header #head_wrap nav ul li a {
            background-color: #25b7aa;
            padding: 12px 28px 12px 32px;
            border-radius: 100px;
            color: #FFF;
            font-weight: 700;
            text-decoration: none; }
            #wrap header #head_wrap nav ul li a span {
              background: url("../img/arrow_bot.svg") right center no-repeat;
              background-size: 14px;
              padding: 10px 22px 10px 0; }
        #wrap header #head_wrap nav ul .contact_anc a {
          background-color: #f68914; }
    @media screen and (max-width: 880px) {
      #wrap header {
        height: 80px; }
        #wrap header #head_wrap {
          width: 100%;
          margin: 0 10px; }
          #wrap header #head_wrap h1 {
            width: 200px; }
          #wrap header #head_wrap nav ul li a {
            padding: 8px 14px 8px 20px;
            font-size: 0.76em; }
            #wrap header #head_wrap nav ul li a span {
              background: url("../img/arrow_bot.svg") right center no-repeat;
              background-size: 10px;
              padding: 8px 18px 8px 0; }
          #wrap header #head_wrap nav ul .contact_anc {
            display: block; } }
    @media screen and (max-width: 767px) {
      #wrap header {
        height: 50px; }
        #wrap header #head_wrap {
          width: 100%;
          margin: 0 10px; }
          #wrap header #head_wrap h1 {
            width: 140px; }
          #wrap header #head_wrap nav ul li {
            display: none; }
            #wrap header #head_wrap nav ul li a {
              padding: 8px 14px 8px 20px;
              font-size: 0.76em; }
              #wrap header #head_wrap nav ul li a span {
                background: url("../img/arrow_bot.svg") right center no-repeat;
                background-size: 10px;
                padding: 8px 18px 8px 0; }
          #wrap header #head_wrap nav ul .contact_anc {
            display: block; } }
  #wrap main #main_title {
    background: url("../img/main_bg.jpg") top center no-repeat;
    background-size: cover;
    margin-top: 80px;
    border-bottom: 12px solid #000; }
    #wrap main #main_title p {
      width: 1100px;
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      #wrap main #main_title {
        margin-top: 50px;
        border-bottom: 8px solid #000; }
        #wrap main #main_title p {
          width: 100%;
          margin: 0 auto; } }
  #wrap main #movie {
    background: #000 url("../img/movie_bg.jpg") top center no-repeat;
    height: 670px;
    text-align: center; }
    #wrap main #movie video {
      width: 840px;
      margin-top: 114px; }
    @media screen and (max-width: 767px) {
      #wrap main #movie {
        background-size: cover;
        width: 100%;
        height: 100%; }
        #wrap main #movie video {
          width: 90%;
          margin: 70px auto 40px; } }
  #wrap main #ondo {
    background: url("../img/ondo_bg.jpg") top left repeat-x;
    height: 600px;
    text-align: center;
    position: relative; }
    #wrap main #ondo p {
      position: absolute;
      top: -35px;
      left: 0;
      right: 0;
      margin: auto; }
    @media screen and (max-width: 767px) {
      #wrap main #ondo {
        background-size: cover;
        width: 100%;
        height: 100%; }
        #wrap main #ondo p {
          position: static;
          margin: auto; } }
  #wrap main #point {
    background: #fff8ac url("../img/point_bg.jpg") bottom left repeat-y;
    padding-top: 90px; }
    #wrap main #point ul {
      background: url("../img/point_bg_dot.png") top right 100px no-repeat;
      padding-bottom: 90px; }
      #wrap main #point ul li {
        background-color: #FFF;
        width: 1000px;
        height: 300px;
        margin-bottom: 30px;
        border-radius: 0 500px 500px 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
        #wrap main #point ul li dl {
          width: 780px;
          margin-left: 200px;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }
          #wrap main #point ul li dl dt {
            width: 260px; }
          #wrap main #point ul li dl dd {
            width: 490px;
            padding-top: 6px; }
            #wrap main #point ul li dl dd h2 {
              padding-bottom: 10px;
              margin-bottom: 10px;
              border-bottom: 5px solid #000;
              display: inline-block;
              font-size: 1.2em; }
              #wrap main #point ul li dl dd h2 span {
                font-size: 2.2em; }
            #wrap main #point ul li dl dd h3 {
              margin-bottom: 14px;
              font-size: 1.6em;
              font-weight: 900;
              line-height: 1.9; }
              #wrap main #point ul li dl dd h3 span {
                font-size: 1.8em; }
            #wrap main #point ul li dl dd .point_1 span {
              color: #007ac0; }
            #wrap main #point ul li dl dd .point_2 span {
              color: #20ba61; }
            #wrap main #point ul li dl dd .point_3 {
              margin-bottom: 8px; }
              #wrap main #point ul li dl dd .point_3 span {
                color: #84b501; }
            #wrap main #point ul li dl dd .point_4 span {
              color: #df6420; }
            #wrap main #point ul li dl dd .point_5 span {
              color: #de2e5b; }
            #wrap main #point ul li dl dd p {
              line-height: 1.6; }
              #wrap main #point ul li dl dd p span {
                color: #D22642; }
          #wrap main #point ul li dl .txt_sp {
            padding-top: 0; }
      #wrap main #point ul li:nth-child(even) {
        margin: 0 0 30px auto;
        border-radius: 500px 0 0 500px; }
        #wrap main #point ul li:nth-child(even) dl {
          margin: 0 200px 0 auto;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
          -ms-flex-direction: row;
          flex-direction: row; }
    @media screen and (max-width: 767px) {
      #wrap main #point {
        padding-top: 40px; }
        #wrap main #point ul {
          background: none;
          padding-bottom: 40px; }
          #wrap main #point ul li {
            width: 100%;
            height: auto;
            margin-bottom: 14px;
            border-radius: 0; }
            #wrap main #point ul li dl {
              width: 94%;
              margin: 16px auto;
              -webkit-box-align: center;
              -ms-flex-align: center;
              align-items: center; }
              #wrap main #point ul li dl dt {
                width: 30%; }
              #wrap main #point ul li dl dd {
                width: 66%;
                padding: 0; }
                #wrap main #point ul li dl dd h2 {
                  padding-bottom: 4px;
                  margin-bottom: 4px;
                  border-bottom: 3px solid #000;
                  font-size: 0.7em; }
                  #wrap main #point ul li dl dd h2 span {
                    font-size: 1.4em; }
                #wrap main #point ul li dl dd h3 {
                  margin-bottom: 4px;
                  font-size: 1em;
                  line-height: 1.6; }
                  #wrap main #point ul li dl dd h3 span {
                    font-size: 1.2em; }
                #wrap main #point ul li dl dd p {
                  line-height: 1.3;
                  font-size: 0.76em; }
          #wrap main #point ul li:nth-child(even) {
            margin-bottom: 14px;
            border-radius: 0; }
            #wrap main #point ul li:nth-child(even) dl {
              margin: 16px auto; } }
  #wrap main #matching {
    background: #5fb8ac url("../img/matching_bg.jpg") bottom left repeat-x;
    padding-top: 180px;
    border-top: 10px solid #000;
    border-bottom: 10px solid #000;
    position: relative; }
    #wrap main #matching h2 {
      background: url("../img/matching_title_bg.png") top left no-repeat;
      width: 1000px;
      height: 220px;
      position: absolute;
      top: -34px;
      right: 0;
      left: 0;
      margin: auto; }
      #wrap main #matching h2 img {
        position: absolute;
        top: 100px;
        right: 0;
        left: 0;
        margin: auto; }
    #wrap main #matching p {
      color: #FFF;
      text-align: center;
      font-weight: 700;
      font-size: 1.4em;
      line-height: 1.5; }
      #wrap main #matching p span {
        font-size: 0.8em; }
    #wrap main #matching ul {
      width: 980px;
      margin: 30px auto 80px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      #wrap main #matching ul li {
        margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      #wrap main #matching {
        background: #5fb8ac url("../img/matching_bg.jpg") bottom left repeat-x;
        padding: 30px 4%;
        border-top: 8px solid #000;
        border-bottom: 8px solid #000; }
        #wrap main #matching h2 {
          background: none;
          width: 70%;
          height: auto;
          margin-bottom: 20px;
          position: static; }
          #wrap main #matching h2 img {
            position: static;
            margin: 0 auto; }
        #wrap main #matching p {
          margin-bottom: 24px;
          text-align: left;
          font-weight: 700;
          font-size: 0.9em;
          line-height: 1.4; }
          #wrap main #matching p span {
            font-size: 0.9em; }
        #wrap main #matching ul {
          width: 100%;
          margin: 0 auto;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center; }
          #wrap main #matching ul li {
            margin-bottom: 14px;
            text-align: center; } }
  #wrap main #achievement {
    background: -webkit-linear-gradient(#bbe6e2 0%, #bbe6e2 46%, #EDFCFB 46%, #EDFCFB 100%);
    background: -o-linear-gradient(#bbe6e2 0%, #bbe6e2 46%, #EDFCFB 46%, #EDFCFB 100%);
    background: linear-gradient(#bbe6e2 0%, #bbe6e2 46%, #EDFCFB 46%, #EDFCFB 100%);
    padding: 70px 0 90px;
    border-bottom: 10px solid #000;
    text-align: center;
    position: relative;
    z-index: 1; }
    #wrap main #achievement h2 {
      margin-bottom: 30px; }
    #wrap main #achievement dl {
      background-color: #FFF;
      width: 800px;
      margin: 0 auto;
      text-align: center;
      position: relative; }
      #wrap main #achievement dl dt {
        width: 800px;
        margin: 0 auto;
        border: 16px solid #FFF; }
      #wrap main #achievement dl dd {
        padding-bottom: 26px;
        font-size: 1.1em; }
    #wrap main #achievement dl::after {
      content: "";
      background-color: #8CCAC2;
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      top: 20px;
      left: 20px;
      z-index: -1; }
    @media screen and (max-width: 767px) {
      #wrap main #achievement {
        padding: 40px 0; }
        #wrap main #achievement h2 {
          width: 38%;
          margin: 0 auto;
          margin-bottom: 20px; }
        #wrap main #achievement dl {
          width: 92%;
          margin: 0 4%; }
          #wrap main #achievement dl dt {
            width: 100%; }
          #wrap main #achievement dl dd {
            padding-bottom: 18px;
            font-size: 0.9em; }
        #wrap main #achievement dl::after {
          display: none; } }
  #wrap main #contact {
    background-color: #fefbdb;
    padding: 70px 0;
    text-align: center; }
    #wrap main #contact h2 {
      margin-bottom: 30px; }
    #wrap main #contact .contact_txt {
      margin-bottom: 40px;
      line-height: 1.6;
      font-size: 1.1em; }
    #wrap main #contact #mailformpro {
      background-color: #FFF;
      width: 1100px;
      margin: 0 auto;
      border-top: 14px solid #84d1ca;
      border-bottom: 14px solid #84d1ca;
      border-left: 1px solid #84d1ca;
      border-right: 1px solid #84d1ca; }
      #wrap main #contact #mailformpro dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        #wrap main #contact #mailformpro dl dd textarea, #wrap main #contact #mailformpro dl dd input {
          width: 74% !important;
          padding: 8px 14px;
          border: 1px solid #CCC;
          background-color: #EEE;
          font-size: 1em; }
        #wrap main #contact #mailformpro dl dd textarea {
          height: 180px !important; }
    @media screen and (max-width: 767px) {
      #wrap main #contact {
        padding: 40px 4%;
        text-align: left; }
        #wrap main #contact h2 {
          width: 50%;
          margin: 0 auto;
          margin-bottom: 20px; }
        #wrap main #contact .contact_txt {
          margin-bottom: 24px;
          line-height: 1.4;
          font-size: 0.8em; }
        #wrap main #contact #mailformpro {
          width: 100%;
          border-top: 10px solid #84d1ca;
          border-bottom: 10px solid #84d1ca; }
          #wrap main #contact #mailformpro .mailform {
            margin: 0 4%; }
          #wrap main #contact #mailformpro dl {
            display: block; }
            #wrap main #contact #mailformpro dl dd textarea, #wrap main #contact #mailformpro dl dd input {
              width: 96% !important;
              padding: 4px 2%;
              font-size: 0.9em; }
            #wrap main #contact #mailformpro dl dd textarea {
              height: 120px !important; } }
  #wrap main #tel_address {
    background-color: #25b7aa;
    padding: 60px 0;
    text-align: center; }
    #wrap main #tel_address dl {
      width: 800px;
      margin: 18px auto 0;
      color: #FFF;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      #wrap main #tel_address dl dt {
        background-color: #FFF;
        width: 310px;
        padding: 8px 0;
        color: #25b7aa;
        line-height: 1.4;
        font-weight: 700; }
        #wrap main #tel_address dl dt span {
          font-size: 1.2em; }
      #wrap main #tel_address dl dd {
        padding-bottom: 8px; }
        #wrap main #tel_address dl dd a {
          text-decoration: none; }
        #wrap main #tel_address dl dd span {
          background: url("../img/tel_icon.png") left center no-repeat;
          background-size: 40px;
          padding: 10px 0 14px 50px;
          letter-spacing: 0.01em;
          color: #FFF;
          text-decoration: none;
          font-size: 3.8em;
          font-weight: 700; }
      #wrap main #tel_address dl .business_hours {
        width: 800px;
        margin-top: 4px;
        padding: 12px;
        border: 2px solid #FFF;
        font-size: 1.1em;
        font-weight: 700;
        letter-spacing: 0.04em; }
    @media screen and (max-width: 767px) {
      #wrap main #tel_address {
        padding: 30px 4%; }
        #wrap main #tel_address dl {
          width: 100%;
          margin: 10px 0;
          display: block; }
          #wrap main #tel_address dl dt {
            width: 100%;
            padding: 8px 0; }
            #wrap main #tel_address dl dt span {
              font-size: 1.1em; }
          #wrap main #tel_address dl dd {
            padding: 8px 0; }
            #wrap main #tel_address dl dd span {
              background: url("../img/tel_icon.png") left center no-repeat;
              background-size: 30px;
              padding: 14px 0 14px 40px;
              letter-spacing: 0;
              font-size: 2.2em; }
          #wrap main #tel_address dl .business_hours {
            width: 100%;
            padding: 10px 4px;
            font-size: 0.9em;
            letter-spacing: 0; } }
  #wrap main footer {
    background: url("../img/link_bg.jpg") top left repeat; }
    #wrap main footer dl {
      width: 1100px;
      margin: 0 auto;
      padding: 60px 0 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      position: relative; }
      #wrap main footer dl dt {
        padding-left: 30px; }
      #wrap main footer dl dd {
        width: 310px;
        height: 310px;
        margin-right: 190px;
        background-color: #25b7aa;
        border-radius: 100%;
        text-align: center; }
        #wrap main footer dl dd a {
          text-decoration: none;
          color: #FFF; }
        #wrap main footer dl dd p {
          background: url("../img/link_icon.png") bottom center no-repeat;
          padding: 38px 0 96px;
          line-height: 1.4;
          font-weight: 700; }
        #wrap main footer dl dd .more_caption {
          background: none;
          padding: 12px 0 0 0;
          font-size: 0.8em;
          font-weight: 500; }
      #wrap main footer dl dd::before {
        content: "";
        background: url("../img/link_bg_img_1.png") left top no-repeat;
        width: 200px;
        height: 200px;
        position: absolute;
        top: 30px;
        right: 500px; }
      #wrap main footer dl dd::after {
        content: "";
        background: url("../img/link_bg_img_2.png") left top no-repeat;
        width: 200px;
        height: 200px;
        position: absolute;
        bottom: 0;
        right: 0; }
    #wrap main footer .copy {
      padding-bottom: 20px;
      text-align: center;
      font-size: 0.7em; }
    @media screen and (max-width: 767px) {
      #wrap main footer {
        padding: 0 4%; }
        #wrap main footer dl {
          width: 100%;
          margin: 0 auto;
          padding: 40px 0 30px;
          display: block; }
          #wrap main footer dl dt {
            width: 30%;
            padding-left: 0; }
          #wrap main footer dl dd {
            width: 310px;
            height: 310px;
            margin: 50px auto 0; }
            #wrap main footer dl dd p {
              padding: 38px 0 96px;
              font-size: 0.9em; }
            #wrap main footer dl dd .more_caption {
              background: none;
              padding: 20px 0 0 0;
              font-size: 0.7em; }
          #wrap main footer dl dd::before {
            content: "";
            background: url("../img/link_bg_img_1.png") left top no-repeat;
            background-size: 120px;
            width: 120px;
            height: 120px;
            position: absolute;
            top: 30px;
            right: 0; }
          #wrap main footer dl dd::after {
            content: "";
            background: url("../img/link_bg_img_2.png") left top no-repeat;
            background-size: 100px;
            width: 100px;
            height: 100px;
            position: absolute;
            top: 80px;
            right: 126px; }
        #wrap main footer .copy {
          font-size: 0.64em; } }
  #wrap main #thanks {
    background-color: #fefbdb;
    padding-top: 80px; }
    #wrap main #thanks h2 {
      margin: 30px auto;
      color: #25b7aa;
      font-size: 1.6em;
      text-align: center;
      font-weight: 900; }
    #wrap main #thanks .thanks_txt {
      width: 800px;
      margin: 0 auto; }
      #wrap main #thanks .thanks_txt p {
        line-height: 1.6; }
    @media screen and (max-width: 767px) {
      #wrap main #thanks {
        padding: 60px 4% 0; }
        #wrap main #thanks h2 {
          margin: 30px auto 20px;
          font-size: 1.2em; }
        #wrap main #thanks .thanks_txt {
          width: 100%;
          margin: 0 auto; }
          #wrap main #thanks .thanks_txt p {
            line-height: 1.6;
            font-size: 0.9em; } }
  #wrap #pagetop {
    position: fixed;
    bottom: 0;
    right: 10px;
    z-index: 10001; }
    #wrap #pagetop p {
      width: 70px;
      line-height: 0; }
    @media screen and (max-width: 767px) {
      #wrap #pagetop {
        right: 0; }
        #wrap #pagetop p {
          width: 50px; } }
  #wrap *:focus {
    outline: none; }
