@charset "UTF-8";
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
 margin: 0;
 padding: 0;
 border: 0;
 font: inherit;
 font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Noto Sans Japanese", "Helvetica Neue", Helvetica, arial, sans-serif;
 font-size: 100%;
 vertical-align: baseline
}
.slick-slider {
 position: relative;
 display: block;
 box-sizing: border-box;
 -webkit-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
 -webkit-touch-callout: none;
 -khtml-user-select: none;
 -ms-touch-action: pan-y;
 touch-action: pan-y;
 -webkit-tap-highlight-color: transparent
}
.slick-list {
 position: relative;
 display: block;
 overflow: hidden;
 margin: 0;
 padding: 0
}
.slick-list:focus {
 outline: 0
}
.slick-list.dragging {
 cursor: pointer;
 cursor: hand
}
.slick-slider .slick-list, .slick-slider .slick-track {
 -webkit-transform: translate3d(0, 0, 0);
 -moz-transform: translate3d(0, 0, 0);
 -ms-transform: translate3d(0, 0, 0);
 -o-transform: translate3d(0, 0, 0);
 transform: translate3d(0, 0, 0)
}
.slick-track {
 position: relative;
 top: 0;
 left: 0;
 display: block;
 margin-left: auto;
 margin-right: auto
}
.slick-track:after, .slick-track:before {
 display: table;
 content: ''
}
.slick-track:after {
 clear: both
}
.slick-loading .slick-track {
 visibility: hidden
}
.slick-slide {
 display: none;
 float: left;
 height: 100%;
 min-height: 1px
}
[dir=rtl] .slick-slide {
 float: right
}
.slick-slide img {
 display: block
}
.slick-slide.slick-loading img {
 display: none
}
.slick-slide.dragging img {
 pointer-events: none
}
.slick-initialized .slick-slide {
 display: block
}
.slick-loading .slick-slide {
 visibility: hidden
}
.slick-vertical .slick-slide {
 display: block;
 height: auto;
 border: 1px solid transparent
}
.slick-arrow.slick-hidden {
 display: none
}
.slick-loading .slick-list {
 background: #fff url(./ajax-loader.gif) center center no-repeat
}
.slick-next, .slick-prev {
 font-size: 0;
 line-height: 0;
 position: absolute;
 top: 50%;
 display: block;
 width: 20px;
 height: 20px;
 padding: 0;
 -webkit-transform: translate(0, -50%);
 -ms-transform: translate(0, -50%);
 transform: translate(0, -50%);
 cursor: pointer;
 color: transparent;
 border: none;
 outline: 0;
 background: 0 0
}
.slick-next:focus, .slick-next:hover, .slick-prev:focus, .slick-prev:hover {
 color: transparent;
 outline: 0
}
.slick-next:focus:before, .slick-next:hover:before, .slick-prev:focus:before, .slick-prev:hover:before {
 opacity: 1
}
.slick-next.slick-disabled:before, .slick-prev.slick-disabled:before {
 opacity: .25
}
.slick-next:before, .slick-prev:before {
 font-size: 20px;
 line-height: 1;
 opacity: .75;
 color: #fff;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale
}
.slick-prev {
 left: -25px
}
[dir=rtl] .slick-prev {
 right: -25px;
 left: auto
}
.slick-prev:before {
 content: '←'
}
[dir=rtl] .slick-prev:before {
 content: '→'
}
.slick-next {
 right: -25px
}
[dir=rtl] .slick-next {
 right: auto;
 left: -25px
}
.slick-next:before {
 content: '→'
}
[dir=rtl] .slick-next:before {
 content: '←'
}
.slick-dotted.slick-slider {
 margin-bottom: 30px
}
.slick-dots {
 position: absolute;
 bottom: -25px;
 display: block;
 width: 100%;
 padding: 0;
 margin: 0;
 list-style: none;
 text-align: center
}
.slick-dots li {
 position: relative;
 display: inline-block;
 width: 20px;
 height: 20px;
 margin: 0 5px;
 padding: 0;
 cursor: pointer
}
.slick-dots li button {
 font-size: 0;
 line-height: 0;
 display: block;
 width: 100%;
 height: 100%;
 padding: 0;
 cursor: pointer;
 color: transparent;
 border: 0;
 outline: 0;
 background: 0 0
}
.slick-dots li button:focus, .slick-dots li button:hover {
 outline: 0
}
.slick-dots li button:focus:before, .slick-dots li button:hover:before {
 opacity: 1
}
html {
 line-height: 1
}
ol, ul {
 list-style: none
}
table {
 border-collapse: collapse;
 border-spacing: 0
}
caption, td, th {
 text-align: left;
 font-weight: 400;
 vertical-align: middle
}
blockquote, q {
 quotes: none;
 font-size: 22px;
 line-height: 1.8;
 letter-spacing: .02em;
 font-weight: 800;
}
blockquote:after, blockquote:before, q:after, q:before {
 content: "";
 content: none
}
a img {
 border: none
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
 display: block
}
* {
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 box-sizing: border-box
}
img {
 max-width: 100%;
 height: auto;
 vertical-align: bottom
}
/* common
======================================== */
.txt-num {
 font-family: Anton, sans-serif;
}
.txt-en {
 font-family: Oswald, sans-serif;
}
/*@font-face {
 font-family: AdihausDIN-Bold;
 src: url(../../../aclp/assets/fonts/AdihausDIN-Bold.eot);
 src: url(../../../aclp/assets/fonts/AdihausDIN-Bold.eot?#iefix) format("embedded-opentype"), url(../../../aclp/assets/fonts/AdihausDIN-Bold.ttf) format("truetype");
 font-weight: 400;
 font-style: normal
}*/
html {
 font-size: 62.5%
}
body {
 color: #212121;
 font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Noto Sans Japanese", "Helvetica Neue", Helvetica, arial, sans-serif;
 margin: 0;
 padding: 0;
 background-color: #fff;
 font-size: 1rem;
 /*-webkit-font-feature-settings: "palt";*/
 /*font-feature-settings: "palt"; */
 position: relative
}
* {
 box-sizing: border-box
}
.inner {
 margin: 0 4%;
 box-sizing: border-box;
}
@media screen and (min-width:768px) {
 .inner {
  max-width: 1200px;
  margin: 0 auto
 }
}
p {
 font-size: 14px;
 line-height: 1.6
}
@media screen and (min-width:768px) {
 p {
  font-size: 16px
 }
}
small {
 font-size: 11px;
 line-height: 1.4
}
@media screen and (min-width:768px) {
 small {
  font-size: 12px
 }
}
sup {
 vertical-align: super;
 font-size: 11px;
}
.pink {
 color: #e4007f;
}
.blue {
 color: #00549b;
}
.center {
 text-align: center
}
.tit {
 text-align: center
}
.tit .icon {
 width: 14vw;
 height: auto
}
.tit .txt-en {
 display: block;
 font-size: 8vw;
 letter-spacing: .05em
}
.tit small {
 display: block;
 font-size: 3vw;
 padding-top: 2vw;
}
@media screen and (min-width:768px) {
 .tit .icon {
  width: 60px
 }
 .tit .txt-en {
  font-size: 50px;
  margin-bottom: 12px;
 }
 .tit small {
  font-size: 18px;
  padding-top: .5em;
 }
}
img {
 line-height: 0;
 vertical-align: bottom
}
.pc {
 display: block
}
.sp {
 display: none
}
@media screen and (max-width:767px) {
 .pc {
  display: none
 }
 .sp {
  display: block
 }
}
.supText {
 font-size: 75.5%;
 vertical-align: top;
 position: relative;
 top: -.1em;
 color: #ff7d05
}
.asterisk {
 color: #ff7d05
}
.kome {
 color: #ff007f
}
a {
 transition: opacity .2s
}
@media screen and (min-width:768px) {
 a:hover {
  opacity: .6
 }
}
img {
 width: 100%
}
@media screen and (min-width:768px) {
 img {
  width: auto
 }
}
/* header
======================================== */
header {
 width: 100%;
 /* height: 16.5vw; */
 height: 18vw;
 background: #fff;
 position: relative;
 z-index: 10000
}
body.open {
 overflow-x: hidden
}
body.open header {
 width: 100vw
}
@media screen and (min-width:768px) {
 header {
  height: 90px
 }
}
header .inner {
 display: flex;
 justify-content: space-between;
 align-items: center;
 height: 100%
}
@media screen and (min-width:768px) {
 header .inner {
  margin: 0 auto;
  padding: 0 30px
 }
}
header .inner .logo-wrap {
 display: flex;
 align-items: center;
 width: 40% /* 40thlogo 28.4% */
}
header .inner .logo-wrap .logo {
 max-width: 100%;
 height: auto
}
header .inner .logo-wrap .logo.new {
  height: 52px;
}
@media screen and (min-width:768px) {
 header .inner .logo-wrap {
  margin-right: 0
 }
 
  header .inner .logo-wrap .logo  {/* 40thlogo add */
    width: auto;
    height: 56px;
    max-height: none;
 }
 header .inner .logo-wrap .logo.new {
  height: 75px;
 }
}
header .inner .phonenum-wrap {
 display: flex;
 align-items: center;
 text-align: right;
 width: 57.7%;
 justify-content: flex-end;
 box-sizing: border-box
}
@media screen and (min-width:768px) {
 header .inner .phonenum-wrap {
  display: flex;
  align-items: flex-start;
  text-align: center;
  padding-right: 60px
 }
}
header .inner .phonenum-wrap .btn-about {
 display: block;
 width: 46.9vw;
 height: 7.1vw
}
@media screen and (min-width:768px) {
 header .inner .phonenum-wrap .btn-about {
  width: 304px;
  height: 48px
 }
}
@media screen and (max-width:769px) {
 header .inner .phonenum-wrap .btn-about {
  margin-right: 10vw
 }
}
header .inner .btn-wrap {
 display: none
}
@media screen and (min-width:768px) {
 header .inner .phonenum-wrap {
  padding-right: 80px
 }
 header .inner .btn-wrap {
  display: block;
  margin: 0 0 0 20px;
  width: 304px;
  box-shadow: 0px 1px 2px rgb(0 0 0 / 40%);
 }
 header .inner .btn-wrap a {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  padding: 13px 0 13px;
  border-radius: 8px
 }
 header .inner .btn-wrap a:after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 2px solid #212121;
  border-right: 2px solid #212121;
  transform: rotate(45deg);
  position: relative;
  top: 0;
  bottom: 0;
  right: -28%;
  margin: auto 0
 }
 header .inner .btn-wrap a.btn-blue {
  background-color: #67c1d3;
  color: #fff;
  margin-right: 10px
 }
 header .inner .btn-wrap a.btn-yellow {
  background-color: #f6d130;
  color: #000
 }
}
/* gnav
======================================== */
.menu-trigger.active {
 display: block;
 position: fixed;
 top: 80px;
 left: 0;
 z-index: 9999;
}
.menu-wrap {
 background: url(../img/icn-menu.svg) #fff no-repeat 50% 50%;
 width: 8vw;
 height: 8vw;
 border-radius: 50%;
 text-indent: -9999px;
 text-align: left;
 cursor: pointer;
 position: fixed
}
.menu-wrap.active {
 background-image: url(../img/icn-close.svg);
 background-size: 4.2vw auto
}
@media screen and (max-width:767px) {
 .menu-wrap {
  top: 4vw;
  right: 2%;
  background-size: 4.2vw auto
 }
}
@media screen and (min-width:768px) {
 .menu-wrap {
  width: 60px;
  height: 60px;
  top: 15px;
  right: 30px
 }
 .menu-wrap, .menu-wrap.active {
  background-size: 32px auto
 }
}
@media screen and (min-width:1200px) {
 .menu-wrap {
  right: calc((100% - 1200px)/ 2)
 }
}
.gnav {
 z-index: 2;
 position: fixed;
 top: -100%;
 left: 0;
 width: 100%;
 height: 100%;
 /* padding-top: 16.5vw; */
 padding-top: 18vw;
 transform: translate3d(0, 0, 0);
 backface-visibility: hidden;
 overflow: hidden;
 overflow-y: scroll;
 pointer-events: none;
 box-sizing: border-box
}
@media screen and (min-width:768px) {
 .gnav {
  padding-top: 90px
 }
 .gnav .menu-btn-area, .gnav ul {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto
 }
}
.gnav::before {
 content: "";
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 margin: auto;
 background: rgba(0, 84, 155, .95);
 width: 100%;
 height: 0;
 padding-bottom: 100%;
 border-radius: 100%;
 transform: scale(.04), translateY(9999px);
}
.open .gnav {
 top: 0;
 pointer-events: auto;
}
.open .gnav::before {
 animation: menu-animation .4s ease-out forwards
}
@keyframes menu-animation {
 0% {
  transform: scale(0)
 }
 99.9% {
  height: 0;
  padding-bottom: 100%;
  border-radius: 100%
 }
 100% {
  transform: scale(2);
  height: 100%;
  padding-bottom: 0;
  border-radius: 0
 }
}
.gnav ul {
 margin: 0 auto;
 width: 90.2%
}
.gnav ul li {
 opacity: 0;
 transform: translate3d(0, 36px, 0);
 border-bottom: 1px solid #fff
}
.gnav ul li a {
 display: block;
 padding: 1.2em .3em;
 font-size: 4vw;
 color: #fff;
 text-decoration: none
}
@media screen and (max-width:767px) {
 .menu-wrap {
  display: inline-block
 }
}
.gnav ul li:last-child {
 margin-bottom: 0
}
@media screen and (min-width:768px) {
 .gnav ul li a {
  font-size: 18px
 }
}
.open .gnav ul li {
 opacity: 1;
 transform: translate3d(0, 0, 0);
 transition: transform .2s ease-out, opacity .2s ease-out
}
.open .gnav ul li:nth-child(2) {
 transition-delay: .1s
}
.open .gnav ul li:nth-child(3) {
 transition-delay: .17s
}
.open .gnav ul li:nth-child(4) {
 transition-delay: .21s
}
.open .gnav ul li:nth-child(5) {
 transition-delay: .28s
}
.open .gnav ul li:nth-child(6) {
 transition-delay: .35s
}
.open .gnav ul li:nth-child(7) {
 transition-delay: .42s
}
.open .gnav ul li:nth-child(8) {
 transition-delay: .49s
}
.open .gnav ul li:nth-child(9) {
 transition-delay: .56s
}
.open .gnav ul li:nth-child(10) {
 transition-delay: .63s
}
.open .gnav ul li:last-child {
 transition-delay: .70s
}
.gnav a[class^=btn-] {
 margin: 5vw auto 0;
 display: flex;
 align-items: center;
 justify-content: center;
 line-height: 1;
 color: #000;
 text-decoration: none;
 font-size: 5vw;
 width: 90.6vw;
 height: 14vw;
 position: relative;
 border-radius: 1.4vw;
 font-weight: 700
}
.gnav a.btn-blue {
 color: #212121;
}
.gnav a[class^=btn-]:after {
 content: "";
 display: inline-block;
 width: 3vw;
 height: 3vw;
 border-top: 2px solid #212121;
 border-right: 2px solid #212121;
 transform: rotate(45deg);
 position: absolute;
 top: 0;
 bottom: 0;
 right: 3.5vw;
 margin: auto 0
}
@media screen and (min-width:768px) {
 .menu-btn-area {
  display: flex;
  justify-content: space-between
 }
 .gnav a[class^=btn-] {
  margin: 20px auto 0;
  height: 66px;
  border-radius: 8px;
  font-size: 20px;
  width: 44%
 }
 .gnav a[class^=btn-]:after {
  width: 10px;
  height: 10px
 }
}
/* button
======================================== */
.btn-yellow {
 background: #f6d130
}
.btn-blue {
 background: #67c1d3;
}
.btn-wrap, .btn-wrap a {
 display: block;
 text-align: center;
 border-radius: 1.4vw
}
.btn-wrap {
 margin: 6.2vw auto 0;
 width: 72.9vw;
 box-shadow: 0 2px 4px rgba(0, 0, 0, .4)
}
.btn-wrap a {
 margin: 0 auto;
 text-decoration: none;
 line-height: 1;
 width: 100%;
}
.btn-wrap a.btn-yellow {
 padding: 2.8vw 0 3.6vw;
 font-size: 6vw;
 font-weight: 700;
 /* border: 4px solid #fff;
 box-shadow: 4px 4px 0 3px rgba(155, 128, 0, 1)*/
}
.btn-wrap a small {
 margin-bottom: 1.8vw;
 display: block;
 font-size: 3.6vw;
 font-weight: 400
}
@media screen and (min-width:768px) {
 .btn-wrap {
  width: 470px;
  margin: 24px auto 0
 }
 .btn-wrap, .btn-wrap a {
  border-radius: 8px;
 }
 .btn-wrap a.btn-yellow {
  font-size: 28px;
  padding: 16px 0 24px
 }
 .btn-wrap a small {
  font-size: 22px;
  margin-bottom: 10px
 }
}
.btn-wrap a.btn-blue {
 background-color: #41bfd6;
 color: #fff;
 margin-right: 24px
}
.btn-wrap a.btn-yellow {
 background-color: #f6d130;
 color: #000
}
/*footer
======================================== */
#footer a {
 color: #000;
 text-decoration: none
}
#footer a:hover {
 text-decoration: underline
}
#footer > .top {
 background-color: #a0d7f0
}
#footer > .top .inner {
 margin: 0 auto;
 padding: 32px 0;
 width: 980px;
 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
}
#footer > .top .inner .txt {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center
}
#footer > .top .inner .address {
 color: #00549e;
 font-size: 13px;
 font-size: 1.3rem;
 padding-left: 20px
}
#footer > .top .inner .address .name {
 font-size: 16px;
 font-size: 1.6rem;
 font-weight: 700;
 margin-bottom: .5em
}
#footer > .top .inner .access {
 margin-left: auto
}
#footer > .top .inner .access .btn {
 color: #00549e;
 font-size: 14px;
 font-size: 1.4rem;
 font-weight: 700;
 line-height: 1.1;
 border: 1px solid #00549e;
 border-radius: 100px;
 background-color: #fff;
 padding: 12px 40px;
 display: inline-block;
 position: relative
}
#footer > .top .inner .access .btn:before {
 content: "";
 background: url(../img/icon_access.png) no-repeat;
 background-size: contain;
 margin-right: 10px;
 width: 16px;
 height: 20px;
 display: inline-block;
 vertical-align: middle
}
#footer > .top .inner .access .btn span {
 display: inline-block;
 vertical-align: middle
}
#footer > .middle .inner {
 margin: 0 auto;
 padding: 30px 45px;
 width: 980px;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 -webkit-box-sizing: border-box;
 box-sizing: border-box
}
#footer > .middle .inner ul li {
 font-size: 12px;
 font-size: 1.2rem;
 line-height: 1.2;
 text-indent: -16px;
 padding-left: 16px
}
#footer > .middle .inner ul li + li {
 margin-top: .9em
}
#footer > .middle .inner ul li a::before {
 content: "";
 margin-top: -.2em;
 margin-right: 10px;
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 3px 0 3px 4px;
 border-color: transparent transparent transparent #007bff;
 display: inline-block;
 vertical-align: middle
}
#footer > .bottom {
 border-top: 1px solid #969696;
 padding: 15px 0
}
#footer > .bottom .copyright {
 font-size: 12px;
 font-size: 1.2rem;
 line-height: 2;
 text-align: center
}
@media screen and (max-width:767px) {
 #footer > .top .inner {
  margin: 0 4%;
  padding: 4% 0;
  display: block;
  width: auto
 }
 #footer > .top .inner .txt {
  line-height: 1.4;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
 }
 #footer > .top .inner .logo {
  width: 70px
 }
 #footer > .top .inner .address {
  font-size: 1rem;
  padding-left: 1.5rem
 }
 #footer > .top .inner .address p {
  font-size: 1rem
 }
 #footer > .top .inner .address p a {
  color: #00549e
 }
 #footer > .top .inner .address .name {
  font-size: 1rem;
  margin-bottom: .2em
 }
 #footer > .top .inner .access {
  text-align: center;
  margin-top: 2.89855%;
  margin-left: 0
 }
 #footer > .top .inner .access .btn {
  font-size: 1.1rem;
  border-radius: 100px;
  padding: .8rem 2rem
 }
 #footer > .top .inner .access .btn:before {
  margin-right: 1rem;
  width: 1.2rem;
  height: 1.5rem
 }
 #footer > .middle .inner {
  margin: 0 4%;
  padding: 8% 0;
  display: block;
  width: auto
 }
 #footer > .middle .inner ul + ul {
  margin-top: .9rem
 }
 #footer > .middle .inner ul li {
  font-size: 1.2rem
 }
 #footer > .middle .inner ul li + li {
  margin-top: .9rem
 }
 #footer > .middle .inner ul li a::before {
  margin-top: -.2em;
  margin-right: 1.2rem;
  border-width: .3rem 0 .3rem .4rem
 }
 #footer > .bottom {
  padding: 4.34783% 4%
 }
 #footer > .bottom .copyright {
  font-size: 1rem;
  line-height: 1.75
 }
}
/* topへ戻るボタン
======================================== */
.btn-backtop {
 display: block;
 position: fixed;
 bottom: 96px;
 right: 10px;
 width: 50px;
 height: 50px;
 visibility: hidden;
 opacity: 0;
 transition: opacity .3s;
 z-index: 2002
}
@media screen and (min-width:768px) {
 .btn-backtop {
  bottom: 110px;
  right: 20px
 }
}
.btn-backtop.active {
 visibility: visible;
 opacity: 1
}
/* ページ下部「寄付をする」ボタン
======================================== */
.under {
 background-color: rgba(0, 0, 0, .4);
 width: 100%;
 position: fixed;
 bottom: 0;
 z-index: 2000;
 padding: 10px 0;
 visibility: hidden;
 opacity: 0;
 transition: opacity .3s
}
.under.active {
 visibility: visible;
 opacity: 1
}
.under p {
 color: #fff;
 text-align: center;
 font-size: 10px;
 padding: 0 4%
}
.under .btn-wrap {
 margin-top: 10px;
 display: flex;
 align-items: flex-start;
 justify-content: center;
 width: 92%;
 box-shadow: inherit;
}
.under .btn-wrap a {
 text-decoration: none;
 font-weight: 700;
 font-size: 16px;
 border-radius: 60px;
 width: 47%;
 height: 10vw;
}
.under .btn-wrap a.btn-blue {
 background-color: #41bfd6;
 color: #fff;
 margin-right: 10px
}
.under .btn-wrap a.btn-yellow {
 box-shadow: none;
 font-size: 4vw;
 background-color: #f6d130;
 color: #000;
 border-width: 2px
}
.under .btn-wrap a.btn-line {
 background-color: #02b902;
 color: #fff;
 border-width: 2px;
 font-size: 3.1vw;
 line-height: 1.3;
 padding-top: 1vw;
}
@media screen and (min-width:768px) {
 .under p {
  width: auto;
  font-size: 14px
 }
 .under .btn-wrap a.btn-yellow {
  padding-top: 18px;
  font-size: 26px;
 }
 .under .btn-wrap a.btn-line {
  font-size: 20px;
  line-height: 1.3;
  padding-top: 7px;
 }
 .under .btn-wrap {
  width: 700px;
  height: inherit;
 }
 .under .btn-wrap a {
  border: 2px solid #fff;
  height: 70px;
  width: 320px;
  font-size: 20px;
  border-radius: 8px;
  margin-top: 0;
 }
}
/* main
======================================== */
@media screen and (max-width:767px) {
 #main {
  overflow-x: hidden
 }
}
section {
 padding: 6.2vw 0;
}
@media screen and (min-width:768px) {
 section {
  padding: 50px 0;
 }
}
section .innerA {
 margin: 0 auto;
 box-sizing: border-box;
 padding: 0 6.2vw
}
section .innerB {
 margin: 0 auto;
 box-sizing: border-box;
}
@media screen and (min-width:768px) {
 section .innerA {
  max-width: 1200px;
  padding: 0;
  margin: 0 auto;
 }
 section .innerB {
  max-width: 1200px;
  padding: 0;
  margin: 0 auto;
 }
}
#main section .sec-subject {
 float: right;
 text-align: right;
 margin-bottom: 6.2vw;
}
section .sec-subject p {
 font-family: dnp-shuei-nmincho-std, sans-serif;
 font-weight: 400;
 font-style: normal;
 color: #fff;
 font-size: 3.5vw;
 line-height: 1.6;
 background-color: #5e5e5e;
 padding: 0.7em 1.7em;
 display: inline-block;
}
@media screen and (min-width:768px) {
 #main section .sec-subject {
  width: 1200px;
  margin: 0 auto 16px;
  float: none;
  text-align: left;
 }
 section .sec-subject p {
  font-size: 1.4rem;
  line-height: 1.53;
 }
}
section .sec-cap {
 width: 100%;
 clear: both;
 margin: 0 0 6.2vw;
 padding: 0 6.2vw
}
section h2 {
 font-size: 6.2vw;
 font-weight: 800;
 line-height: 1.85;
 letter-spacing: .1em;
}
section p.lead {
 font-size: 4.2vw;
 line-height: 1.76;
 letter-spacing: .1em;
 font-weight: 800;
}
section p.lead q {
 font-size: 4.2vw;
 line-height: 1.76;
 letter-spacing: .1em;
 font-weight: 800;
}
section p.txt-normal {
 font-size: 4.0vw;
 line-height: 1.8;
}
section p.notice {
 line-height: 1.7;
 font-size: 2.6vw;
}
section p + p {
 margin-top: .5em;
}
section p + p.notice {
 margin-top: .5em;
}
@media screen and (min-width:768px) {
 section .sec-cap {
  width: 1200px;
  clear: both;
  margin: 0 auto 30px;
  padding: 0 0;
 }
 section h2 {
  font-size: 35px;
  font-weight: 800;
  line-height: 1.85;
  letter-spacing: .1em;
 }
 section p.lead {
  font-size: 21px;
  line-height: 1.8;
  letter-spacing: .02em;
 }
 section p.lead q {
  font-size: 21px;
  line-height: 1.8;
  letter-spacing: .02em;
 }
 section p.txt-normal {
  font-size: 20px;
  line-height: 1.75;
 }
 section p.notice {
  line-height: 1.75;
  font-size: 12px;
 }
 section h3, section h4 {
  letter-spacing: .1em;
 }
}
.ttl-sub {
 margin: 0 auto 6.2vw;
 font-weight: 800;
 font-size: 4.7vw;
 text-align: center;
 line-height: 1.8;
}
@media screen and (min-width:768px) {
 .ttl-sub {
  font-size: 30px;
  margin-bottom: 1.6em;
  font-weight: 600
 }
}
@media screen and (min-width:768px) {
 h2.ttl-serif {
  margin: 0 auto 1.5em;
  font-size: 36px
 }
}
/* KV　〜　introduction
======================================== */
#introduction {
 padding-top: 0;
}
#introduction .kv img {
 width: 100vw;
 position: relative;
 margin-bottom: 6.2vw;
}
@media screen and (min-width:768px) {
 #introduction .kv img {
  width: 100%;
  height: 550px;
  object-fit: cover;
 }
}
#introduction .photobox {
 display: block;
 padding-bottom: 6.2vw;
}
#introduction .photobox:after {
 content: "";
 display: block;
 clear: both;
}
#introduction picture.ph-r img, #introduction picture.ph-l img {
 width: 75.7vw;
 margin-bottom: .8vw;
}
#introduction .ph-r {
 float: right;
}
#introduction .ph-l {
 float: left;
}
#introduction .textbox1, #introduction .textbox2 {
 margin-bottom: 6.2vw;
}
#introduction .ph-pc1, #introduction .ph-pc2, #introduction .ph-pc3 {
 display: none;
}
@media screen and (min-width:768px) {
 #introduction .intro-pc {
  position: relative;
  height: 900px;
  width: 1200px;
  margin: 0 auto;
 }
 #introduction .photobox {
  display: none;
 }
 #introduction .textbox1, #introduction .textbox2 {
  position: absolute;
  display: block;
  width: 620px;
  margin-bottom: 20px;
 }
 #introduction .ph-pc1, #introduction .ph-pc2, #introduction .ph-pc3 {
  position: absolute;
  display: block;
  width: 550px;
 }
 #introduction .ph-pc1 {
  right: 0;
  top: 0;
 }
 #introduction .ph-pc2 {
  left: 0;
  top: 280px;
 }
 #introduction .ph-pc3 {
  right: 0;
  bottom: 20px;
 }
 #introduction .textbox1 {
  left: 0;
  top: 0;
 }
 #introduction .textbox1 {
  right: 0;
  top: 0;
 }
 #introduction .textbox2 {
  left: 0;
  bottom: 0;
 }
}
#introduction .moviewrap {
 width: 87.6vw;
 margin: 0 auto 14.4vw;
}
@media screen and (min-width: 768px) {
 #introduction .moviewrap {
  width: 800px;
  margin: 60px auto 80px;
 }
}
#introduction .moviewrap .movie {
 width: 87.6vw;
 height: 49.3vw;
}
@media screen and (min-width: 768px) {
 #introduction .moviewrap .movie {
  width: 800px;
  height: 450px;
 }
}
#introduction .moviewrap .movie iframe {
 width: 100%;
 height: 100%;
}
#introduction .moviewrap .movie img {
 width: 100%;
}
#introduction h3, #introduction h4 {
 margin-bottom: 6.2vw;
}
#introduction h4 span {
 font-size: .8em;
}
@media screen and (min-width: 768px) {
 #introduction h3, #introduction h4 {
  margin-bottom: 30px;
 }
 #introduction h3 {
  text-align: left;
  font-size: 35px;
 }
 #introduction h4 {
  font-size: 30px;
 }
}
#introduction .btn-area {
 text-align: center;
 padding: 6.2vw 0 0;
}
#introduction .btn-wrap-twins {
 display: flex;
 justify-content: center;
}
#introduction .btn-wrap-twins a {
 text-decoration: none;
 font-size: 4.8vw;
 font-weight: bold;
 padding: 6.3vw 0;
 border-radius: 1.4vw;
 width: 40vw;
 box-shadow: 0 2px 4px rgba(0, 0, 0, .4)
}
@media screen and (min-width: 768px) {
 #introduction .btn-area {
  padding: 30px 0 0;
 }
 #introduction .btn-wrap-twins a {
  font-size: 26px;
  padding: 40px 0;
  border-radius: 10px;
  width: 320px;
 }
}
#introduction .btn-wrap-twins a.btn-blue {
 background-color: #67c1d3;
 color: #fff;
 margin-right: 2vw;
}
#introduction .btn-wrap-twins a.btn-yellow {
 background-color: #f6d130;
 color: #000;
}
#introduction .about-sponsor {
 display: inline-block;
 margin-top: 6.2vw;
 color: #e4007f;
 font-size: 3.7vw;
}
@media screen and (min-width:768px) {
 #introduction .about-sponsor {
  margin-top: 30px;
  font-size: 21px;
 }
}
/* section1 ----- #real
======================================== */
#real picture img {
 width: 100%;
 margin-bottom: 6.2vw;
}
#real .deta-box h3 {
 margin-bottom: 6.2vw;
 color: #fff;
 line-height: 2;
}
#real .deta-box p {
 text-align: left;
}
#real .deta-box {
 text-align: center;
 background-color: #00549b;
 padding: 6.2vw 4.0vw 3.1vw;
 margin: 8vw auto 0;
}
#real .deta-box .deta-box-inner {
 display: flex;
 flex-direction: column;
}
#real .deta-box .deta-box-inner-inner {
 background-color: #ffffeb;
 padding: 6.2vw 4.0vw 3.1vw;
 margin-bottom: 4.0vw;
 width: 100%;
}
#real .deta-box .deta-box-inner-inner .photobox {
 display: block;
 height: auto;
}
#real .deta-box .deta-box-inner-inner .photobox img {
 margin-bottom: 2.4vw;
 width: 80vw;
}
#real blockquote {
 font-size: 4.0vw;
 line-height: 1.8;
 text-align: left;
 font-weight: 400;
}
@media screen and (min-width:768px) {
 #real picture img {
  margin-bottom: 30px;
 }
 #real .deta-box {
  padding: 30px 10px 30px;
  margin: 30px auto 0;
 }
 #real .deta-box h3 {
  margin-bottom: 30px;
 }
 #real .deta-box .deta-box-inner {
  flex-direction: row;
  flex-wrap: nowrap;
 }
 #real .deta-box .deta-box-inner-inner {
  margin: 0 10px;
  padding: 25px;
 }
 #real .deta-box .deta-box-inner-inner .photobox img {
  width: 70%;
  margin-top: 15px;
 }
 #real .deta-box .deta-box-inner-inner .photobox {
  margin-bottom: 30px;
  height: 300px;
  display: table-cell;
  vertical-align: middle
 }
 #real blockquote {
  font-size: 20px;
  line-height: 1.8;
  text-align: left;
  font-weight: 400;
 }
}
/* section2 ----- #problem 
======================================== */
#problem p.txt-normal {
 margin-bottom: 6.2vw;
}
#problem .flexwrap {
 display: flex;
 flex-direction: column;
}
#problem .flexwrap div {
 margin-bottom: .8vw;
 background-color: #00549b;
}
#problem .flexwrap picture img {
 margin-bottom: 0;
}
#problem .flexwrap p.ph-txt {
 text-align: center;
 color: #fff;
 font-size: 4.0vw;
 font-weight: 800;
 line-height: 1.8;
 padding: 4.4vw 0;
}
@media screen and (min-width:768px) {
 #problem p.txt-normal {
  margin-bottom: 30px;
  ;
 }
 #problem .flexwrap {
  flex-direction: row;
 }
 #problem .flexwrap div {
  justify-content: space-between;
  margin-right: 10px;
 }
 #problem .flexwrap div:last-child {
  margin-right: 0;
 }
 #problem .flexwrap p.ph-txt {
  font-size: 18px;
  line-height: 1.75;
  padding: 20px 0 0;
  height: 170px;
 }
}
/* section3 ----- #girls
======================================== */
#girls {
 background-color: #f3f2f3;
}
@media screen and (min-width:768px) {
 #girls {
  background-color: #fff;
 }
}
#girls .section3slider .section3slider-slide {
 background: #fff;
 margin: 0 2vw;
 overflow: hidden
}
#girls .section3slider h3 img {
 margin-bottom: 0;
 max-width: 100%;
 height: auto
}
#girls .section3slider .slick-slide-inner {
 padding: 6.2vw 4.2vw 4.2vw;
 height: 82vw
}
@media screen and (min-width:768px) {
 #girls .section3slider {
  display: flex;
  flex-direction: column;
  margin: 0;
  width: 1200px;
 }
 #girls .section3slider .section3slider-slide {
  background-color: #f3f2f3;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  margin: 0 0 10px;
 }
 #girls .section3slider img {
  width: 600px;
 }
 #girls .section3slider .slick-slide-inner {
  padding: 20px 30px;
  height: auto;
  width: 60%;
 }
}
#girls .section3slider h4 {
 margin-bottom: 1.14em;
 font-size: 4.4vw;
 line-height: 1.8;
 text-align: left;
 font-weight: 800
}
#girls .section3slider p {
 font-size: 4.0vw;
 line-height: 1.8;
 text-align: left
}
#girls .section3slider p span {
 font-weight: bold;
 display: block;
}
@media screen and (min-width:768px) {
 #girls .section3slider h4 {
  font-size: 24px;
  line-height: 1.44;
  margin-bottom: 10px;
 }
 #girls .section3slider p {
  font-size: 20px;
  line-height: 1.75
 }
}
#girls .section3slider .slick-next, #girls .section3slider .slick-prev {
 top: 50%;
}
/* section5 ----- #backgrounds
========================================*/
#backgrounds {
 padding-top: 6.2vw;
}
#backgrounds p.txt-normal {
 margin-bottom: 6.2vw;
}
@media screen and (min-width:768px) {
 #backgrounds {
  padding-top: 50px;
 }
 #backgrounds p.txt-normal {
  margin-bottom: 30px;
 }
}
.toggle-wrap {
 width: 100%;
}
.toggle_title {
 margin: 0 auto .8vw;
 position: relative;
 background: linear-gradient(135deg, #00438c 15%, #0055a8 15%, #0055a8 100%);
 color: #fff;
 font-size: 4.4vw;
 line-height: 1.6;
 padding: 2vw 0 2vw 17.8vw;
 cursor: pointer;
 letter-spacing: .1em;
}
.toggle_ans {
 margin: 0;
 padding: 4.4vw 1vw;
 display: none;
 font-size: 4.0vw;
 line-height: 1.8;
}
@media screen and (min-width:768px) {
 .toggle-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
 }
 .toggle_contents {
  width: 32.6%;
  margin-right: 1.1%;
  margin-bottom: 20px;
  justify-content: flex-start;
 }
 .toggle_contents:nth-child(3) {
  margin-right: 0;
 }
 .toggle_title {
  pointer-events: none;
  margin: 0 auto;
  font-size: 24px;
  padding: .4em 0 .4em 100px;
 }
 #backgrounds dd.toggle_ans {
  display: block;
  font-size: 20px;
  padding: 1em 0.7em;
  border: 1px solid #00549b;
  height: 295px;
 }
}
/*ナンバー*/
.number {
 position: absolute;
 display: block;
 left: 5.1vw;
 top: 0;
 height: 100%;
 font-size: 10.6vw;
 font-family: din-condensed, sans-serif;
 font-weight: 300;
 font-style: normal;
 line-height: 1.8;
}
@media screen and (min-width:768px) {
 .number {
  font-size: 70px;
  left: 20px;
  top: -15px;
 }
}
/*プラス*/
.plus {
 position: absolute;
 right: 20px;
 top: 0;
 height: 100%;
 border-radius: 0px 10px 10px 0px;
}
@media screen and (min-width:768px) {
 .plus {
  display: none;
 }
}
.plus:before, .plus:after {
 display: block;
 content: "";
 background-color: #FFF;
 position: absolute;
 width: 15px;
 height: 1px;
 bottom: 50%;
 right: 50%;
 transform: translate(50%, 50%);
 transition: 0.5s;
}
.plus:before {
 width: 1px;
 height: 15px;
}
/*アコーディオンが開いたらプラスをマイナスにする*/
.toggle_title.selected .plus:before {
 transform: translate(50%, 50%) rotate(90deg);
}
/* section5 ----- #activities 
========================================*/
#activities .flexwrap {
 display: flex;
 flex-direction: column;
 margin-bottom: 6.2vw;
}
#activities .flexwrap div {
 margin-bottom: .8vw;
 background-color: #e4007f;
}
#activities .flexwrap div:last-child {
 margin-bottom: 0;
}
#activities picture.ph img {
 margin: 6.2vw 0;
}
#activities .flexwrap p.ph-txt {
 text-align: center;
 color: #fff;
 font-size: 4.0vw;
 font-weight: 800;
 line-height: 1.8;
 padding: 4.4vw 0;
}
@media screen and (min-width:768px) {
 #activities .flexwrap {
  flex-direction: column;
  margin-bottom: 30px;
 }
 #activities .flexwrap div.ph-l picture img {
  width: 600px;
  float: left;
 }
 #activities .flexwrap div.ph-r picture img {
  width: 600px;
  float: right;
 }
 #activities .flexwrap .ph-l p.ph-txt, #activities .flexwrap .ph-r p.ph-txt {
  font-size: 20px;
  line-height: 2;
  font-weight: bold;
  padding: 0;
 }
 #activities .flexwrap .ph-l p.ph-txt {
  text-align: left;
  padding-left: 620px;
  margin-top: 100px;
 }
 #activities .flexwrap .ph-r p.ph-txt {
  text-align: right;
  padding-right: 620px;
  margin-top: 80px;
 }
 #activities picture.ph img {
  display: block;
  width: 800px;
  margin: 30px auto;
 }
}
/* section6 ----- #future
========================================*/
#future {
 background-color: #fae5f1;
}
#future .section3slider .section3slider-slide {
 background: #fff;
 margin: 0 2vw;
 overflow: hidden
}
#future .section3slider .section3slider-slide h3 img {
 margin-bottom: 0;
 max-width: 100%;
 height: auto
}
#future .section3slider .slick-slide-inner {
 padding: 6.2vw 4.2vw 4.2vw;
 height: 110vw
}
@media screen and (min-width:768px) {
 #future {
  padding-top: 50px;
  background-color: #fff;
 }
 #future .section3slider {
  display: flex;
  flex-direction: column;
  margin: 0;
  width: 1200px;
 }
 #future .section3slider .section3slider-slide {
  background-color: #fae5f1;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  margin: 0 0 10px;
 }
 #future .section3slider .section3slider-slide h3 img {
  width: 610px;
 }
 #future .section3slider .slick-slide-inner {
  padding: 20px 30px;
  height: auto;
  width: 60%;
 }
}
#future .section3slider h4 {
 margin-bottom: 1.14em;
 font-size: 4.4vw;
 line-height: 1.8;
 text-align: left;
 font-weight: 800
}
#future .section3slider p {
 font-size: 4.0vw;
 line-height: 1.8;
 text-align: left
}
#future .section3slider p span {
 font-weight: bold;
 display: block;
}
@media screen and (min-width:768px) {
 #future .section3slider h4 {
  font-size: 24px;
  line-height: 1.44;
  margin-bottom: 10px;
 }
 #future .section3slider p {
  font-size: 20px;
  line-height: 1.75
 }
}
#future .section3slider .slick-next, #future .section3slider .slick-prev {
 top: 40.7%;
}
/* section7 ----- #sponsors
========================================*/
#sponsors {
 padding-top: 6.2vw;
}
@media screen and (min-width:768px) {
 #sponsors {
  padding-top: 50px;
 }
}
/*無限ループスライダー*/
@keyframes infinity-scroll-left {
 from {
  transform: translateX(0);
 }
 to {
  transform: translateX(-100%);
 }
}
@media screen and (max-width:767px) {
 #sponsors .sponsors-slider {
  margin-bottom: 6.2vw;
 }
 .sponsors-slider__wrap {
  display: flex;
  overflow: hidden;
 }
 .sponsors-slider__list {
  display: flex;
  list-style: none;
 }
 .sponsors-slider__list--left {
  animation: infinity-scroll-left 18s infinite linear 0.5s both;
 }
 .sponsors-slider__item {
  width: calc(100vw / 2.2);
  margin: 0 .4vw;
 }
 .sponsors-slider__item > img {
  width: 100%;
 }
}
@media screen and (min-width:768px) {
 #sponsors .sponsors-slider {
  margin-bottom: 30px;
 }
 .sponsors-slider__list {
  display: flex;
 }
 .sponsors-slider__item {
  flex-diection: row;
 }
 .no-pc {
  display: none;
 }
}
/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop, .sponsors-slider {
 display: -ms-grid;
 overflow: hidden;
}
/*----------------------------*/
#sponsors .sponsors-box {
 text-align: center;
 background-color: #00549b;
 padding: 0 10px 10px;
}
#sponsors .sponsors-box h4 {
 padding: 2.4vw 0 1.2vw;
 color: #fff;
 line-height: 1;
}
#sponsors .sponsors-box h4 .txt-num, #sponsors .sponsors-box h4 small {
 display: inline-block;
}
#sponsors .sponsors-box h4 .txt-num {
 font-size: 15vw;
 font-family: din-condensed, sans-serif;
 font-weight: 500;
 font-style: normal;
}
#sponsors .sponsors-box h4 small {
 font-size: 4.4vw;
}
#sponsors .sponsors-box .sponsors-box-inner {
 background-color: #fff;
 padding: 10px 0 15px
}
@media screen and (min-width:768px) {
 #sponsors .sponsors-box h4 {
  padding: 20px 0
 }
 #sponsors .sponsors-box h4 .txt-num {
  font-size: 60px
 }
 #sponsors .sponsors-box h4 small {
  font-size: 34px
 }
}
#sponsors .sponsors-box .sponsors-box-inner {
 background-color: #fff;
 padding: 10px 0 15px;
}
@media screen and (min-width: 768px) {
 #sponsors .sponsors-box .sponsors-box-inner {
  padding: 20px 0;
 }
}
#sponsors .sponsors-box ul {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin: 0 auto 2.6vw;
 width: 90%;
}
@media screen and (min-width: 768px) {
 #sponsors .sponsors-box ul {
  margin: 0 auto 10px;
  width: 80%;
 }
}
#sponsors .sponsors-box ul li {
 text-align: center;
 width: 50%;
}
#sponsors .sponsors-box ul li:nth-child(4), #sponsors .sponsors-box ul li:nth-child(5) {
 width: 25%;
}
#sponsors .sponsors-box ul li img {
 width: 100%;
 max-width: 32vw;
 height: 70px;
 object-fit: contain;
}
@media screen and (min-width: 768px) {
 #sponsors .sponsors-box ul li img {
  height: 80px;
 }
 #sponsors .sponsors-box ul li, #sponsors .sponsors-box ul li:nth-child(4), #sponsors .sponsors-box ul li:nth-child(5) {
  width: auto;
 }
 #sponsors .sponsors-box ul li img {
  width: 150px;
 }
}
#sponsors .sponsors-box ul li:nth-child(4) img {
 max-width: 30px;
 margin: 0 auto;
}
#sponsors .sponsors-box ul li:nth-child(5) img {
 max-width: 120px;
 margin: 0 auto;
}
#sponsors .sponsors-box .sup {
 color: #00549f;
 margin: 15px auto 0;
}
@media screen and (min-width: 768px) {
 #sponsors .sponsors-box ul li:nth-child(4) img {
  max-width: 50px;
  padding-left: 20px;
 }
}
#sponsors .sponsors-box p small {
 font-size: 0.75em
}
/* section8 ----- #howto
========================================*/
#howto {
 padding: 6.2vw 0 12.4vw;
}
#howto h2 span {
 letter-spacing: -.01em;
}
@media screen and (min-width:768px) {
 #howto {
  padding: 50px 0 60px;
 }
 .section8 .boxwrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto
 }
}
#howto .box, .girlsproject .box {
 background-color: #fae5f1;
 overflow: hidden;
 margin-top: 6.2vw
}
#howto .girlsproject .box .boxinnerinner {
 padding-bottom: 0
}
#howto .tit .txt-en {
 letter-spacing: normal;
}
#howto .ttl-sub {
 letter-spacing: .1em;
}
#howto .ttl-sub-plus {
 padding-top: 6.2vw;
}
.section8 .box {
 margin-top: 40px
}
@media screen and (min-width:768px) {
 #howto .ttl-sub-plus {
  padding-top: 0;
 }
 .section8 .ttl-serif {
  margin-bottom: 60px
 }
}
.section8 .box .txt {
 width: 100%;
 margin: 7.5vw 0 0
}
@media screen and (min-width:768px) {
 .section8 .box .txt {
  margin: 0
 }
}
.section8 .box .txt p {
 margin-top: 10px;
 font-size: 3.3vw;
 line-height: 1.89
}
@media screen and (min-width:768px) {
 .section8 .box .txt p {
  margin-top: 1em;
  font-size: 18px;
  line-height: 1.88
 }
}
.section8 .box .txt .name {
 margin-top: 0;
 text-align: right
}
.section8 .box img {
 width: 100%
}
.section8 .boxwrap2 {
 margin-top: 20px
}
@media screen and (min-width:768px) {
 .section8 .boxwrap2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
 }
}
.section8 .boxwrap2 .box {
 margin: 0
}
.section8 .boxwrap2 .box {
 display: flex;
 background-color: #ef66b2;
 margin-top: 20px;
 width: 100%;
 height: 25vw;
 flex-direction: row
}
@media screen and (min-width:768px) {
 .section8 .boxwrap2 .box {
  width: 480px;
  height: 150px;
  margin-top: 20px
 }
}
.section8 .boxwrap2 .box .pic {
 height: 25vw;
 width: 25vw
}
@media screen and (min-width:768px) {
 .section8 .boxwrap2 .box .pic {
  height: 150px;
  width: 150px
 }
}
.section8 .boxwrap2 .box .tit {
 width: auto;
 height: 18vw;
 margin: 4vw
}
@media screen and (min-width:768px) {
 .section8 .boxwrap2 .box .tit {
  width: auto;
  height: 90px;
  margin: 24px
 }
}
.howto-lead {
 margin: 7.1vw auto;
 font-size: 4.9vw;
 line-height: 1.57;
 text-align: center;
 font-weight: 500;
 letter-spacing: .12rem
}
.howto-ttl-blue {
 margin: 11.6vw auto;
 font-size: 4.9vw;
 line-height: 1.57;
 text-align: center;
 font-weight: 500;
 letter-spacing: .12rem;
 color: #00549b;
}
@media screen and (min-width:768px) {
 #howto .box {
  margin: 0 auto 74px;
  padding-bottom: 40px;
  max-width: 1200px
 }
}
#howto .box > .tit {
 background-color: #e4007f;
 color: #fff;
 position: relative;
 padding: 3vw 0 3vw
}
#howto .box > .tit .icon {
 position: absolute;
 bottom: -7vw;
 right: 3.2vw;
 z-index: 2
}
@media screen and (min-width:768px) {
 #howto .box > .tit {
  padding: 30px 0 20px
 }
 #howto .box > .tit .icon {
  width: 100px;
  height: 100px;
  margin: auto 0;
  top: 0;
  bottom: 0;
  right: 40px
 }
}
#howto .box > .stit {
 margin: 40px 0
}
@media screen and (min-width:768px) {
 #howto .box .boxinner {
  display: flex;
  padding: 40px 50px 0
 }
}
#howto .box .boxinner .pic {
 display: block
}
#howto .box .boxinner .pic {
 max-width: 100%;
 height: auto
}
#howto .box .boxinnerinner {
 padding: 6.2vw 4%;
}
@media screen and (min-width:768px) {
 #howto .box .boxinner .pic {
  width: 50%
 }
 #howto .box .boxinnerinner {
  width: 50%;
  padding: 0 0 0 30px;
 }
 #howto .box .boxinnerinner h4 {
  text-align: left;
  margin-bottom: 0px;
 }
}
.boxinnerinner p {
 font-size: 4.0vw;
 line-height: 2
}
.boxinnerinner p + p {
 margin-top: 1em
}
@media screen and (min-width:768px) {
 #howto .box .boxinnerinner > .stit {
  text-align: left;
  margin: 0 0 40px
 }
}
#howto .box .boxinnerinner > .stit img {
 width: 80%;
 height: auto
}
@media screen and (min-width:768px) {
 #howto .box .boxinnerinner > .stit img {
  width: auto
 }
}
@media screen and (min-width:768px) {
 #howto .box .boxinnerinner p {
  font-size: 18px
 }
}
#howto .box .boxinnerinner small {
 display: inline-block;
 line-height: 1.4
}
@media screen and (min-width:768px) {
 #howto .box .boxinnerinner small {
  margin-top: 0
 }
}
#howto .box .boxinner2 {
 padding: 0 4% 6.2vw
}
@media screen and (min-width:768px) {
 #howto .box .boxinner2 {
  margin-top: 30px;
  padding: 0px 50px 0;
 }
}
#howto .box .borderwrap {
 margin: 0 auto 3.5vw;
 padding: 1vw 4.0vw;
 background: #fff
}
@media screen and (min-width:768px) {
 #howto .box .borderwrap {
  margin: 0;
  padding: 20px 30px
 }
}
#howto .box .borderwrap > .tit {
 display: flex;
 flex-direction: column;
}
#howto .box .borderwrap > .tit img {
 width: 100%;
 height: auto;
}
#howto .notice {
 padding: 3vw 0;
}
#howto .notice li {
 text-indent: -1em;
 margin-left: 1em;
 font-size: 2.66vw;
 line-height: 2.13;
}
@media screen and (min-width:768px) {
 #howto .box .borderwrap > .tit img {
  width: 160px;
  margin-right: 40px
 }
 #howto .notice {
  margin: 10px 0 0;
  padding: 0;
 }
 #howto .notice li {
  text-indent: -1.3em;
  margin-left: 1.3em;
  font-size: 14px
 }
}
#howto .box .borderwrap > .tit h4 {
 text-align: left;
 font-size: 3.7vw;
 line-height: 1.52;
 font-weight: 500;
 font-feature-settings: "palt"
}
@media screen and (min-width:768px) {
 #howto .box .borderwrap > .tit h4 {
  font-size: 24px
 }
}
#howto .box .borderwrap p {
 font-size: 4.0vw;
 margin-top: 1em;
}
@media screen and (min-width:768px) {
 #howto .box .borderwrap p {
  font-size: 20px;
  margin-top: 0px;
 }
}
#howto .box .borderwrap p small {
 margin-top: 5px;
 display: block
}
#howto .box .amountwrap {
 margin-top: 7.2vw;
 padding-bottom: 3.3vw;
 background-color: #fff;
 text-align: center
}
@media screen and (min-width:768px) {
 #howto .box .amountwrap {
  margin: 30px auto 0
 }
}
#howto .box .amountwrap dt {
 background-color: #e4007f;
 color: #fff;
 font-size: 4.4vw;
 font-weight: 700;
 padding: .25em 0;
 line-height: 1
}
#howto .box .amountwrap dd {
 margin: 2.8vw 0 0;
 color: #e0007f;
 font-size: 4.4vw;
 font-weight: 800
}
#howto .box .amountwrap dd.small {
 margin: 2.8vw 0 3vw;
 font-size: 2.6vw;
 font-weight: 500
}
#howto .box .amountwrap dd .txt-num {
 font-size: 7.1vw;
 font-weight: 400;
 padding-right: .05em
}
#howto .btn-wrap {
 margin-bottom: 6.2vw;
}
@media screen and (min-width:768px) {
 #howto .box .amountwrap {
  padding-bottom: 23px
 }
 #howto .box .amountwrap dt {
  padding: 16px 0;
  font-size: 24px
 }
 #howto .box .amountwrap dd {
  margin-top: 15px;
  font-size: 24px
 }
 #howto .box .amountwrap dd.small {
  margin: 19px 0 0;
  font-size: 18px
 }
 #howto .box .amountwrap dd .txt-num {
  font-size: 50px
 }
 #howto .btn-wrap {
  width: 466px;
  font-size: 38px;
 }
 #howto .btn-wrap small {
  font-size: 24px;
  margin-bottom: 10px
 }
}
/*sp-voice */
.section5 .slider {
 margin: 0 auto 30vw
}
.section5 .voice {
 background: #f3f2f3;
 border-radius: 0;
 margin: 0 8.5vw;
 padding: 4.4vw 9vw;
 height: 95vw;
}
@media screen and (min-width:768px) {
 .section5 .slider {
  margin-bottom: 100px
 }
 .section5 .voice {
  padding: 30px 52px;
  height: 550px;
  width: 470px;
  margin: 0 0 0 20px
 }
}
.section5slider .slick-track {
 display: flex
}
.section5slider .slick-dots li {
 background: rgba(0, 84, 155, .3)
}
.section5slider .slick-dots li.slick-active {
 background: rgba(0, 84, 155, 1)
}
.section5 .voice h4 {
 font-size: 3.9vw;
 display: flex;
 align-items: center;
 justify-content: space-between;
 line-height: 1.45
}
@media screen and (min-width:768px) {
 .section5 .voice h4 {
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 20px;
  margin-right: 30px
 }
}
.section5 .voice h4 img {
 width: 11.4vw;
 height: 11.4vw
}
@media screen and (min-width:768px) {
 .section5 .voice h4 img {
  width: 60px;
  height: 60px;
  margin-bottom: 10px
 }
}
.section5 .voice h4 span {
 width: 100%;
 text-align: left;
 margin-left: 4vw;
 font-weight: 800;
}
@media screen and (min-width:768px) {
 .section5 .voice h4 span {
  margin-left: 22px;
 }
}
.section5 .voice p {
 margin-top: 20px;
 font-size: 3.4vw;
 line-height: 1.73
}
@media screen and (min-width:768px) {
 .section5 .voice p {
  margin-top: 0;
  font-size: 20px;
 }
}
.section5 .voice.woman h4 {
 color: #e4007f
}
.section5 .voice.man h4 {
 color: #00a0e9
}
.section5 .slick-next, .section5 .slick-prev {
 width: 10vw;
 height: 29.9vw;
}
@media screen and (min-width:768px) {
 .section5 .slick-next, .section5 .slick-prev {
  width: 60px;
  height: 168.5px;
 }
}
/* 寄附金控除 */
#howto .deduction .box {
 padding: 6vw 4% 4.4vw;
 background: #00549b;
 text-align: center;
 border-radius: 2.4vw;
}
#howto .deduction p {
 color: #fff;
 font-size: 5vw;
 line-height: 1.66;
 margin-bottom: 1.5em;
}
#howto .deduction small {
 display: block;
 font-size: 3.1vw;
 line-height: 1.6;
}
#howto .deduction .btn-wrap {
 text-align: center;
 margin: 6.2vw auto 0;
 width: 59.2vw;
 box-shadow: none
}
#howto .deduction .btn-wrap .btn {
 display: inline-block;
 color: #00549b;
 background-color: #fff;
 text-decoration: none;
 text-align: center;
 font-size: 3.5vw;
 border-radius: 1.7vw;
 position: relative;
 padding: 1.5em
}
#howto .deduction .box .btn-wrap .btn::after {
 content: "";
 display: inline-block;
 width: 2vw;
 height: 2vw;
 border-top: 2px solid #00549b;
 border-right: 2px solid #00549b;
 transform: rotate(45deg);
 position: absolute;
 top: 0;
 bottom: 0;
 right: 1em;
 margin: auto 0
}
#howto .deduction .box .pic {
 text-align: center;
 background-color: #fff;
 padding: 5%;
}
#howto .deduction .box .notes {
 text-align: left;
 margin-top: 20px;
 line-height: 1.4;
 font-size: 12px;
}
@media screen and (min-width:768px) {
 #howto .deduction {
  padding: 0;
 }
 #howto .deduction .box {
  padding: 50px 4% 38px;
  width: 1000px;
 }
 #howto .deduction p {
  font-size: 36px;
  font-weight: 600;
  letter-spacing: .1rem
 }
 #howto .deduction p small {
  font-size: 24px
 }
 #howto .deduction .box .btn-wrap {
  margin: 40px auto 0;
  width: 340px;
  box-sizing: border-box
 }
 #howto .deduction .box .btn-wrap .btn {
  padding: 1.4em 1.5em;
  font-size: 20px;
  border-radius: 8px
 }
 #howto .deduction .box .btn-wrap .btn::after {
  right: 24px;
  width: 10px;
  height: 10px
 }
 #howto .deduction .box .pic {
  text-align: center;
  background-color: #fff;
  padding: 5%;
 }
 #howto .deduction .box .notes li {
  margin-top: 5px;
  text-indent: -1em;
  padding-left: 1em;
 }
}
/* section9 > #about
========================================*/
#about {
 margin-bottom: 0;
 padding: 0 0 6.2vw;
 background: #f3f2f3
}
#about h2 {
 background-color: #00549b;
 color: #fff;
 padding: 6.2vw 0;
}
#about p.lead {
 text-align: center;
 margin-bottom: 6.2vw;
 font-weight: 600;
 letter-spacing: .02em;
}
#about .box2 .line{
    margin-top: 10vw;
}
@media screen and (min-width:768px) {
 #about {
  padding: 0 0 50px;
 }
 #about .innerB {
  max-width: 100%;
 }
 #about .innerB h2 {
  width: 100%;
  padding: 30px 0;
 }
 #about .box2 {
  width: 670px;
  margin: 0 auto;
 }
 #about .box2 .line{
  margin-top: 60px;
 }
 #about p.lead {
  margin-bottom: 30px;
 }
}
#about .box {
 border-top: 2px solid #000;
 margin-top: 20px
}
#about .box.last {
 border-bottom: 2px solid #000;
 padding-bottom: 20px
}
#about .box h3 {
 font-size: 16px;
 vertical-align: middle;
 margin-top: 20px
}
@media screen and (min-width:768px) {
 #about .box h3 {
  font-size: 27px;
  font-weight: 700
 }
}
#about .box h3::before {
 content: "";
 display: inline-block;
 width: 14px;
 height: 14px;
 margin-right: 3px;
 background-color: #e4007f
}
@media screen and (min-width:768px) {
 #about .box h3::before {
  width: 25px;
  height: 25px;
  margin-right: 6px
 }
}
/* section10 > #faq
========================================*/
#faq {
 padding: 6.2vw 0 12.4vw;
 background: #f3f2f3;
 margin-bottom: 0;
}
@media screen and (min-width:768px) {
 #faq {
  padding: 1px 0 100px;
 }
 #faq .qawrap {
  width: 900px;
  margin: 40px auto 0
 }
}
#faq .qawrap .qainner + .qainner {
 margin-top: 1.6vw
}
#faq .qawrap .qainner {
 background: #fff;
 padding: 5%
}
@media screen and (min-width:768px) {
 #faq .qawrap .qainner + .qainner {
  margin-top: 20px
 }
}
#faq .qawrap .a, #faq .qawrap .q {
 padding-left: 7.4vw;
 position: relative
}
#faq .qawrap .a::before, #faq .qawrap .q::before {
 position: absolute;
 top: 0;
 left: 0;
 font-family: Oswald, sans-serif;
 display: inline-block;
 font-size: 6.2vw;
 line-height: 1
}
#faq .qawrap .q {
 font-size: 4.2vw;
 margin: 0 0 4vw;
 color: #00549b;
 font-weight: 700;
 line-height: 1.94
}
#faq .qawrap .q::before {
 content: "Q"
}
#faq .qawrap .a {
 font-size: 4.2vw;
 line-height: 1.94
}
#faq .qawrap .a::before {
 content: "A";
 color: #e0007f
}
@media screen and (min-width:768px) {
 #faq .qawrap .a, #faq .qawrap .q {
  padding-left: 40px;
  font-size: 20px
 }
 #faq .qawrap .a::before, #faq .qawrap .q::before {
  font-size: 30px
 }
 #faq .qawrap .q {
  margin-bottom: 1.5em
 }
 #faq p + p {
  margin-top: 0;
 }
}
/* slick-slide　__customize
======================================== */
.slick-next, .slick-prev {
 display: flex;
 justify-content: center;
 align-items: center;
 background: rgba(0, 0, 0, .7);
 text-align: center;
 z-index: 9000
}
.slick-prev {
 left: 0;
}
.slick-next {
 right: 0;
}
.slick-next:before, .slick-prev:before {
 display: block;
 content: "";
 z-index: 100;
 opacity: 1;
 transition: opacity .2s;
 border-top: 3px solid #fff;
 border-right: 3px solid #fff
}
@media screen and (max-width:769px) {
 .slick-next, .slick-prev {
  width: 9vw;
  height: 29.9vw
 }
 .slick-next:before, .slick-prev:before {
  width: 3vw;
  height: 3vw
 }
}
@media screen and (min-width:768px) {
 .slick-next, .slick-prev {
  width: 80px;
  height: 120px
 }
 .slick-next:before, .slick-prev:before {
  width: 24px;
  height: 24px
 }
 .slick-next:hover, .slick-prev:hover {
  opacity: .7
 }
}
.slick-prev:before {
 transform: rotate(-135deg)
}
.slick-next:before {
 transform: rotate(45deg)
}
.slick-dots {
 bottom: -16vw
}
@media screen and (min-width:768px) {
 .slick-dots {
  bottom: -40px
 }
}
.slick-dots li {
 width: 6.5vw;
 height: 6.5vw;
 background-color: #fff;
 margin: 0 2.5vw;
 opacity: 1;
 transition: opacity .2s;
 border-radius: 50%
}
@media screen and (min-width:768px) {
 .slick-dots li {
  width: 16px;
  height: 16px;
  margin: 0 10px
 }
}
.slick-dots li.slick-active {
 background-color: #ec619f
}
.slick-dots li.slick-active:hover {
 opacity: 1
}
.dot {
 margin-top: 3vw
}
@media screen and (min-width:768px) {
 .dot {
  margin-top: 30px
 }
}
.dot .slick-slide {
 margin: 0 5px;
 width: 70vw;
 height: auto
}
@media screen and (min-width:768px) {
 .dot .slick-slide {
  width: 424px;
  height: 664px
 }
}
.dot .slick-dots {
 bottom: -10vw
}
@media screen and (min-width:768px) {
 .dot .slick-dots {
  bottom: -60px
 }
}
.dot .slick-dots li {
 width: 3vw;
 height: 3vw;
 margin: 0 2vw;
 background-color: #ccc;
 border-radius: 1.5vw
}
@media screen and (min-width:768px) {
 .dot .slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border-radius: 5px
 }
}
.dot .slick-dots li.slick-active {
 background-color: #000
}
/* ========================================
アニメーション
======================================== */
@media screen {
 .js-scroll {
  opacity: 0;
  transition: all 1s;
 }
 .js-scroll-in {
  opacity: 1;
 }
 .js-scroll-y {
  opacity: 0;
  transition: all 0.5s;
  transform: translate(0px, 40px) scale(1);
 }
 .js-scroll-y-in {
  opacity: 1;
  transform: translate(0px, 0px) scale(1);
 }
 .js-scroll-left {
  opacity: 0;
  transition: all 1s;
  transform: translate(-120px, 0) scale(1);
 }
 .js-scroll-left-in {
  opacity: 1;
  transform: translate(0px, 0px) scale(1);
 }
 .js-scroll-right {
  opacity: 0;
  transition: all 1s;
  transform: translate(120px, 0) scale(1);
 }
 .js-scroll-right-in {
  opacity: 1;
  transform: translate(0px, 0px) scale(1);
 }
 .js-scroll-blur {
  opacity: 0;
  transition: all 1s;
  -webkit-filter: blur(5px);
  filter: blur(5px);
 }
 .js-scroll-blur-in {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
 }
 .effect-y {
  transition: all 1s;
  transform: translate(0px, 120px);
 }
 .effect-y-in {
  transform: translate(0px, 120px);
 }
 .effect-y-top {
  transition: all 1s;
 }
 /* .js-slide */
 img[class^="js-slide-"] {
  transition: all 5s;
 }
 .js-slide-left {
  transform: translateX(100%);
 }
 .js-slide-right {
  transform: translateX(-100%);
 }
 .js-slide-top {
  transform: translateY(-100%);
 }
 .js-slide-bottom {
  transform: translateY(100%);
 }
 .js-slide-left-in, .js-slide-right-in {
  transform: translateX(0);
 }
 .js-slide-top-in, .js-slide-bottom-in {
  transform: translateY(0);
 }
 .js-shrink, .js-expansion {
  transition: transform 0.5s;
 }
 .js-shrink:hover {
  transform: scale(0.9, 0.9);
 }
 .js-expansion:hover {
  transform: scale(1.2, 1.2);
 }
}