@charset "UTF-8";
/* ============================================================
	mod_info
============================================================ */
/* ============================================================
	top_visual
============================================================ */
.top_visual {
  width: 100%;
  background: #f32611;
  color: #FFF;
}
.top_visual .pc {
  display: none;
}
.top_visual .sp {
  width: 100%;
  background: url("../images/common/bg_ptn_gd01.jpg") 0 0 repeat-x;
}
.top_visual .sp img {
  width: 100%;
  height: auto;
}
.top_visual .text {
  padding: 20px;
}
.top_visual .text p {
  font-size: 16px;
  text-align: center;
}

@media screen and (min-width: 640px) {
  .top_visual .sp {
    display: none;
  }

  .top_visual {
    width: 100%;
    height: 100%;
    position: relative;
    top: 0;
    left: 0;
    background: #f32611 url("../images/common/bg_ptn_gd01.jpg") 0 0 repeat-x;
  }
  .top_visual .inner {
    position: relative;
    top: 0;
    left: 0;
  }

  .top_visual .inner {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
  }

  .top_visual .pc {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    top: 0;
    left: 0;
    display: block;
  }
  .top_visual .pc h1 {
    position: absolute;
    top: -5vh;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 100vw;
    height: 50vw;
    z-index: 3;
  }
  .top_visual .pc .temple {
    width: 164px;
    height: 112px;
    position: absolute;
    bottom: 0px;
    left: 50%;
    margin-left: -82px;
    z-index: 3;
  }
  .top_visual .pc .asahi {
    width: 1110px;
    height: 1110px;
    position: absolute;
    bottom: -555px;
    left: 50%;
    margin-left: -555px;
    z-index: 1;
    -webkit-animation: spin 20s linear infinite;
    -moz-animation: spin 20s linear infinite;
    -ms-animation: spin 20s linear infinite;
    -o-animation: spin 20s linear infinite;
    animation: spin 20s linear infinite;
  }
  .top_visual .pc .cloud {
    position: absolute;
    z-index: 2;
  }
  .top_visual .pc .cloud.cloud-right-top {
    width: 70vw;
    top: 0;
    right: -20vw;
  }
  .top_visual .pc .cloud.cloud-left-bottom {
    width: 80vw;
    bottom: 0;
    left: -30vw;
  }
  .top_visual .pc .cloud.cloud-right-bottom {
    width: 70vw;
    right: -40vw;
    bottom: 5vh;
  }
  .top_visual .pc .chara {
    position: absolute;
    z-index: 3;
  }
  .top_visual .pc .chara.chara01 {
    width: 70vw;
    bottom: 5vh;
    left: 10vw;
  }
  .top_visual .pc .chara.chara02 {
    width: 80vw;
    bottom: 10vh;
    left: 30vw;
  }
  .top_visual .pc .chara.chara03 {
    width: 70vw;
    right: -40vw;
    bottom: 5vh;
  }

  .top_visual .text {
    position: absolute;
    top: 7vh;
    left: 0vw;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    z-index: 3;
  }
  .top_visual .text p {
    font-size: 2.2vw;
    font-weight: bold;
    text-align: left;
  }
  .top_visual .text p + p {
    margin: 0 1em 0 0;
  }
}
@media screen and (-webkit-device-pixel-ratio: 3) and (orientation: landscape) {
  .top_visual {
    height: 100%;
    min-height: 1024px;
  }
}
@media screen and (min-width: 769px) {
  .top_visual {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    top: 0;
    left: 0;
    background: #f32611 url("../images/common/bg_ptn_gd01.jpg") 0 0 repeat-x;
  }
  .top_visual .inner {
    position: relative;
    top: 0;
    left: 0;
  }

  .top_visual .inner {
    width: 980px;
    height: 100%;
    margin: 0 auto;
  }

  .top_visual .pc {
    overflow: inherit;
    position: relative;
  }
  .top_visual .pc h1 {
    width: 800px;
    height: 500px;
    top: 40px;
  }
  .top_visual .pc .cloud.cloud-right-top {
    width: 690px;
    height: 390px;
    top: 0px;
    right: -450px;
  }
  .top_visual .pc .cloud.cloud-left-bottom {
    width: 810px;
    height: 370px;
    bottom: 5px;
    left: -520px;
  }
  .top_visual .pc .cloud.cloud-right-bottom {
    width: 340px;
    height: 125px;
    right: -170px;
    bottom: 10px;
  }
  .top_visual .pc .chara {
    position: absolute;
  }
  .top_visual .pc .chara.chara01 {
    width: 100px;
    height: 155px;
    bottom: 40px;
    left: 0px;
  }
  .top_visual .pc .chara.chara02 {
    width: 110px;
    height: 122px;
    bottom: 0;
    left: 140px;
  }
  .top_visual .pc .chara.chara03 {
    width: 160px;
    height: 177px;
    right: 20px;
    bottom: 80px;
  }

  .top_visual .text {
    top: 140px;
    left: -40px;
    z-index: 3;
  }
  .top_visual .text p {
    font-size: 16px;
  }
  .top_visual .text p + p {
    margin: 0 2em 0 0;
  }
}
/* ============================================================
	features_blk （cols_four）
============================================================ */
.features_blk .container {
  padding: 30px 15px;
}

.cols_four {
  margin-top: 60px;
  margin-bottom: 30px;
}
.cols_four .cols {
  background-color: #FFF;
  position: relative;
  padding: 40px 20px;
}
.cols_four .cols + .cols {
  margin-top: 20px;
}
.cols_four .cols .label {
  position: absolute;
  top: 5px;
  left: 5px;
}
.cols_four .cols .icon {
  margin-bottom: 20px;
}
.cols_four .cols p {
  font-size: 18px;
  line-height: 1.7;
  font-weight: bold;
  text-align: center;
  color: #3e3a39;
}

@media screen and (min-width: 640px) {
  .features_blk .container {
    padding: 40px 15px;
    position: relative;
  }
  .features_blk .container:after {
    content: "";
    display: block;
    width: 1100px;
    height: 347px;
    position: absolute;
    right: -510px;
    bottom: 0;
    background-image: url("../images/common/cloud03.png");
    background-position: 0 0;
    background-size: cover;
    background-repeat: no-repeat;
  }
  .features_blk .container > div {
    position: relative;
    z-index: 2;
  }
  .features_blk .row + .row {
    margin-top: 60px;
  }

  .cols_four {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    flex-wrap: wrap;
    margin: 0 -0.5%;
    margin-bottom: 30px;
  }
  .cols_four .cols {
    width: 49%;
    margin: 0 0.5% 1% 0.5%;
  }
  .cols_four .cols + .cols {
    margin-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .features_blk .container {
    padding: 80px 15px;
  }
  .features_blk .row + .row {
    margin-top: 60px;
  }

  .cols_four {
    margin: 0;
    margin-bottom: 40px;
  }
  .cols_four .cols {
    width: 230px;
    height: 230px;
    margin: 0;
  }
  .cols_four .cols + .cols {
    margin-top: 0;
    margin-left: 20px;
  }
}
/* ============================================================
	preferences_blk
============================================================ */
.preferences_blk {
  padding-bottom: 30px;
}

.bg_cover .titleStyle02 {
  margin-bottom: 0;
  padding: 40px 20px;
  background-color: rgba(255, 255, 255, 0.8);
}
.bg_cover .titleStyle02 p {
  color: #3e3a39;
}

@media screen and (min-width: 769px) {
  .preferences_blk .blk_top {
    height: 690px;
  }

  .about_lineup_blk .blk_top {
    height: 690px;
  }

  .intro_blk .blk_top {
    height: 690px;
  }
}
.cols_two {
  margin: 30px 0 0 0;
}
.cols_two .row + .row {
  margin-top: 20px;
}
.cols_two .cols {
  width: 100%;
  height: 190px;
  min-height: 190px;
  padding: 40px 0px;
  position: relative;
  display: table;
}
.cols_two .cols + .cols {
  margin-top: 20px;
}
.cols_two .cols .inner {
  width: 100%;
  height: 100%;
  display: table-cell;
  vertical-align: middle;
}
.cols_two .cols .inner p {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}
.cols_two .cols .label {
  position: absolute;
  top: 5px;
  left: 5px;
}

@media screen and (min-width: 640px) {
  .blk_top {
    position: relative;
    z-index: 2;
  }

  .preferences_blk {
    padding-bottom: 40px;
  }
  .preferences_blk .container {
    position: relative;
  }
  .preferences_blk .container > div {
    position: relative;
    z-index: 2;
  }
  .preferences_blk .container:after, .preferences_blk .container:before {
    content: "";
    display: block;
    position: absolute;
    background-position: 0 0;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 1;
  }
  .preferences_blk .container:before {
    background-image: url("../images/common/cloud05.png");
    width: 920px;
    height: 230px;
    top: -115px;
    right: -530px;
  }
  .preferences_blk .container:after {
    background-image: url("../images/common/cloud04.png");
    width: 810px;
    height: 370px;
    bottom: -100px;
    left: -400px;
  }

  .cols_two {
    padding-top: 80px;
    margin-top: 0;
  }

  .cols_two .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    flex-wrap: wrap;
    margin: 0 -0.5%;
  }
  .cols_two .row + .row {
    margin-top: 0px;
    margin-top: 0;
  }
  .cols_two .row .cols {
    width: 49%;
    min-height: 380px;
    margin: 0 0.5% 1% 0.5%;
  }
  .cols_two .row .cols + .cols {
    margin-top: 0;
  }
  .cols_two .row .cols .inner p {
    font-size: 22px;
  }
}
@media screen and (min-width: 769px) {
  .preferences_blk {
    padding-bottom: 60px;
  }
  .preferences_blk .container:before {
    top: -115px;
    right: -250px;
  }
  .preferences_blk .container:after {
    left: -510px;
  }

  .cols_two {
    padding-top: 80px;
    margin-top: 0;
  }

  .cols_two .row {
    margin: 0;
  }
  .cols_two .row + .row {
    margin-top: 60px;
  }
  .cols_two .row .cols {
    width: 460px;
    min-height: 380px;
    margin: 0;
  }
  .cols_two .row .cols + .cols {
    margin-left: 60px;
  }
  .cols_two .row .cols .inner p {
    font-size: 22px;
  }
}
/* ============================================================
	lineup_blk01 
============================================================ */
.lineup_blk01 {
  padding: 30px 0;
}

.itemStyle01 .item + .item {
  margin-top: 20px;
}
.itemStyle01 .item .title {
  width: 196px;
  margin: 0 auto 0px auto;
  position: relative;
}
.itemStyle01 .item .title .name {
  position: relative;
  left: -10px;
}
.itemStyle01 .item .title .chara {
  position: absolute;
  bottom: 0;
  right: -55px;
}
.itemStyle01 .item .detail {
  margin-top: 10px;
}
.itemStyle01 .item .detail .cap, .itemStyle01 .item .detail .price {
  font-weight: bold;
  font-size: 18px;
  line-height: 1.7;
}
.itemStyle01 .item .detail .price {
  text-align: right;
}

.obj {
  display: none;
}

.itemStyle02 {
  margin-bottom: 30px;
}

.itemStyle02 .item + .item {
  margin-top: 30px;
}
.itemStyle02 .item .name {
  font-size: 27px;
  color: #FFF;
  font-family: "すずむし","Suzumushi";
  letter-spacing: -0.17em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.itemStyle02 .item .name span {
  font-size: 16px;
  letter-spacing: 0.1em;
  padding-left: 10px;
}
.itemStyle02 .item .cap, .itemStyle02 .item .price {
  font-weight: bold;
  font-size: 18px;
  line-height: 1.5;
}
.itemStyle02 .item .price {
  text-align: right;
  margin-top: 5px;
}

@media screen and (min-width: 640px) {
  .itemStyle01 .item .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .itemStyle01 .item + .item {
    margin-top: 0px;
  }
  .itemStyle01 .item .title {
    margin: 0;
  }
  .itemStyle01 .item .title .chara {
    position: absolute;
    bottom: inherit;
    top: 100px;
    right: -55px;
  }
  .itemStyle01 .item .detail {
    margin-top: 0px;
    padding: 0 20px;
  }

  .itemStyle02 .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin: 0 -0.5%;
  }
  .itemStyle02 .item {
    width: 49%;
    margin: 0 0.5%;
  }
  .itemStyle02 .item + .item {
    margin-top: 0px;
  }
  .itemStyle02 .cap {
    font-size: 17px;
  }
  .itemStyle02 .price {
    text-align: right;
    margin-top: 5px;
  }
}
@media screen and (min-width: 769px) {
  .obj {
    display: block;
  }
  .obj.obj01 {
    width: 386px;
    position: absolute;
    top: -260px;
    right: -100px;
  }

  .lineup_blk01 .container {
    padding-top: 20px;
    position: relative;
  }

  .itemStyle01 {
    width: 840px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
  }

  .itemStyle01 .item .title {
    width: 280px;
    margin: 0;
  }
  .itemStyle01 .item .title .name {
    position: relative;
    left: 0px;
  }
  .itemStyle01 .item .title .name img {
    width: 100%;
    height: auto;
  }
  .itemStyle01 .item .title .chara {
    position: absolute;
    top: 150px;
    right: -65px;
  }
  .itemStyle01 .item .name img {
    width: 100%;
  }
  .itemStyle01 .item .thum {
    margin-left: auto;
  }
  .itemStyle01 .item .detail {
    width: 280px;
    padding: 0px;
    position: relative;
    top: -60px;
    left: 20px;
  }

  .itemStyle02 {
    width: 840px;
    margin: 0 auto 40px auto;
  }
  .itemStyle02 .cap, .itemStyle02 .name, .itemStyle02 .price {
    padding: 0 20px;
  }
}
/* ============================================================
	present
============================================================ */
.present {
  padding-bottom: 30px;
}
.present .blk_top {
  padding: 30px 15px 0 15px;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f32611+80,000000+100&1+45,0+100 */
  background: -moz-linear-gradient(top, #f32611 45%, rgba(243, 38, 17, 0.36) 80%, transparent 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #f32611 45%, rgba(243, 38, 17, 0.36) 80%, transparent 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #f32611 45%, rgba(243, 38, 17, 0.36) 80%, transparent 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f32611', endColorstr='#00000000',GradientType=0 );
  /* IE6-9 */
}
.present .sp {
  position: relative;
  padding-bottom: 200px;
  margin-bottom: 30px;
}
.present .sp .taC {
  position: relative;
  z-index: 2;
}
.present .sp .bottom {
  width: 700px;
  height: 226px;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -350px;
}
.present .pc {
  display: none;
}

@media screen and (min-width: 640px) {
  .present {
    padding-bottom: 30px;
  }
  .present .blk_top {
    padding: 30px 15px 0 15px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f32611+80,000000+100&1+45,0+100 */
    background: -moz-linear-gradient(top, #f32611 45%, rgba(243, 38, 17, 0.36) 80%, transparent 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #f32611 45%, rgba(243, 38, 17, 0.36) 80%, transparent 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #f32611 45%, rgba(243, 38, 17, 0.36) 80%, transparent 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f32611', endColorstr='#00000000',GradientType=0 );
    /* IE6-9 */
  }
  .present .sp {
    display: none;
  }
  .present .pc {
    padding-top: 357px;
    position: relative;
    margin-top: -50px;
    margin-bottom: 30px;
    display: block;
  }
  .present .pc figure {
    width: 800px;
    height: 357px;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -400px;
  }
}
@media screen and (min-width: 769px) {
  .present {
    padding-bottom: 60px;
  }
  .present .blk_top {
    padding: 40px 15px 0 15px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f32611+80,000000+100&1+45,0+100 */
    background: -moz-linear-gradient(top, #f32611 45%, rgba(243, 38, 17, 0.36) 80%, transparent 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #f32611 45%, rgba(243, 38, 17, 0.36) 80%, transparent 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #f32611 45%, rgba(243, 38, 17, 0.36) 80%, transparent 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f32611', endColorstr='#00000000',GradientType=0 );
    /* IE6-9 */
  }
  .present .pc {
    padding-top: 625px;
    position: relative;
    margin-top: -190px;
    margin-bottom: 30px;
    z-index: 2;
  }
  .present .pc figure {
    width: 1402px;
    height: 625px;
    margin-left: -701px;
  }
}
/* ============================================================
	about_visual
============================================================ */
.about_visual {
  width: 100%;
  background: #f32611 url("../images/common/bg_ptn_gd01.jpg") 0 0 repeat-x;
  color: #FFF;
  padding: 30px 15px;
  position: relative;
}
.about_visual .pc {
  display: none;
}

.obj {
  width: 100%;
  display: block;
}
.obj .present {
  display: none;
}
.obj .obj03 {
  width: 140px;
  position: absolute;
  bottom: 40px;
  left: 20px;
}
.obj .obj02 {
  width: 140px;
  position: absolute;
  bottom: 40px;
  right: 0;
}
.obj .asahi {
  display: none;
}

@media screen and (min-width: 640px) {
  .about_visual {
    overflow: hidden;
  }
  .about_visual .inner {
    padding: 30px 15px 250px 15px;
    position: relative;
  }
  .about_visual .sp {
    display: none;
  }
  .about_visual .pc {
    width: 70%;
    margin: -10px auto 0 auto;
    display: block;
    position: absolute;
    bottom: 8%;
    left: 50%;
    margin-left: -35%;
    z-index: 4;
  }
  .about_visual:after {
    content: "";
    display: block;
    width: 100%;
    height: 100px;
    background-color: #f32611;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
  }

  .obj .obj03 {
    width: 140px;
    position: absolute;
    bottom: 40px;
    left: 5%;
    z-index: 3;
  }
  .obj .obj02 {
    width: 140px;
    position: absolute;
    bottom: 40px;
    right: 5%;
    z-index: 3;
  }
  .obj .asahi {
    width: 1110px;
    height: 1110px;
    display: block;
    position: absolute;
    bottom: -475px;
    left: 50%;
    margin-left: -555px;
    z-index: 1;
    -webkit-animation: spin 20s linear infinite;
    -moz-animation: spin 20s linear infinite;
    -ms-animation: spin 20s linear infinite;
    -o-animation: spin 20s linear infinite;
    animation: spin 20s linear infinite;
  }
}
@media screen and (min-width: 769px) {
  .about_visual .inner {
    width: 980px;
    margin: 0 auto;
    position: relative;
    padding: 40px 15px 330px 15px;
  }
  .about_visual .pc {
    width: 750px;
    margin: 0px auto 0 auto;
    display: block;
    position: absolute;
    bottom: 30px;
    left: 50%;
    margin-left: -340px;
    z-index: 4;
  }
  .about_visual .obj img {
    width: 100%;
  }
  .about_visual .obj .obj03 {
    width: 180px;
    position: absolute;
    bottom: 150px;
    left: -10px;
    z-index: 3;
  }
  .about_visual .obj .obj02 {
    width: 280px;
    position: absolute;
    bottom: 300px;
    right: 20px;
    z-index: 3;
  }
  .about_visual .obj .asahi {
    width: 1110px;
    height: 1110px;
    position: absolute;
    bottom: -505px;
    left: 50%;
    margin-left: -555px;
    z-index: 1;
    -webkit-animation: spin 20s linear infinite;
    -moz-animation: spin 20s linear infinite;
    -ms-animation: spin 20s linear infinite;
    -o-animation: spin 20s linear infinite;
    animation: spin 20s linear infinite;
  }
}
/* ============================================================
	regular menu
============================================================ */
.regular_menu {
  padding: 30px 0;
}
.regular_menu .cols {
  text-align: center;
}
.regular_menu .cols + .cols {
  margin-top: 20px;
}
.regular_menu .blk_top {
  margin-bottom: 20px;
}
.regular_menu .text {
  width: 254px;
  height: 280px;
  position: relative;
  left: -0px;
  background: url("../images/common/text_bg.png") 0 0 no-repeat;
  background-size: contain;
  margin: 0 auto -70px auto;
  display: table;
}
.regular_menu .text .inner {
  display: table-cell;
  vertical-align: middle;
}
.regular_menu .text .inner p {
  font-size: 16px;
  line-height: 1.7;
  text-align: center;
  font-weight: bold;
  color: #c81528;
  padding-left: 30px;
  margin-top: -5px;
}
.regular_menu .thum {
  position: relative;
  z-index: 2;
}
.regular_menu .name {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.regular_menu .name br {
  display: none;
}

@media screen and (min-width: 640px) {
  .regular_menu {
    padding: 60px 0;
    position: relative;
  }
  .regular_menu .cols {
    text-align: center;
  }
  .regular_menu .cols + .cols {
    margin-top: 0px;
  }
  .regular_menu .blk_top {
    margin-bottom: 0px;
  }
  .regular_menu .blk_body {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .regular_menu .daikichi {
    width: 160px;
    position: absolute;
    top: 80px;
    right: 10px;
  }
  .regular_menu .text {
    width: 214px;
    height: 236px;
  }
  .regular_menu .text .inner p {
    font-size: 14px;
  }
  .regular_menu .thum {
    position: relative;
    z-index: 2;
  }
  .regular_menu .name {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
  }
  .regular_menu .name br {
    display: block;
  }
}
@media screen and (min-width: 769px) {
  .regular_menu {
    padding: 60px 0 80px 0;
  }
  .regular_menu .container {
    position: relative;
  }
  .regular_menu .daikichi {
    width: 160px;
    position: absolute;
    top: 20px;
    right: 40px;
  }
  .regular_menu .blk_body {
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -webkit-flex-pack: justify;
    -moz-flex-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
  }
  .regular_menu .text {
    width: 254px;
    height: 280px;
  }
  .regular_menu .text .inner p {
    font-size: 14px;
  }
  .regular_menu .name br {
    display: none;
  }
}
/* ============================================================
	item_detail
============================================================ */
.item_detail {
  padding: 30px 0;
}
.item_detail .blk_top {
  margin-bottom: 20px;
}
.item_detail .itemttl h2 {
  text-align: center;
  margin-bottom: 10px;
}
.item_detail .itemttl h2 img {
  width: 196px;
}
.item_detail .itemttl h3 {
  font-size: 27px;
  color: #FFF;
  text-align: center;
  font-family: "すずむし","Suzumushi";
  letter-spacing: -0.17em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.4;
}
.item_detail .item_img {
  margin-bottom: 20px;
}
.item_detail .item_img .row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
.item_detail .item_img .row > figure {
  width: 50%;
}
.item_detail .detail {
  padding: 20px;
}
.item_detail .detail p {
  color: #3e3a39;
}
.item_detail .detail .name {
  font-size: 18px;
  line-height: 1.7;
  font-weight: bold;
}
.item_detail .detail .price {
  font-size: 18px;
  line-height: 1.7;
  font-weight: bold;
  text-align: right;
  margin-bottom: 0;
}

@media screen and (min-width: 640px) {
  .item_detail {
    padding: 30px 0;
  }
  .item_detail .blk_top {
    margin-bottom: 20px;
  }
  .item_detail .itemttl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    background: url("../images/common/bgimage_kinpun_980.png") left bottom repeat-x;
  }
  .item_detail .itemttl h2 {
    text-align: left;
  }
  .item_detail .itemttl h2 img {
    width: 196px;
  }
  .item_detail .itemttl h3 {
    font-size: 34px;
    padding-top: 30px;
    text-align: left;
    padding-left: 30px;
  }
  .item_detail .detail {
    padding: 20px 200px 20px 20px;
    position: relative;
  }
  .item_detail .detail .chara {
    position: absolute;
    top: -40px;
    right: 0;
  }
}
@media screen and (min-width: 769px) {
  .item_detail {
    padding: 80px 0;
  }
  .item_detail .blk_top {
    margin-bottom: 20px;
  }
  .item_detail .itemttl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    background: url("../images/common/bgimage_kinpun_980.png") left bottom repeat-x;
  }
  .item_detail .itemttl h2 {
    text-align: left;
  }
  .item_detail .itemttl h2 img {
    width: 280px;
  }
  .item_detail .itemttl h3 {
    font-size: 34px;
    padding-top: 60px;
    line-height: 1.8;
    text-align: left;
    padding-left: 30px;
  }
  .item_detail .item_img {
    margin-top: -100px;
    position: relative;
    z-index: 2;
  }
  .item_detail .detail {
    margin-top: 40px;
    padding: 20px 200px 20px 40px;
    position: relative;
  }
  .item_detail .detail .chara {
    position: absolute;
    top: -40px;
    right: 0;
  }
}
.item_other {
  padding: 30px 0 0 0;
}
.item_other .blk_top {
  margin-bottom: 0px;
}
.item_other .item_detail.other {
  margin-top: 0;
  padding-top: 0;
}
.item_other .itemttl {
  margin-bottom: 20px;
}
.item_other .itemttl h2 {
  text-align: center;
  margin-bottom: 10px;
}
.item_other .itemttl h2 img {
  width: 196px;
}
.item_other .itemttl h3 {
  font-size: 27px;
  color: #000;
}
.item_other .item_img {
  margin-bottom: 20px;
}
.item_other .item_img .row {
  display: block;
}
.item_other .item_img .row > figure {
  width: 100%;
}
.item_other .detail {
  padding: 20px;
  background-color: #c81528;
}
.item_other .detail p {
  color: #FFF;
}
.item_other .detail .cap {
  margin-bottom: 0;
}
.item_other .detail .price {
  margin-top: 0;
}

.item_detail.other02 .item_img figure {
  margin-bottom: 20px;
}

@media screen and (min-width: 640px) {
  .item_other {
    padding: 30px 0;
  }
  .item_other .item_img {
    margin-bottom: 20px;
  }
  .item_other .item_img .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .item_other .item_img .row > figure {
    width: 50%;
  }
  .item_other .detail .cap {
    margin-bottom: 1em;
  }

  .item_detail.other02 .detail {
    width: 360px;
    height: 200px;
    position: relative;
    top: 40px;
    margin-left: auto;
  }
}
@media screen and (min-width: 769px) {
  .item_other {
    padding: 80px 0;
  }
  .item_other .item_img {
    margin-bottom: 20px;
    margin-top: -80px;
  }
  .item_other .item_img .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .item_other .item_img .row > figure {
    width: 50%;
  }
  .item_other .itemttl h2 {
    text-align: left;
  }
  .item_other .itemttl h2 img {
    width: 280px;
  }
  .item_other .itemttl h3 {
    font-size: 34px;
    padding-top: 60px;
    line-height: 1.8;
    text-align: left;
    padding-left: 30px;
  }
  .item_other .detail .cap {
    margin-bottom: 1em;
  }
  .item_other .item_detail + .item_detail {
    padding: 0px 0 0 0;
  }

  .item_detail.other02 figure {
    margin-left: 40px;
  }
  .item_detail.other02 .itemttl h2 img {
    width: 280px;
  }
  .item_detail.other02 .itemttl h3 {
    width: 600px;
    font-size: 34px;
    padding-top: 60px;
    line-height: 1.8;
    text-align: left;
    padding-left: 30px;
  }
  .item_detail.other02 .detail {
    width: 400px;
    position: relative;
    top: 40px;
    margin-left: 10px;
  }
}
/* ============================================================
	omikuji_flow
============================================================ */
.omikuji_flow {
  padding: 30px 0;
}
.omikuji_flow li + li:before {
  content: "";
  display: block;
  margin: 20px auto;
  width: 22px;
  height: 40px;
  background: url("../images/common/arrow01.png") 0 0 no-repeat;
  background-size: contain;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}
.omikuji_flow li figure {
  margin-bottom: 20px;
}
.omikuji_flow li h3 {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}

@media screen and (min-width: 640px) {
  .omikuji_flow {
    padding: 30px 0;
  }
  .omikuji_flow ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    flex-wrap: wrap;
  }
  .omikuji_flow li {
    width: 26.33333%;
    position: relative;
    margin: 0 3.5%;
  }
  .omikuji_flow li + li:before {
    content: "";
    display: block;
    margin: 0px auto;
    width: 22px;
    height: 40px;
    background: url("../images/common/arrow01.png") 0 0 no-repeat;
    background-size: contain;
    position: absolute;
    top: 30%;
    left: -22px;
    margin-left: -11px;
    margin-top: -20px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  .omikuji_flow li h3 {
    font-size: 18px;
    line-height: 1.6;
  }
}
@media screen and (min-width: 769px) {
  .omikuji_flow {
    padding: 80px 0;
  }
  .omikuji_flow li + li:before {
    top: 215px;
    left: -30px;
  }
  .omikuji_flow li figure {
    margin-bottom: 25px;
  }
}
/* ============================================================
	future_blk
============================================================ */
.future_blk {
  padding: 30px 0;
}

.future > div {
  background: #FFF;
  padding: 40px 20px 20px 20px;
  position: relative;
}
.future .cols {
  padding-bottom: 0;
}
.future .cols + .cols {
  margin-top: 30px;
}
.future .btnbox {
  margin-top: 40px;
}
.future p {
  color: #3e3a39;
}
.future .icon {
  margin-bottom: 20px;
}
.future .cap {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.future .label {
  position: absolute;
  top: 5px;
  left: 5px;
}

@media screen and (min-width: 640px) {
  .future {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin: 0 -1%;
  }
  .future > div {
    width: 49%;
    margin: 0 1%;
  }
  .future .btnbox a {
    width: 100%;
    min-width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .future_blk {
    padding: 80px 0;
  }

  .future {
    overflow: hidden;
    margin: 0 auto;
    display: block;
  }
  .future > div {
    width: 470px;
    float: left;
    margin: 0;
    padding: 50px 40px 40px 40px;
  }
  .future .right {
    margin-left: 40px;
  }
  .future .right .btnbox {
    margin-top: 90px;
  }
  .future .cols {
    padding-bottom: 0;
  }
  .future .cols + .cols {
    margin-top: 30px;
  }
  .future .btnbox a {
    width: 280px;
    min-width: 280px;
  }
}
/* ============================================================
	detaile_top_blk
============================================================ */
.detaile_top_blk {
  padding: 30px 0;
}

.point_list {
  width: 254px;
  margin: 0 auto;
  padding-top: 20px;
  position: relative;
}
.point_list .point {
  width: 254px;
  height: 280px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  margin: 0 auto -90px auto;
  display: table;
}
.point_list .point span {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  padding-left: 20px;
}
.point_list .point:last-child {
  margin-bottom: -80px;
}
.point_list .point01 {
  background-image: url("../images/about/point_square01.png");
}
.point_list .point02 {
  background-image: url("../images/about/point_square02.png");
}
.point_list .point03 {
  background-image: url("../images/about/point_square03.png");
}
.point_list .point04 {
  background-image: url("../images/about/point_square04.png");
}
.point_list .point05 {
  background-image: url("../images/about/point_square05.png");
}
.point_list .point06 {
  background-image: url("../images/about/point_square06.png");
}
.point_list .chara {
  width: 90px;
  position: absolute;
}
.point_list .chara01 {
  width: 140px;
  top: 200px;
  right: -90px;
}
.point_list .chara02 {
  top: 960px;
  right: -50px;
}
.point_list .chara03 {
  top: 570px;
  left: -40px;
}

@media screen and (min-width: 640px) {
  .point_list {
    margin-top: 30px;
    width: 100%;
    height: 0;
    padding-top: 100%;
  }
  .point_list .point {
    margin: 0;
    position: absolute;
  }
  .point_list .point:last-child {
    margin-bottom: 0px;
  }
  .point_list .point01 {
    top: 0%;
    left: 13%;
  }
  .point_list .point02 {
    top: 0%;
    left: 49%;
  }
  .point_list .point03 {
    top: 25%;
    left: 0%;
  }
  .point_list .point04 {
    top: 25%;
    left: 63%;
  }
  .point_list .point05 {
    top: 54%;
    left: 13%;
  }
  .point_list .point06 {
    top: 54%;
    left: 49%;
  }
  .point_list .chara01 {
    top: 0%;
    right: -5%;
  }
  .point_list .chara02 {
    top: 80%;
    right: 0px;
  }
  .point_list .chara03 {
    top: 70%;
    left: 2%;
  }

  .obento {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -105px;
    margin-left: -140px;
  }
}
@media screen and (min-width: 769px) {
  .detaile_top_blk {
    padding: 60px 0 80px 0;
  }

  .point_list {
    margin-top: 40px;
    height: 630px;
    padding-top: 0%;
  }
  .point_list .point {
    margin: 0;
    position: absolute;
    left: 50% !important;
    top: 50% !important;
    margin-left: -129px;
    margin-top: -140px;
  }
  .point_list .point:last-child {
    margin-bottom: 0px;
  }
  .point_list .point01 {
    margin-top: -310px;
    margin-left: -250px;
  }
  .point_list .point02 {
    margin-top: -310px;
    margin-left: -10px;
  }
  .point_list .point03 {
    margin-left: -380px;
    margin-top: -130px;
  }
  .point_list .point04 {
    margin-left: 120px;
    margin-top: -130px;
  }
  .point_list .point05 {
    margin-top: 50px;
    margin-left: -250px;
  }
  .point_list .point06 {
    margin-top: 50px;
    margin-left: -10px;
  }
  .point_list .chara {
    position: absolute;
  }
  .point_list .chara01 {
    width: 280px;
    top: -40px;
    right: -10px;
  }
  .point_list .chara02 {
    width: 180px;
    top: 400px;
    right: 40px;
  }
  .point_list .chara03 {
    width: 180px;
    top: 40px;
    left: 10px;
  }

  .obento {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -105px;
    margin-left: -140px;
  }
}
/* ============================================================
	cols_twoStyle01
============================================================ */
.cols_twoStyle01 .row {
  background-color: #FFF;
}
.cols_twoStyle01 .row + .row {
  margin-top: 20px;
}
.cols_twoStyle01 .thum {
  height: 190px;
}
.cols_twoStyle01 .text {
  padding: 40px 20px 30px 20px;
  position: relative;
}
.cols_twoStyle01 .text h2 {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.cols_twoStyle01 .text h2:before {
  content: "";
  width: 50px;
  height: 34px;
  display: block;
  margin: 0 auto 10px auto;
  background: url("../images/common/icon_obentou.png") 0 0 no-repeat;
  background-size: contain;
}
.cols_twoStyle01 .text p {
  color: #3e3a39;
}
.cols_twoStyle01 .label {
  position: absolute;
  top: 5px;
  left: 5px;
}

@media screen and (min-width: 640px) {
  .cols_twoStyle01 .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .cols_twoStyle01 .row:nth-child(even) {
    -webkit-flex-direction: row-reverse;
    /* Safari */
    flex-direction: row-reverse;
  }
  .cols_twoStyle01 .thum {
    width: 50%;
    height: auto;
  }
  .cols_twoStyle01 .text {
    width: 50%;
    padding: 40px 20px 30px 20px;
    position: relative;
  }
  .cols_twoStyle01 .text h2 {
    line-height: 1.6;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 769px) {
  .cols_twoStyle01 .row + .row {
    margin-top: 60px;
  }
  .cols_twoStyle01 .text {
    padding: 40px 60px 40px 60px;
  }
  .cols_twoStyle01 .text h2 {
    font-size: 24px;
    line-height: 1.6;
    margin-bottom: 20px;
  }
}
/* ============================================================
	eisei
============================================================ */
.cols_threeStyle {
  padding: 30px 0 40px 0;
}
.cols_threeStyle li + li {
  margin-top: 20px;
}
.cols_threeStyle figure {
  margin-bottom: 20px;
}
.cols_threeStyle h2 {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}

@media screen and (min-width: 640px) {
  .cols_threeStyle ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin: 0 2%;
  }
  .cols_threeStyle li {
    width: 33.3333%;
    padding: 0 2%;
  }
  .cols_threeStyle li + li {
    margin-top: 0px;
  }
  .cols_threeStyle h2 {
    font-size: 18px;
    line-height: 1.7;
  }
}
@media screen and (min-width: 769px) {
  .eisei .bg_cover {
    height: 590px;
  }

  .cols_threeStyle {
    padding: 60px 0 80px 0;
  }
  .cols_threeStyle ul {
    display: block;
    overflow: hidden;
    margin: 0;
  }
  .cols_threeStyle li {
    width: 280px;
    padding: 0;
    float: left;
  }
  .cols_threeStyle li + li {
    margin-left: 70px;
  }
  .cols_threeStyle h2 {
    font-size: 18px;
    line-height: 1.7;
  }
}
/* ============================================================
	top_blk
============================================================ */
.top_blk {
  padding: 30px 0;
}

@media screen and (min-width: 769px) {
  .top_blk {
    padding: 60px 0;
  }
}
/* ============================================================
	sys_point
============================================================ */
.account_blk {
  margin: 0 -15px;
  padding: 20px 15px;
}

.sys_point {
  background: url("../images/common/bg_ptn_bd_y.jpg") 0 0 repeat;
  padding: 5px;
}
.sys_point .inner {
  background: #FFF;
  padding: 15px;
}
.sys_point ul {
  width: 78vw;
  overflow: hidden;
  padding: 0 0px;
  margin: 0 auto;
  margin-bottom: 20px;
}
.sys_point li {
  background-color: #f32611;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  line-height: 1.7;
  width: 35vw;
  height: 35vw;
  border-radius: 100%;
  display: table;
  float: left;
  margin: 2vw;
}
.sys_point li > span {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.account {
  color: #205a70;
}
.account h2 {
  font-size: 27px;
  line-height: 1.7;
  font-family: "すずむし","Suzumushi";
  letter-spacing: -0.17em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #205a70;
  margin-bottom: 20px;
}
.account h2 span {
  display: block;
  text-align: center;
}
.account p {
  color: #205a70;
}
.account .pc {
  display: none;
}
.account figure {
  margin: 20px 0;
}
.account .notice {
  color: #FFF;
  font-weight: bold;
  background: #f32611;
  line-height: 1.6;
  text-align: center;
  padding: 10px 20px;
}

.cloud_right_top {
  display: none;
}

.cloud_left_bottom {
  display: none;
}

@media screen and (min-width: 640px) {
  .account_blk {
    margin: 0px -15px 0 -15px;
    padding: 20px 15px;
  }

  .sys_point {
    background: url("../images/common/bg_ptn_bd_y.jpg") 0 0 repeat;
    padding: 5px;
  }
  .sys_point .inner {
    background: #FFF;
    padding: 40px 15px 20px 15px;
  }
  .sys_point ul {
    width: 100%;
    overflow: inherit;
    height: 185px;
    padding: 0 0px;
    margin: 0 auto;
    margin-bottom: 20px;
    position: relative;
  }
  .sys_point li {
    width: 185px;
    height: 185px;
    border-radius: 100%;
    float: none;
    margin: 0;
    position: absolute;
    top: 0;
    left: 50%;
  }
  .sys_point li:nth-child(1) {
    margin-left: -340px;
    margin-top: 120px;
  }
  .sys_point li:nth-child(2) {
    margin-left: -189px;
  }
  .sys_point li:nth-child(3) {
    margin-left: 5px;
  }
  .sys_point li:nth-child(4) {
    margin-left: 155px;
    margin-top: 120px;
  }
  .sys_point li > span {
    font-size: 24px;
  }

  .account {
    padding: 0 20px;
  }
  .account h2 {
    font-size: 34px;
  }
  .account p {
    text-align: center;
  }
  .account .sp {
    display: none;
  }
  .account .pc {
    display: block;
  }
  .account figure {
    margin: 20px 0 30px 0;
  }
  .account .notice {
    font-size: 24px;
    margin-top: 40px;
  }
  .account .notice br {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .account_blk {
    margin: 0px;
    padding: 80px;
    overflow: hidden;
  }
  .account_blk .container {
    position: relative;
  }

  .sys_point {
    background: url("../images/common/bg_ptn_bd_y.jpg") 0 0 repeat;
    padding: 10px;
    position: relative;
    z-index: 2;
  }
  .sys_point .inner {
    background: #FFF;
    padding: 60px 15px 20px 15px;
  }
  .sys_point li:nth-child(1) {
    margin-left: -400px;
    margin-top: 120px;
  }
  .sys_point li:nth-child(2) {
    margin-left: -205px;
  }
  .sys_point li:nth-child(3) {
    margin-left: 17px;
  }
  .sys_point li:nth-child(4) {
    margin-left: 205px;
    margin-top: 120px;
  }
  .sys_point li > span {
    font-size: 24px;
    line-height: 1.5;
  }

  .account {
    padding: 0 50px;
  }
  .account .pc {
    display: inline-block;
  }

  .cloud_right_top {
    width: 850px;
    height: 386px;
    position: absolute;
    top: -220px;
    right: -480px;
    display: block;
  }

  .cloud_left_bottom {
    width: 386px;
    height: 124px;
    position: absolute;
    bottom: -50px;
    left: -170px;
    display: block;
  }
}
/* ============================================================
	cols_twoStyle02
============================================================ */
.point_detail {
  padding: 30px 0;
}

.cols_twoStyle02 {
  margin-bottom: 30px;
}
.cols_twoStyle02 .box + .box {
  margin-top: 20px;
}
.cols_twoStyle02 .thum {
  text-align: center;
  margin-bottom: 20px;
}

@media screen and (min-width: 640px) {
  .cols_twoStyle02 {
    margin-bottom: 30px;
  }
  .cols_twoStyle02 .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin: 0 -2%;
  }
  .cols_twoStyle02 .box {
    width: 50%;
    padding: 0 2%;
  }
  .cols_twoStyle02 .box + .box {
    margin-top: 0px;
  }
  .cols_twoStyle02 .thum {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 769px) {
  .point_detail {
    padding-top: 0;
  }
  .point_detail .titleStyle01 {
    margin-bottom: 40px;
  }
  .point_detail .titleStyle01 br {
    display: none;
  }

  .cols_twoStyle02 {
    margin-bottom: 50px;
  }
  .cols_twoStyle02 .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin: 0 -20px;
  }
  .cols_twoStyle02 .box {
    width: 800px;
    padding: 0 20px;
  }
  .cols_twoStyle02 .box + .box {
    margin-top: 0px;
  }
  .cols_twoStyle02 .thum {
    margin-bottom: 20px;
  }
}
/* ============================================================
	areamap
============================================================ */
.areamap_blk {
  padding: 0 0 40px 0;
}

.areamap {
  background: url("../images/common/bg_ptn_bd_r.jpg") 0 0 repeat;
  padding: 10px;
  position: relative;
  z-index: 2;
  margin-bottom: 30px;
}
.areamap .inner {
  background: #FFF;
  padding: 30px 20px 20px 20px;
}
.areamap .map h3 {
  text-align: center;
  margin-bottom: 20px;
}
.areamap .map h3 img {
  margin-left: -10px;
}
.areamap .map .red {
  color: #f32611;
}
.areamap .map .right {
  margin-bottom: 20px;
}
.areamap .btnbox {
  margin-bottom: 20px;
}
.areamap .tel {
  font-size: 20px;
  font-weight: bold;
}

@media screen and (min-width: 640px) {
  .areamap .inner {
    padding: 40px 40px;
  }
  .areamap .btnbox {
    margin-top: 30px;
  }
  .areamap .tel {
    font-weight: bold;
  }
}
@media screen and (min-width: 769px) {
  .areamap_blk {
    padding-bottom: 80px;
  }

  .areamap {
    background: url("../images/common/bg_ptn_bd_r.jpg") 0 0 repeat;
    padding: 10px;
    position: relative;
    z-index: 2;
    margin-bottom: 60px;
  }
  .areamap .inner {
    background: #FFF;
    padding: 60px 80px 60px 80px;
  }
  .areamap .map {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin-top: 40px;
  }
  .areamap .map .left {
    width: 254px;
  }
  .areamap .map .right {
    padding-top: 40px;
    margin-left: auto;
  }
}
/* ============================================================
	deli_price
============================================================ */
.deli_price {
  padding: 170px 20px 30px 20px;
  background-color: #c81528;
  background-image: url("../images/common/bgimage_kinpun_s.png"), url("../images/common/bgimage_kinpun_s.png");
  background-repeat: repeat-x, repeat-x;
  background-position: center top, center bottom;
  color: #FFF;
  position: relative;
}
.deli_price li {
  width: 100px;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
}
.deli_price li.chara02 {
  top: 100px;
  left: 20vw;
  margin-left: -50px;
}
.deli_price li.chara03 {
  top: 50px;
  left: 50vw;
  margin-left: -50px;
}
.deli_price li.chara01 {
  top: 100px;
  left: 76vw;
  margin-left: -50px;
}
.deli_price .btn_style01 + .btn_style01 {
  margin-top: 10px;
}

@media screen and (min-width: 640px) {
  .deli_price {
    padding: 60px 20px 60px 20px;
  }
  .deli_price .titleStyle01 {
    margin-bottom: 20px;
  }
  .deli_price h2 {
    margin-bottom: 10px;
  }
  .deli_price li.chara02 {
    top: 60px;
    left: 15vw;
  }
  .deli_price li.chara03 {
    top: 50px;
    left: 72vw;
  }
  .deli_price li.chara01 {
    top: 70px;
    left: 85vw;
  }
  .deli_price .btn_style01 + .btn_style01 {
    margin-top: 10px;
  }
}
@media screen and (min-width: 769px) {
  .deli_price {
    padding: 60px 20px 60px 20px;
  }
  .deli_price .titleStyle01 {
    margin-bottom: 30px;
  }
  .deli_price h2 {
    margin-bottom: 10px;
  }
  .deli_price li.chara02 {
    top: 60px;
    left: 230px;
  }
  .deli_price li.chara03 {
    top: 50px;
    left: 690px;
  }
  .deli_price li.chara01 {
    top: 70px;
    left: 845px;
  }
  .deli_price .btn_style01 + .btn_style01 {
    margin-top: 0px;
    margin-left: 20px;
  }
}
/* ============================================================
	areamap
============================================================ */
.flow_blk {
  padding-bottom: 40px;
}
.flow_blk + .flow_blk {
  padding-top: 20px;
}
.flow_blk .container {
  position: relative;
}
.flow_blk .cloud li {
  position: absolute;
}
.flow_blk .cloud .cloud01 {
  width: 180px;
  height: 50px;
  position: absolute;
  top: 0;
  left: -30vw;
}
.flow_blk .cloud .cloud02 {
  width: 280px;
  height: 80px;
  position: absolute;
  top: 40px;
  right: -47vw;
}
.flow_blk .cols_twoStyle02 {
  position: relative;
  z-index: 2;
}
.flow_blk .cols_twoStyle02 .row + .row {
  margin-top: 30px;
}
.flow_blk .box h3 {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 20px;
}
.flow_blk .box:after {
  content: "";
  width: 22px;
  height: 40px;
  display: block;
  margin: 10px auto -20px auto;
  background: url("../images/common/arrow02.png") 0 0 no-repeat;
  background-size: contain;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}
.flow_blk .box.sp_arrow_none:after {
  display: none;
}

@media screen and (min-width: 640px) {
  .flow_blk .cloud .cloud01 {
    top: 0;
    left: 0vw;
  }
  .flow_blk .cloud .cloud02 {
    top: 40px;
    right: -14vw;
  }
  .flow_blk .cols_twoStyle02 {
    position: relative;
    z-index: 2;
  }
  .flow_blk .cols_twoStyle02 .row {
    position: relative;
  }
  .flow_blk .cols_twoStyle02 .row + .row {
    margin-top: 30px;
  }
  .flow_blk .box h3 {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 20px;
  }
  .flow_blk .box:after {
    width: 11px;
    height: 20px;
    position: absolute;
    top: 100px;
    left: 50%;
    margin-left: -6px;
    background-size: cover;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  .flow_blk .box:last-child:after {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .flow_blk {
    padding: 0px 0 80px 0;
  }
  .flow_blk + .flow_blk {
    padding-top: 50px;
  }
  .flow_blk .blk_top {
    margin-bottom: 50px;
  }
  .flow_blk .cloud .cloud01 {
    top: 0;
    left: 0px;
  }
  .flow_blk .cloud .cloud02 {
    top: 20px;
    right: -40px;
  }
  .flow_blk .cols_twoStyle02 .row + .row {
    margin-top: 50px;
  }
  .flow_blk .cols_twoStyle02 {
    margin-bottom: 30px;
  }
  .flow_blk .box h3 {
    margin-bottom: 10px;
  }
  .flow_blk .box:after {
    width: 22px;
    height: 40px;
    position: absolute;
    top: 130px;
    left: 50%;
    margin-left: -10px;
    background-size: cover;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  .flow_blk .box:last-child:after {
    display: none;
  }
}
/* ============================================================
	payment
============================================================ */
.payment {
  padding: 60px 0 170px 0;
  background: #205a70 url("../images/beginner/omikuji_sp.png") center bottom no-repeat;
  background-size: 300px 170px;
}
.payment .blk_top {
  margin-bottom: 40px;
}
.payment .blk_body h3 {
  color: #205a70;
  background: #FFF;
  padding: 10px 10px;
  font-size: 27px;
  font-family: "すずむし","Suzumushi";
  letter-spacing: -0.17em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 20px;
}
.payment .blk_body p {
  font-size: 18px;
  font-weight: bold;
}
.payment .blk_body p .small {
  font-weight: normal;
  font-size: 14px;
  display: block;
}

@media screen and (min-width: 640px) {
  .payment {
    padding: 90px 0 250px 0;
    background: #205a70 url("../images/beginner/omikuji_pc.png") center bottom no-repeat;
    background-size: 864px auto;
    overflow: hidden;
  }
  .payment .blk_top {
    margin-bottom: 40px;
  }
  .payment .blk_body h3 {
    font-size: 34px;
  }
  .payment .blk_body h3 br {
    display: none;
  }
  .payment .container {
    position: relative;
  }
  .payment .cloud_right_top {
    width: 850px;
    height: 386px;
    position: absolute;
    top: -220px;
    right: -600px;
    display: block;
  }
  .payment .cloud_left_bottom {
    width: 386px;
    height: 124px;
    position: absolute;
    bottom: -280px;
    left: -320px;
    display: block;
  }
}
/* ============================================================
	tasting
============================================================ */
.tasting_info {
  padding: 30px 0;
}

.border_bg {
  background: url("../images/common/bg_ptn_bd_y.jpg") 0 0 repeat;
  padding: 5px;
}
.border_bg .inner {
  background: #FFF;
  padding: 20px 15px 30px 15px;
}
.border_bg.blue {
  background: url("../images/common/bg_ptn_bd_b.jpg") 0 0 repeat;
}

.tasting_info .row {
  margin-bottom: 40px;
}
.tasting_info .titleStyle02 {
  margin-bottom: 20px;
}
.tasting_info .titleStyle02 .kuji {
  margin-bottom: 0;
}
.tasting_info .titleStyle02 h2 {
  line-height: 1.3;
}
.tasting_info ul {
  text-indent: -1.5em;
  padding-left: 1.5em;
  margin: 1em 0;
  font-size: 12px;
}
.tasting_info ul li {
  margin-bottom: 5px;
}
.tasting_info p, .tasting_info li {
  color: #3e3a39;
}

@media screen and (min-width: 640px) {
  .border_bg .inner {
    padding: 40px 15px 30px 15px;
  }
}
@media screen and (min-width: 769px) {
  .tasting_blk .bg_cover {
    height: 690px;
  }

  .border_bg {
    padding: 10px;
  }
  .border_bg .inner {
    padding: 60px 70px 60px 70px;
  }

  .tasting_info {
    padding: 80px 0;
  }
  .tasting_info .titleStyle02 {
    margin-bottom: 40px;
  }
  .tasting_info .titleStyle02 .kuji {
    margin-bottom: -5px;
  }
  .tasting_info .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .tasting_info .text {
    width: 390px;
  }
  .tasting_info .thum {
    padding-top: 20px;
    margin-left: auto;
  }
}
/* ============================================================
	columnStyle01
============================================================ */
.usrlist_blk {
  padding: 30px 0;
}

.intro_blk .blk_body {
  padding: 30px 0;
}

.columnStyle01 {
  background: #FFF;
}
.columnStyle01 + .columnStyle01 {
  margin-top: 20px;
}
.columnStyle01 .thum {
  position: relative;
}
.columnStyle01 .thum.label:after {
  content: "";
  width: 100px;
  height: 100px;
  position: absolute;
  top: 5px;
  left: 5px;
  background: url("../images/voice/label_otokuisama.png") 0 0 no-repeat;
  background-size: cover;
}
.columnStyle01 .thum img {
  width: 100%;
}
.columnStyle01 .text {
  padding: 20px;
}
.columnStyle01 .text h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}
.columnStyle01 .text p {
  color: #3e3a39;
}
.columnStyle01 .btnbox {
  margin-top: 30px;
  padding: 0 20px;
}
.columnStyle01 .rank {
  background: #f7f0cc;
  padding: 20px;
}
.columnStyle01 .rank dt {
  text-align: center;
  margin-bottom: 15px;
}
.columnStyle01 .rank li {
  color: #3e3a39;
  font-size: 18px;
  font-weight: bold;
}

@media screen and (min-width: 640px) {
  .columnStyle01 {
    background: #FFF;
  }
  .columnStyle01 + .columnStyle01 {
    margin-top: 20px;
  }
  .columnStyle01 .inner {
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .columnStyle01 .thum {
    width: auto;
    min-height: 300px;
    background: #fffae3;
  }
  .columnStyle01 .text {
    -webkit-flex: 1;
    flex: 1;
  }
  .columnStyle01 .large {
    font-weight: bold;
    font-size: 15px;
    line-height: 1.7;
  }
  .columnStyle01 .btnbox {
    text-align: left;
  }
  .columnStyle01 .rank ul {
    text-align: center;
  }
  .columnStyle01 .rank li {
    display: inline-block;
  }
  .columnStyle01 .rank li + li {
    margin-left: 20px;
  }
}
@media screen and (min-width: 769px) {
  .usrlist_blk {
    padding: 60px 0 80px 0;
  }

  .intro_blk .blk_body {
    padding: 60px 0 80px 0;
  }
  .intro_blk .blk_bottom img {
    width: 100%;
    height: auto;
  }

  .gradation_top {
    position: relative;
  }
  .gradation_top > * {
    position: relative;
    z-index: 2;
  }
  .gradation_top:after {
    content: "";
    width: 100%;
    height: 700px;
    display: block;
    position: absolute;
    top: 0;
    background: -moz-linear-gradient(top, #f32611 50%, rgba(125, 185, 232, 0) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #f32611 50%, rgba(125, 185, 232, 0) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #f32611 50%, rgba(125, 185, 232, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f32611', endColorstr='#007db9e8',GradientType=0 );
    /* IE6-9 */
  }

  .columnStyle01 {
    background: #FFF;
  }
  .columnStyle01 + .columnStyle01 {
    margin-top: 60px;
  }
  .columnStyle01 .inner {
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .columnStyle01 .thum {
    width: 300px;
    min-height: 300px;
    background: #fffae3;
  }
  .columnStyle01 .text {
    padding: 30px 40px;
  }
  .columnStyle01 .text h3 {
    font-size: 24px;
  }
  .columnStyle01 .text p {
    color: #3e3a39;
  }
  .columnStyle01 .large {
    font-size: 18px;
  }
  .columnStyle01 .btnbox {
    padding: 0;
  }
  .columnStyle01 .rank ul {
    text-align: left;
  }
  .columnStyle01 .rank ul li {
    font-size: 20px;
  }
  .columnStyle01 .rank ul li + li {
    margin-left: 25px;
  }
  .columnStyle01 .rank dl {
    width: 100%;
    display: table;
  }
  .columnStyle01 .rank dl dt, .columnStyle01 .rank dl dd {
    display: table-cell;
    vertical-align: middle;
  }
  .columnStyle01 .rank dl dt {
    width: 200px;
  }
  .columnStyle01 .rank dl dd {
    text-align: left;
  }
}
/* ============================================================
	columnStyle02
============================================================ */
.usrvoice_blk {
  padding: 30px 0 40px 0;
}
.usrvoice_blk .btnbox {
  margin-top: 40px;
}

.columnStyle02 {
  background: #FFF;
}
.columnStyle02 h2 {
  padding: 20px;
  font-size: 18px;
  line-height: 1.7;
  font-weight: bold;
}
.columnStyle02 p {
  color: #3e3a39;
}
.columnStyle02 .thum {
  position: relative;
}
.columnStyle02 .thum.label:after {
  content: "";
  width: 100px;
  height: 100px;
  position: absolute;
  top: 5px;
  left: 5px;
  background: url("../images/voice/label_otokuisama.png") 0 0 no-repeat;
  background-size: cover;
}
.columnStyle02 .thum .name {
  margin-top: 10px;
  text-align: center;
  font-size: 16px;
}
.columnStyle02 .thum img {
  width: 100%;
}
.columnStyle02 .text {
  padding: 0 20px 30px 20px;
}
.columnStyle02 .text h3 {
  font-weight: bold;
  font-size: 16px;
  margin: 15px 0;
}

@media screen and (min-width: 640px) {
  .columnStyle02 h2 {
    font-size: 22px;
    padding: 30px 40px;
  }
  .columnStyle02 p {
    color: #3e3a39;
  }
  .columnStyle02 .thum {
    width: 400px;
    margin: auto;
  }
  .columnStyle02 .text {
    padding: 0 40px 60px 40px;
  }
  .columnStyle02 .text h3 {
    font-weight: bold;
    font-size: 18px;
    margin: 30px 0 20px 0;
  }
}
@media screen and (min-width: 769px) {
  .usrvoice_blk {
    padding: 60px 0 100px 0;
  }
  .usrvoice_blk .btnbox {
    margin-top: 60px;
  }

  .columnStyle02 {
    padding: 40px;
  }
  .columnStyle02 .inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .columnStyle02 .thum {
    width: 430px;
    margin: 0;
  }
  .columnStyle02 .text {
    -webkit-flex: 1;
    flex: 1;
    padding: 0 0 0 40px;
  }
  .columnStyle02 .text h3:nth-child(1) {
    margin-top: 0;
  }
  .columnStyle02 h2 {
    font-size: 24px;
    padding: 0px 10px;
    margin-bottom: 40px;
  }
}
/* ============================================================
	columnStyle02
============================================================ */
.qa_blk {
  margin-top: -20px;
  padding-bottom: 40px;
}
.qa_blk .qa {
  padding: 0px 20px 0px 20px;
  background: #FFF;
}
.qa_blk .qa:nth-child(1) {
  padding-top: 30px;
}
.qa_blk .qa dt {
  font-weight: bold;
  font-size: 18px;
  line-height: 1.7;
  color: #205a70;
  padding-bottom: 10px;
  border-bottom: 1px solid #cccccc;
}
.qa_blk .qa dd {
  padding: 15px 0 40px 0;
}

@media screen and (min-width: 640px) {
  .qa_blk {
    margin-top: -20px;
    padding-bottom: 40px;
  }
  .qa_blk .titleStyle03 {
    margin-bottom: 30px;
  }
  .qa_blk .qa {
    padding: 0px 60px 0px 60px;
    background: #FFF;
  }
  .qa_blk .qa:nth-child(1) {
    padding-top: 40px;
  }
}
@media screen and (min-width: 769px) {
  .qa_blk {
    margin-top: -10px;
    padding-bottom: 80px;
  }
  .qa_blk .titleStyle03 {
    margin-bottom: 60px;
  }
  .qa_blk .qa {
    padding: 0px 90px 30px 90px;
    background: #FFF;
  }
  .qa_blk .qa:nth-child(1) {
    padding-top: 60px;
  }
  .qa_blk .qa dd {
    padding: 15px 0 50px 0;
  }
}
/* ============================================================
	company_blk
============================================================ */
.company_blk {
  margin-top: -10px;
  padding-bottom: 40px;
}
.company_blk .inner {
  padding: 25px;
}
.company_blk table {
  width: 100%;
  color: #205a70;
}
.company_blk th {
  font-weight: bold;
  min-width: 80px;
  padding: 10px 5px;
  text-align: center;
  border-right: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
}
.company_blk td {
  padding: 10px 10px;
  border-bottom: 1px solid #CCC;
}

@media screen and (min-width: 640px) {
  .company_blk {
    margin-top: -10px;
    padding-bottom: 40px;
  }
  .company_blk .inner {
    padding: 50px 25px;
  }
  .company_blk table {
    max-width: 640px;
    color: #205a70;
    margin: 0 auto;
  }
  .company_blk th, .company_blk td {
    font-size: 16px;
    padding: 10px 30px;
  }
  .company_blk th {
    width: 140px;
  }
}
@media screen and (min-width: 769px) {
  .company_blk {
    margin-top: -10px;
    padding-bottom: 80px;
  }
  .company_blk .inner {
    padding: 100px 25px;
  }
  .company_blk table {
    max-width: 640px;
    color: #205a70;
    margin: 0 auto;
  }
}
/* ============================================================
	law_blk
============================================================ */
.law_blk {
  margin-top: -10px;
  padding-bottom: 40px;
}

.law {
  background: #FFF;
  padding: 20px;
}
.law th, .law td {
  display: block;
}
.law th {
  font-size: 16px;
  font-weight: bold;
}
.law td {
  padding-bottom: 20px;
}
.law tr:last-child td {
  padding-bottom: 0;
}
.law a {
  color: #205a70;
  text-decoration: underline;
}
.law a:hover {
  text-decoration: none;
}

@media screen and (min-width: 640px) {
  .law {
    padding: 40px 30px;
  }
  .law table {
    width: 100%;
  }
  .law th, .law td {
    display: table-cell;
    padding: 10px 20px;
  }
  .law th {
    width: 240px;
    text-align: left;
  }
}
@media screen and (min-width: 769px) {
  .law_blk {
    padding-bottom: 80px;
  }

  .law {
    padding: 90px 90px;
  }
  .law th, .law td {
    padding: 15px 15px;
  }
  .law th {
    width: 240px;
  }
  .law br.none {
    display: none;
  }
}
/* ============================================================
	pp_blk
============================================================ */
.pp_blk {
  padding-bottom: 40px;
}

.indent_list {
  text-indent: -1em;
  padding-left: 1em;
}

.pp {
  background: #FFF;
  padding: 20px 20px;
  margin-top: -10px;
}
.pp .row + .row {
  margin-top: 30px;
}
.pp h2 {
  font-size: 16px;
  font-weight: bold;
}
.pp dl {
  margin: 1.5em 0;
}
.pp dl dd {
  margin-bottom: 15px;
}
.pp dl dd ul {
  margin: 0;
}
.pp ul {
  margin: 2em 0;
}

@media screen and (min-width: 640px) {
  .pp {
    background: #FFF;
    padding: 40px 30px;
  }
  .pp .row + .row {
    margin-top: 40px;
  }
  .pp h2 {
    font-size: 16px;
    font-weight: bold;
  }
  .pp dl {
    margin: 2em 0;
  }
  .pp dl dd {
    margin-bottom: 15px;
  }
  .pp dl dd ul {
    margin: 0;
  }
  .pp ul {
    margin: 2em 0;
  }
}
@media screen and (min-width: 769px) {
  .pp_blk {
    padding-bottom: 80px;
  }

  .pp {
    background: #FFF;
    padding: 90px;
  }
}
/* ============================================================
	sitmap_blk
============================================================ */
.sitmap_blk {
  padding-bottom: 40px;
  margin-top: -10px;
}
.sitmap_blk .row {
  padding: 15px;
}
.sitmap_blk li.parent a {
  font-weight: bold;
}
.sitmap_blk .map_login {
  font-weight: bold;
  margin-bottom: 20px;
}
.sitmap_blk a {
  color: #205a70;
}
.sitmap_blk a:hover {
  text-decoration: underline;
}
.sitmap_blk a:after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-top: 1px solid #205a70;
  border-right: 1px solid #205a70;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  position: relative;
  top: -1px;
}

@media screen and (min-width: 640px) {
  .sitmap_blk .inner {
    padding: 60px 60px;
  }
  .sitmap_blk .row {
    padding: 0px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    flex-wrap: wrap;
    margin: -20px;
  }
  .sitmap_blk .cols {
    padding: 0 20px;
  }
  .sitmap_blk .cols:nth-child(1) {
    width: 50%;
  }
  .sitmap_blk .cols:nth-child(2) {
    width: 50%;
  }
  .sitmap_blk .cols:nth-child(3) {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .sitmap_blk {
    padding-bottom: 80px;
  }
  .sitmap_blk .inner {
    padding: 110px 100px;
  }
  .sitmap_blk .row {
    margin: -20px;
  }
  .sitmap_blk .cols {
    padding: 0 20px;
  }
  .sitmap_blk .cols:nth-child(1) {
    width: 40%;
  }
  .sitmap_blk .cols:nth-child(2) {
    width: 30%;
  }
  .sitmap_blk .cols:nth-child(3) {
    width: 30%;
  }
}
/* ============================================================
	agreement
============================================================ */
.form_blk {
  margin-top: -20px;
  padding-bottom: 40px;
}

.agreement {
  padding: 30px 15px;
  background: #FFF;
}
.agreement .row + .row {
  margin-top: 20px;
}
.agreement dd {
  margin-bottom: 15px;
}
.agreement p + p {
  margin-top: 0;
}

.scroll_box {
  border: 1px solid #ccc;
  padding: 10px;
  width: 100%;
  height: 400px;
  overflow-y: scroll;
  margin-bottom: 30px;
}

@media screen and (min-width: 640px) {
  .form_blk {
    margin-top: -20px;
    padding-bottom: 40px;
  }
  .form_blk .titleStyle03 {
    margin-bottom: 40px;
  }

  .agreement {
    padding: 40px 30px;
    background: #FFF;
  }
  .agreement .row + .row {
    margin-top: 20px;
  }

  .scroll_box {
    margin-bottom: 50px;
  }
}
@media screen and (min-width: 769px) {
  .form_blk {
    margin-top: -20px;
    padding-bottom: 40px;
  }
  .form_blk .titleStyle03 {
    margin-bottom: 40px;
  }

  .agreement {
    padding: 80px 90px;
    background: #FFF;
  }
  .agreement .row + .row {
    margin-top: 20px;
  }

  .scroll_box {
    margin-bottom: 50px;
  }
}
/* ============================================================
	contact_list
============================================================ */
.contact_list {
  max-width: 500px;
  margin: 0 auto;
  padding-bottom: 40px;
}
.contact_list li {
  margin-bottom: 20px;
}
.contact_list li a {
  font-size: 16px;
  font-weight: bold;
  padding: 20px 20px;
  color: #FFF;
  text-align: center;
  display: block;
  background-color: #f32611;
  border-radius: 3px;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  -ms-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}
.contact_list li a:after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  position: relative;
  top: -2px;
  margin-left: 10px;
}
.contact_list li a:hover {
  background-color: #c71c0a;
  text-decoration: none;
}

@media screen and (min-width: 769px) {
  .contact_list li a {
    font-size: 18px;
  }
  .contact_list li a:after {
    top: -3px;
  }
}
/* ============================================================
	.mod_service
============================================================ */
.service_blk {
  padding: 30px 0;
}
.service_blk h2 {
  color: #FFF;
  font-size: 27px;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 15px;
  font-family: "すずむし","Suzumushi";
  letter-spacing: -0.17em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0em;
}
.service_blk h2:before {
  content: "";
  width: 38px;
  height: 20px;
  background: url("../images/common/icon_omikuji_arrow_white.png") center top no-repeat;
  background-size: contain;
  display: block;
  margin: 0 auto 0px auto;
}
.service_blk p {
  color: #FFF;
}
.service_blk .box {
  padding: 62px 20px 30px 20px;
  background-color: #c81528;
  background-image: url("../images/common/bgimage_kinpun_s.png"), url("../images/common/bgimage_kinpun_s.png");
  background-repeat: repeat-x, repeat-x;
  background-position: center top, center bottom;
}
.service_blk .box + .box {
  margin-top: 15px;
}
.service_blk .btnbox {
  margin-top: 20px;
}

@media screen and (min-width: 640px) {
  .service_blk {
    padding: 40px 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .service_blk .box {
    width: 48%;
    margin: 0 1%;
    padding: 62px 20px 30px 20px;
  }
  .service_blk .box + .box {
    margin-top: 0px;
  }
  .service_blk .btnbox {
    margin-top: 30px;
  }
  .service_blk .btnbox a {
    width: 100%;
    min-width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .service_blk {
    padding: 80px 0;
    margin: 0 -20px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .service_blk h2 {
    font-size: 34px;
  }
  .service_blk .box {
    width: 50%;
    margin: 0 20px;
    padding: 62px 40px 30px 40px;
  }
  .service_blk .btnbox a {
    width: 280px;
    min-width: 280px;
  }
}
/* ============================================================
	mod_device
============================================================ */
.mod_device {
  width: 100%;
  height: 260px;
  position: relative;
  background-color: #FFF;
  border-bottom: 3px solid #c3ad32;
  overflow: hidden;
}
.mod_device .container {
  width: 100%;
  height: 100%;
  padding: 0;
  background: url("../images/common/device_bg_sp.png") center bottom no-repeat;
  position: relative;
  z-index: 2;
}
.mod_device .asahi {
  width: 510px;
  height: 510px;
  background: url("../images/common/asahi.png") center center no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -250px;
  left: 50%;
  margin-left: -255px;
  -webkit-animation: spin 20s linear infinite;
  -moz-animation: spin 20s linear infinite;
  -ms-animation: spin 20s linear infinite;
  -o-animation: spin 20s linear infinite;
  animation: spin 20s linear infinite;
}
.mod_device .btn_cloud {
  font-size: 12px;
  width: 228px;
  height: 56px;
  display: block;
  background: url("../images/common/btn_cloud.png") center center no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -114px;
  margin-top: -40px;
  background-size: contain;
  text-align: center;
  padding-top: 15px;
  -webkit-transition: all 0.25s ease-in;
  -moz-transition: all 0.25s ease-in;
  -ms-transition: all 0.25s ease-in;
  -o-transition: all 0.25s ease-in;
  transition: all 0.25s ease-in;
}
.mod_device .btn_cloud:after {
  content: "";
  width: 5px;
  height: 5px;
  display: inline-block;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  margin-left: 5px;
  position: relative;
  top: -1px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.mod_device .btn_cloud:hover {
  opacity: 0.7;
  text-decoration: none;
}

@media screen and (min-width: 640px) {
  .mod_device {
    width: 100%;
    height: 300px;
  }
  .mod_device .container {
    background: url("../images/common/device_bg_pc.png") center bottom no-repeat;
    position: relative;
    z-index: 2;
  }
  .mod_device .asahi {
    width: 713px;
    height: 713px;
    bottom: -356px;
    margin-left: -356px;
  }
  .mod_device .btn_cloud {
    font-size: 14px;
    width: 254px;
    height: 80px;
    margin-left: -127px;
    margin-top: -80px;
    padding-top: 30px;
    letter-spacing: 0.08em;
    -webkit-transition: all 0.25s ease-in;
    -moz-transition: all 0.25s ease-in;
    -ms-transition: all 0.25s ease-in;
    -o-transition: all 0.25s ease-in;
    transition: all 0.25s ease-in;
  }
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
  }
}
@-ms-keyframes spin {
  0% {
    -ms-transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
  }
}
@-o-keyframes spin {
  0% {
    -o-transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*# sourceMappingURL=style.css.map */
