@charset "utf-8";

/*
Theme Name: はんぱ☆ツウシンオリジナルテーマ
Theme URL: zigzow.com
Description: はんぱ☆ツウシンの非公式ファンサイト用オリジナルテーマです
Author: super☆kawa
Version: ver1.0.2
*/


/* CSS Document */
body {
    font-family: "Dela Gothic One", sans-serif;
    background-color: #fffae2;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 4px, #ffe9a5 4px, #ffe9a5 10px);
}




.hero {
    position: relative;
}




header {
    height: 550px;
    position: relative;

}

.header-img {
    width: 100%;
    height: 600px;
    background-image: url("images/main-img.svg");
/*     background-color: #f8009c; */
/* 	mix-blend-mode: multiply;  */
    background-repeat: no-repeat;
    top: 0;
    left: 0;
}


/*↓↓↓ハンバーガーメニュー↓↓↓*/


.menu-btn {
    position: fixed;
    top: 20px;
    right: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #fd008a;
    border-radius: 8px;
    opacity: .8;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
        transition: all 0.5s;/*アニメーション設定*/
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}

#menu-btn-check {
    display: none;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へポイッと*/
    z-index: 80;
    background-color: #ffd63a;
    transition: all 0.5s;/*アニメーション設定*/
}

#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューがクリックされたときにメニューを画面内に表示*/
}

.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 1.8rem;
    text-align: center;
    box-sizing: border-box;
    text-decoration: none;
    padding: 12px 15px 15px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}


/*↑↑↑ハンバーガーメニュー↑↑↑*/


.title-point {
    position: absolute;
    top: 350px;
    left: 20px;
}


header h1 {
    width: 100%;
    font-size: 4rem;
    letter-spacing: 2px;
    text-align: center;
    color: #FFFFFF;
    position: absolute;
    top: 70%;
    left: 4%;
    text-shadow: rgb(247, 90, 90) 5px 0px 0px, rgb(247, 90, 90) 4.90033px 0.993347px 0px, rgb(247, 90, 90) 4.60531px 1.94709px 0px, rgb(247, 90, 90) 4.12668px 2.82321px 0px, rgb(247, 90, 90) 3.48353px 3.58678px 0px, rgb(247, 90, 90) 2.70151px 4.20736px 0px, rgb(247, 90, 90) 1.81179px 4.6602px 0px, rgb(247, 90, 90) 0.849836px 4.92725px 0px, rgb(247, 90, 90) -0.145998px 4.99787px 0px, rgb(247, 90, 90) -1.13601px 4.86924px 0px, rgb(247, 90, 90) -2.08073px 4.54649px 0px, rgb(247, 90, 90) -2.94251px 4.04248px 0px, rgb(247, 90, 90) -3.68697px 3.37732px 0px, rgb(247, 90, 90) -4.28444px 2.57751px 0px, rgb(247, 90, 90) -4.71111px 1.67494px 0px, rgb(247, 90, 90) -4.94996px 0.7056px 0px, rgb(247, 90, 90) -4.99147px -0.291871px 0px, rgb(247, 90, 90) -4.83399px -1.27771px 0px, rgb(247, 90, 90) -4.48379px -2.2126px 0px, rgb(247, 90, 90) -3.95484px -3.05929px 0px, rgb(247, 90, 90) -3.26822px -3.78401px 0px, rgb(247, 90, 90) -2.4513px -4.35788px 0px, rgb(247, 90, 90) -1.53666px -4.75801px 0px, rgb(247, 90, 90) -0.560763px -4.96845px 0px, rgb(247, 90, 90) 0.437495px -4.98082px 0px, rgb(247, 90, 90) 1.41831px -4.79462px 0px, rgb(247, 90, 90) 2.34258px -4.41727px 0px, rgb(247, 90, 90) 3.17346px -3.86382px 0px, rgb(247, 90, 90) 3.87783px -3.15633px 0px, rgb(247, 90, 90) 4.4276px -2.32301px 0px, rgb(247, 90, 90) 4.80085px -1.39708px 0px, rgb(247, 90, 90) 4.98271px -0.415447px 0px;

}


.fly-text {
    animation: ふわふわ 3s ease-in-out infinite;
}

@keyframes ふわふわ {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

.h2-t-margin{
	margin-top: 10rem;
	text-align: center;
}
.h2-t-margin-sub{
margin-bottom:2rem;
}

h2 {
    color: #F75A5A;
    font-size: 2.8rem;
    font-weight: 500;
    border-bottom: solid 3px #FFF500;
    padding-bottom: .5rem;
    margin: 5rem 0 2rem 0;
    letter-spacing: .8rem;
    transform: rotate(-5deg);
    text-shadow: rgb(255, 255, 255) 5px 0px 0px, rgb(255, 255, 255) 4.90033px 0.993347px 0px, rgb(255, 255, 255) 4.60531px 1.94709px 0px, rgb(255, 255, 255) 4.12668px 2.82321px 0px, rgb(255, 255, 255) 3.48353px 3.58678px 0px, rgb(255, 255, 255) 2.70151px 4.20736px 0px, rgb(255, 255, 255) 1.81179px 4.6602px 0px, rgb(255, 255, 255) 0.849836px 4.92725px 0px, rgb(255, 255, 255) -0.145998px 4.99787px 0px, rgb(255, 255, 255) -1.13601px 4.86924px 0px, rgb(255, 255, 255) -2.08073px 4.54649px 0px, rgb(255, 255, 255) -2.94251px 4.04248px 0px, rgb(255, 255, 255) -3.68697px 3.37732px 0px, rgb(255, 255, 255) -4.28444px 2.57751px 0px, rgb(255, 255, 255) -4.71111px 1.67494px 0px, rgb(255, 255, 255) -4.94996px 0.7056px 0px, rgb(255, 255, 255) -4.99147px -0.291871px 0px, rgb(255, 255, 255) -4.83399px -1.27771px 0px, rgb(255, 255, 255) -4.48379px -2.2126px 0px, rgb(255, 255, 255) -3.95484px -3.05929px 0px, rgb(255, 255, 255) -3.26822px -3.78401px 0px, rgb(255, 255, 255) -2.4513px -4.35788px 0px, rgb(255, 255, 255) -1.53666px -4.75801px 0px, rgb(255, 255, 255) -0.560763px -4.96845px 0px, rgb(255, 255, 255) 0.437495px -4.98082px 0px, rgb(255, 255, 255) 1.41831px -4.79462px 0px, rgb(255, 255, 255) 2.34258px -4.41727px 0px, rgb(255, 255, 255) 3.17346px -3.86382px 0px, rgb(255, 255, 255) 3.87783px -3.15633px 0px, rgb(255, 255, 255) 4.4276px -2.32301px 0px, rgb(255, 255, 255) 4.80085px -1.39708px 0px, rgb(255, 255, 255) 4.98271px -0.415447px 0px;
}

#wrapper {
    margin: 0 auto;
    max-width: 390px;
    width: 100%;
    border-left: 3px solid #FFD63A;
    border-right: 3px solid #FFD63A;
    box-shadow: 2px 2px 25px #e1dfd5;
    background-color: #ffd63a;
    background-image: radial-gradient(#ffde72 21%, transparent 21.5%), radial-gradient(#ffde72 21%, transparent 21.5%);
    background-position: 0 0, 10px 10px;
    background-size: 20px 20px;
    z-index: 1;

}

.top-margn {
    margin-top: 50px;
}

.contents {
    padding: 0 2rem 0 1rem;
    text-align: center;
}

.contents span {
    font-size: 2.6rem;
    letter-spacing: 0;
}

.contents p,
li {
    letter-spacing: .2rem;
    line-height: 1.3em;
    color: #3FC3B2;
    font-size: 2.8rem;
    transform: rotate(5deg);
    text-shadow: rgb(255, 255, 255) 5px 0px 0px, rgb(255, 255, 255) 4.90033px 0.993347px 0px, rgb(255, 255, 255) 4.60531px 1.94709px 0px, rgb(255, 255, 255) 4.12668px 2.82321px 0px, rgb(255, 255, 255) 3.48353px 3.58678px 0px, rgb(255, 255, 255) 2.70151px 4.20736px 0px, rgb(255, 255, 255) 1.81179px 4.6602px 0px, rgb(255, 255, 255) 0.849836px 4.92725px 0px, rgb(255, 255, 255) -0.145998px 4.99787px 0px, rgb(255, 255, 255) -1.13601px 4.86924px 0px, rgb(255, 255, 255) -2.08073px 4.54649px 0px, rgb(255, 255, 255) -2.94251px 4.04248px 0px, rgb(255, 255, 255) -3.68697px 3.37732px 0px, rgb(255, 255, 255) -4.28444px 2.57751px 0px, rgb(255, 255, 255) -4.71111px 1.67494px 0px, rgb(255, 255, 255) -4.94996px 0.7056px 0px, rgb(255, 255, 255) -4.99147px -0.291871px 0px, rgb(255, 255, 255) -4.83399px -1.27771px 0px, rgb(255, 255, 255) -4.48379px -2.2126px 0px, rgb(255, 255, 255) -3.95484px -3.05929px 0px, rgb(255, 255, 255) -3.26822px -3.78401px 0px, rgb(255, 255, 255) -2.4513px -4.35788px 0px, rgb(255, 255, 255) -1.53666px -4.75801px 0px, rgb(255, 255, 255) -0.560763px -4.96845px 0px, rgb(255, 255, 255) 0.437495px -4.98082px 0px, rgb(255, 255, 255) 1.41831px -4.79462px 0px, rgb(255, 255, 255) 2.34258px -4.41727px 0px, rgb(255, 255, 255) 3.17346px -3.86382px 0px, rgb(255, 255, 255) 3.87783px -3.15633px 0px, rgb(255, 255, 255) 4.4276px -2.32301px 0px, rgb(255, 255, 255) 4.80085px -1.39708px 0px, rgb(255, 255, 255) 4.98271px -0.415447px 0px;
}


.sent-left {
    text-align: left;
	text-align: justify;
    line-height: 3.5rem !important;
    font-size: 1.8rem !important;
}

.l-space {
	letter-spacing: .6rem;
	font-size: 2rem;
}

.text-clor {
  color: #e8008c;
}

.sub-text{
font-size: 1.3rem !important;
    line-height: 2.5rem !important;
    text-align: justify;
    color: #3fc3b2 !important;
}
  .sub-hanpa-text{
font-size: 1.5rem;

}


footer {
    margin-top: 5rem;
    text-align: center;
    padding: 1.5rem 0;

}

small {
    letter-spacing: 3px;
    color: #ff008c;
}



/*質問コーナーのCSS*/
.accordion {
  width: 100%;
}

/* inputのチェックボックスを非表示 */
.accordion-hidden {
  display: none;
}

/* 見出しボタン部分 */
.accordion-open {
  display: block;
	font-size: 1.3rem;
  padding: 30px 80px 30px 40px;
	color: #3fc3b2;
  background: #ffffff;
  cursor: pointer;
  margin: 5px 0;
  position: relative;
}

/* ＋アイコン */
.accordion-open::before,
.accordion-open::after {
  content: '';
  width: 20px;
  height: 3px;
  background: #F75A5A;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}

/* アイコンのー */
.accordion-open::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .5s;
}

/* アコーディオンが開いたらーに */
.accordion-hidden:checked+.accordion-open:after {
  transform: translateY(-50%) rotate(0);
}

/* アコーディオン中身部分 */
.accordion-inner {
		font-size: 1.3rem;
	line-height: 2.5rem;
	text-align: justify;
	color: #f75a5a;
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: 0.5s;
  /* 表示速度の設定 */
  cursor: pointer;
		text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
}

/* チェックボックスにチェックが入ったら中身部分を表示する */
.accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
  padding: 10px;
}
/* ↑ここまで共通 */


/* Q&A追加 */
.accordion_qa .Q,
.accordion_qa .A {
  position: relative;
}

.accordion_qa .Q::before,
.accordion_qa .A::before {
  font-size: 2em;
  display: block;
  position: absolute;
  top: -.6em;
  left: -1.0em;
}

.accordion_qa .Q::before {
  content: 'Q';
color: #27b7a4;
}



.accordion_qa .accordion-open {
  padding-left: 2.5em;
}

.accordion_qa .accordion-hidden:checked+.accordion-open+.accordion-inner {
  height: auto;
  opacity: 1;
/*   padding: 10px 10px 10px 2.5em; */
}
/* Q&Aページのアコーディオン追加ここまで */



/*ボタン上にフキダシCSS*/

.btn_wrap {
        width: 310px;
        height: auto;
        position: relative;
        margin: 5rem auto 0 auto;
}
.btn_balloon {
        width: 280px;
        height: 30px;
        padding-left: 0.1em;
        border-radius: 20px;
        border: solid 2px #32b16c;
        background-color: #fff;
        font-size: 90%;
	letter-spacing:.5rem;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        bottom: 55px;
        left: 50%;
        transform: translate(-50%, 0%);
        pointer-events: none;
        transition: 0.2s;
        color: #009b5d;
        z-index: 2;
}
.btn_balloon::before, .btn_balloon::after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        position: absolute;
        left: 50%;
        transform: translate(-50%, 100%);
}
.btn_balloon::before {
        bottom: 1px;
        border-width: 8px 5px 0 5px;
        border-color: #fff transparent transparent transparent;
        z-index: 2;
}
.btn_balloon::after {
        bottom: 0;
        border-width: 11px 8px 0 8px;
        border-color: #32b16c transparent transparent transparent;
        z-index: 1;
}
.button {
        width: 100%;
        padding: 25px 30px;
        border-radius: 8px;
        font-size: 120%;
        font-weight: 500;
        line-height: 1;
        text-align: center;
        text-decoration: none;
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        background: #32b16c;
        -webkit-box-shadow: 0 5px 0 #2c9d60;
        box-shadow: 0 5px 0 #2c9d60;
        color: #fff;
        transition: 0.2s;
}
.button:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
/*   border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg); */
}
.button:hover {
  background: #6bc594;
  color: #FFF;
  -webkit-box-shadow: 0 2px 0 #2c9d60;
  box-shadow: 0 2px 0 #2c9d60;
  transform: translateY(3px);
}



/*スマホ用表示*/
@media screen and (max-width: 430px) {
		#wrapper{
		max-width: 100%;
	}
  .sub-hanpa-text{
font-size: 1.5rem;

}
}
/*スマホ用表示*/
@media screen and (max-width: 390px) {
		#wrapper{
			width:100% !important;
		max-width: 100% !important;
			    border-left: none;
    border-right: none;
    box-shadow: none;
	}
	.title-point {
		width:80%;
    top: 350px;
    left: 20px;
}
	html{
					    background-color: #ffd63a;
    background-image: radial-gradient(#ffde72 21%, transparent 21.5%), radial-gradient(#ffde72 21%, transparent 21.5%);
    background-position: 0 0, 10px 10px;
    background-size: 20px 20px;
	}
}