@charset "UTF-8";

/*--------------
ここから
--------------*/


/* ▽ 初期設定 --------------*/

#takoyaki {
  position: relative;
  /* padding-bottom: 120px; */
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  font-family: YakuHanJP, "M PLUS Rounded 1c", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  color: var(--color_base);
  overflow: hidden;
} 

#takoyaki * {
  box-sizing: border-box;
}

#takoyaki img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

#takoyaki a {
  transition: 0.5s ease-in-out;
  text-decoration: none;
  color: #0081cc;
}

#takoyaki a:hover {
  opacity: 0.7;
  transition: 0.3s ease-in-out;
}

@media screen and (max-width: 767px) {
  #takoyaki a:hover {
    opacity: 1;
  }
}

.pc {
  display:block !important;
}

.sp {
  display: none !important;
}

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

  .sp {
    display: block !important;
  }
}

#takoyaki ul, #takoyaki li {
  list-style: none;
}


/*--------------
レイアウト
--------------*/

#takoyaki section {
  width: 100%;
  margin: 0;
  padding: 0;
}

#takoyaki .l_container {
  max-width: 1280px;
  margin: 0 auto;
}

#takoyaki .l_inner {
  max-width: 1104px;
  margin: 0 auto;
  padding: 0 calc(40/1280*100%);
}

@media screen and (max-width: 767px) {
  #takoyaki .l_inner {
    padding: 0 calc(40/750*100%);
  }
}

/*--------------
メソッド
--------------*/

:root {
  --color_base: #222;
  --color_white: #fff;
  --color_navy: #01157b;
  --ff_no-yaku: "M PLUS Rounded 1c", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}

/* ▽ シャドウ --------------*/

.shadow {
  filter:drop-shadow(8px 8px 8px rgba(119, 185, 205, .3));
  will-change: filter;
}

/* ▽ スクロールインビュー(フェードアップ) --------------*/

#takoyaki .fade_up{
  opacity: 0;
  transform: translateY(30px);
}

#takoyaki .fade_up.active {
  opacity: 1;
  transform: translateY(0);
  animation-fill-mode: backwards;
  animation: fadeUp 1s forwards;
}

@keyframes fadeUp{
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/*--------------
キービジュアル
--------------*/  

#takoyaki .kv {
  max-width: 100%;
  margin: 0 auto;
}

#takoyaki .kv_kikan_wrap {
  max-width: 100%;
  background-color: var(--color_navy);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  color: var(--color_white);
  text-align: center;
}

#takoyaki .kv_kikan_wrap {
  max-width: 100%;
  background-color: var(--color_navy);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  color: var(--color_white);
  text-align: center;
}

#takoyaki .kv_kikan_wrap p {
  padding: 1em 0;
}

@media screen and (max-width: 1000px) {
  #takoyaki .kv_kikan_wrap {
    font-size: 3.2vw;
  }
}

@media screen and (max-width: 767px) {
  #takoyaki .kv_kikan_wrap {
    font-size: 4.2vw;
    line-height: 1.4;
  }

  #takoyaki .kv_kikan_wrap p {
    padding: .5em 0;
  }
}

/*--------------
セクション01
--------------*/

#takoyaki .sec01 {
  background: url(/cp/takoyaki/img/sec01_bg.jpg) repeat center center / auto;
}

#takoyaki .sec01_image {
  max-width: calc(1000/1280*100%);
  margin: 0 auto;
  padding-top: calc(80/1280*100%);
}

@media screen and (max-width: 767px) {
  #takoyaki .sec01_image {
    max-width: calc(730/750*100%);
    padding-top: calc(80/750*100%);
  }
}

#takoyaki .sec01_text {
  font-size: 36px;
  font-weight: 800;
  line-height: 1.5;
  color: var(--color_white);
  text-align: center;
  margin: calc(40/1024*100%) auto 0;
}

@media screen and (max-width: 1000px) {
  #takoyaki .sec01_text {
    font-size: 3.6vw;
  }
}

@media screen and (max-width: 767px) {
  #takoyaki .sec01_text {
    font-size: 6.4vw;
    margin: calc(40/670*100%) auto 0;
  }
}

#takoyaki .sec01_btn {
  width: calc(415/1024*100%);
  margin: calc(30/1024*100%) auto 0;
  display: block;
  padding-bottom: calc(240/1024*100%);
}

@media screen and (max-width: 767px) {
  #takoyaki .sec01_btn {
    width: calc(590/670*100%);
    margin: calc(60/670*100%) auto 0;
    display: block;
    padding-bottom: calc(280/670*100%);
  }
}

/*--------------
セクション02
--------------*/

#takoyaki .sec02 {
    background: url(/cp/takoyaki/img/sec02_bg.jpg) repeat center center / auto;
    position: relative;
}

#takoyaki .sec02_container {
    max-width: 864px;
    margin: 0 auto;
    padding: 570px 0 calc(120/1024*100%);
    position: relative;
}

@media screen and (max-width: 1000px) {
  #takoyaki .sec02_container {
    max-width: 86.4vw;
    padding: 57vw 0 12vw;
  }
}

@media screen and (max-width: 767px) {
  #takoyaki .sec02_container {
    max-width: 100%;
    padding: calc(460/670*100%) 0 calc(100/670*100%);
  }
}

#takoyaki .sec02_ttl {
  width: calc(825/864*100%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: -120px auto 0;
}

@media screen and (max-width: 1000px) {
  #takoyaki .sec02_ttl {
    width: 82.5vw;
    margin: -12vw auto 0;
  }
}

@media screen and (max-width: 767px) {
  #takoyaki .sec02_ttl {
    width: calc(734/670*100%);
    margin: calc(-160/670*100%) 0 0 calc(-32/670*100%);
  }
}

#takoyaki .sec02_notes {
  font-size: 12px;
  text-align: right;
}

@media screen and (max-width: 1000px) {
  #takoyaki .sec02_notes {
    font-size: 1.2vw;
  }
}

@media screen and (max-width: 767px) {
  #takoyaki .sec02_notes {
    font-size: 3.2vw;
  }
}

#takoyaki .sec02_wrap {
  margin: calc(80/864*100%) auto 0;
  border-radius: 10px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  #takoyaki .sec02_wrap {
    margin: calc(80/670*100%) auto 0;
    border-radius: 1.3vw;
  }
}

#takoyaki .sec02_wrap_ttl {
  background: url(/cp/takoyaki/img/sec02_ttl_bg.jpg) repeat center / 10%;
  text-align: center;
  padding: calc(20/864*100%) 0;
  width: 100%;
}

@media screen and (max-width: 767px) {
  #takoyaki .sec02_wrap_ttl {
    background: url(/cp/takoyaki/img/sec02_ttl_bg.jpg) repeat center / 15%;
    padding: calc(20/670*100%) 0;
  }
}

#takoyaki .sec02_wrap_ttl_oubo {
  width: calc(175/864*100%);
  margin: 0 auto;
  display: block;
}

@media screen and (max-width: 767px) {
  #takoyaki .sec02_wrap_ttl_oubo {
    width: calc(240/670*100%);
  }
}

#takoyaki .sec02_wrap_contents {
  background-color: var(--color_white);
  padding: calc(40/864*100%) calc(80/864*100%) calc(50/864*100%);
}

@media screen and (max-width: 767px) {
  #takoyaki .sec02_wrap_contents {
    background-color: var(--color_white);
    padding: calc(30/670*100%) calc(40/670*100%) calc(60/670*100%);
  }
}

#takoyaki .how_list {
  font-size: 20px;
  font-weight: 500;
  list-style: none;
}

@media screen and (max-width: 1000px) {
  #takoyaki .how_list {
    font-size: 2vw;
  }
}

@media screen and (max-width: 767px) {
  #takoyaki .how_list {
    font-size: 4.2vw;
    line-height: 1.2;
  }
}

.how_list li {
  text-indent: -2em;
  padding-left: 2em;
}

@media screen and (max-width: 767px) {
  .how_list li {
    margin-top: .8em;
  }

  .how_list li:first-child {
    margin-top: 0em;
  }
}

.how_list li span{
  font-size: 150%;
  color: #dc0000;
  margin-right: .3em;
  vertical-align:-.12em;  
}

#takoyaki .btn_friend {
  text-align: center;
  text-indent: 0; 
  padding-left: 0;
  margin-bottom: .5em;
}

#takoyaki .btn_friend a {
  width: 9em;
  background-color: #06c755;
  border-radius: 9999px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .3em 0;
  text-align: center;
}

@media screen and (max-width: 1000px) {
  #takoyaki .btn_friend a {
    font-size: 2vw;
  }
}

@media screen and (max-width: 767px) {
  #takoyaki .btn_friend a {
    font-size: 4.2vw;
    width: 8em;
    margin-top: .5em;
  }
}

#takoyaki .sec02_wrap_banner {
  width: calc(400/704*100%);
  margin: calc(40/704*100%) auto calc(30/704*100%);
}

@media screen and (max-width: 767px) {
  #takoyaki .sec02_wrap_banner {
    width: 100%;
    margin: calc(60/590*100%) auto 0;
  }
}

#takoyaki .sec02_kikan {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 28px;
  font-weight: 700;
}

@media screen and (max-width: 1000px) {
  #takoyaki .sec02_kikan {
    font-size: 2.8vw
  }
}

@media screen and (max-width: 767px) {
  #takoyaki .sec02_kikan {
    font-size: 5.3vw;
    line-height: 1.5;
  }
}


/*--------------
規約
--------------*/

#takoyaki .kiyaku a {
  text-decoration: underline;
}

#takoyaki .ttl_kiyaku,
#takoyaki .ttl_kiyaku02 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  margin-top: calc(80/1024*100%);
  color: var(--color_white);
  background-color: var(--color_navy);
  border-radius: 8px;
  padding: .5em 0;
}

#takoyaki .ttl_kiyaku02 {
  color: var(--color_base);
  background-color: #dadada;
}

@media screen and (max-width: 1000px) {
  #takoyaki .ttl_kiyaku,
  #takoyaki .ttl_kiyaku02 {
    font-size: 2.8vw;
  }
}

@media screen and (max-width: 767px) {
  #takoyaki .ttl_kiyaku,
  #takoyaki .ttl_kiyaku02 {
    font-size: 5.3vw;
  }
}

/* ▽ テキスト --------------*/

#takoyaki .text_16 {
  font-size: 16px;
  line-height: 1.5;
  text-align: justify;
  margin-top: 1em;
}

@media screen and (max-width: 1000px) {
  #takoyaki .text_16 {
    font-size: 1.6vw;
  }
}

@media screen and (max-width: 767px) {
  #takoyaki .text_16 {
    font-size: 3.7vw;
  }
}

#takoyaki .text_16 a {
  text-decoration: underline;
}

.no_yaku {
  font-family: var(--ff_no-yaku);
}

/* ▽ リスト --------------*/

#takoyaki .kiyaku_list {
  text-indent: -1em;
  padding-left: 1em;
}

#takoyaki .kiyaku_list li {
  margin-top: .3em;
}

#takoyaki .kiyaku_notes {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 14px;
  line-height: 1.5;
  margin-top: 1em;
}

@media screen and (max-width: 1000px) {
  #takoyaki .kiyaku_notes {
    font-size: 1.4vw;
  }
}

@media screen and (max-width: 767px) {
  #takoyaki .kiyaku_notes {
    font-size: 3.2vw;
  }
}