@charset "UTF-8";

@font-face {
    font-family: "makinas";
    src: url("../fonts/Makinas-Flat-5.woff2") format('woff2'),
         url("../fonts/Makinas-Flat-5.woff") format('woff'),
         url("../fonts/Makinas-Flat-5.otf")  format('opentype');
}
/* FontAwesome は CDN で読み込むため削除 */

/* ----------------------------------
   default settings
---------------------------------- */

html, body {
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 62.5%;/*10px*/
    font-family: 'こぶりなゴシック W3 JIS2004','Koburina Gothic W3 JIS2004','ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    line-height: 2;
    word-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    appearance: none;
    -webkit-appearance: none;
    color: #333333;
    background-color: #fff;
    box-sizing: border-box;
}
.container-fluid {
    max-width: 950px;
    /*max-width: 1200px;*/
}
.bold {
        font-family: 'こぶりなゴシック W6 JIS2004','Koburina Gothic W6 JIS2004', sans-serif;
        font-weight: bold;
}
header, footer, nav, article, section, figure, aside {
	display: block;
}
h1, h2, h3, h4, h5, h6, p {
    margin: 0;
    padding: 0;
    font-weight: normal;
    text-align: justify;
}
img {
    border: none;
    vertical-align: middle;
}
ul, ol {
    list-style: none;
    margin: 0;
    padding: 0 0 0 2em;
}
dl dt, dl dd {
    margin: 0;
    padding: 0;
    font-size: 1rem;
}
a {
    color: #333333;
    text-decoration: none;
    outline: none;
    -webkit-transition: opacity 0.2s ease-in-out;
    -moz-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
}
a:link, a:visited {
	color: #333333;
	text-decoration: none;
}
a:hover, a:active {
	color: #666666;
	/*text-decoration: underline;*/
}
clear:after {
    content: "";
    display: block;
    clear: both;
}
textarea,
input[type=text] {
    display: inline-block;
    border: solid 1px #aaa;
    border-radius: 0.2em;
}
textarea:focus,
input[type=text]:focus {
}

input[type=text] {
    display: inline-block;
    padding: 0.5em;
    font-size: 1.4rem;
}
@media only screen and (max-width: 1199px) {
    input[type=text] {
        font-size: 1.2rem;
    }
}
@media only screen and (max-width: 835px) {
    input[type=text] {
        font-size: 1rem;
    }
}
input[type=checkbox] {
    display: none;
}
label.check_box {
    position: relative;
    display: inline-block;
    padding: 0.5em 0 0.5em 2em;
    line-height: 1.4;
    -webkit-transition: all 0.2 linear;
    transition: all 0.2 linear;
}
label.check_box:hover {
    cursor: pointer;
}
label.check_box:before {
    position: absolute;
    content: "";
    display: block;
    width: 1.5em;
    height: 1.5em;
    top: 50%;
    left: 0;
    box-sizing: border-box;
    border: 1px solid #aaa;
    margin-top: -0.75em;
    background-color: #fff;
}
label.check_box:after {
    opacity: 0.1;
    position: absolute;
    content: "";
    display: block;
    width: 0.8em;
    height: 1em;
    top: 50%;
    left: 0;
    box-sizing: border-box;
    border-right: 3px solid #000;
    border-bottom: 3px solid #000;
    margin-top: -0.7em;
    margin-left: 0.35em;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
}
input[type=checkbox]:checked + label.check_box:after {
    border-color: #53dd12;
    opacity: 1;
}
input::-webkit-input-placeholder {
    opacity: 0.5;
}
input::-moz-placeholder {
    opacity: 0.5;
}
input:-moz-placeholder {
    opacity: 0.5;
}
input:-ms-input-placeholder {
    opacity: 0.5;
}
input::placeholder {
    opacity: 0.5;
}
input:focus::-webkit-input-placeholder {
    opacity: 0;
}
input:focus::-moz-placeholder {
    opacity: 0;
}
input:focus:-moz-placeholder {
    opacity: 0;
}
input:focus:-ms-input-placeholder {
    opacity: 0;
}
input:focus::placeholder {
    opacity: 0;
}
.button {
    position: relative;
    display: inline-block;
    padding: 1em 4em;
    background-color: #222;
    border: 1px solid #222;
    border-radius: 0.2em;
    line-height: 1.5;
    color: #fff;
    transition: all .5s;
}
.button:hover {
    cursor: pointer;
    background-color: #ffff33;
    color: #222;
}
.button:before {
    content: "\f04e";
    font-family: FontAwesome;
    font-size: 1.4rem;
    display: block;
    position: absolute;
    top: 1em;
    left: 3em;
    margin-top: 0;
    width: 1em;
    height: 1em;
    line-height: 1.5;
}

.mb10 {margin-bottom: 10px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb50 {margin-bottom: 50px!important;}
.mt10 {margin-top: 10px!important;}
.mt20 {margin-top: 20px!important;}
.mt30 {margin-top: 30px!important;}
.mt40 {margin-top: 40px!important;}
.mt50 {margin-top: 50px!important;}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.makinas {
    font-family: 'makinas', sans-serif;
}

.koburina-w6 {
    font-family: 'こぶりなゴシック W6 JIS2004 , Koburina Gothic W6 JIS2004', sans-serif;
}
.center {
    text-align: center!important;
}
.pagetop {
    min-width: 10em;
    height: 32px;
    display: none;
    position: fixed;
    bottom: 0;
    left: 70%;
    margin-left: -5em;
    text-align: center;
}
.pagetop a {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 1.6rem;
    line-height: 2; 
    color: #fff;
    background-color: rgba(100,100,100,.3);
    border: 1px solid transparent;
    border-radius: 0.2em 0.2em 0 0;
    box-sizing: border-box;
    transition: all .5s;
}
.pagetop a:hover {
    background-color: rgba(60,60,60,1);
}
.social-link {
    margin: 0 auto;
	max-width: 500px;
}
.social-link li {
    display: inline;
    padding-left: 0;
}
.social-link li a {
}
.social-link li a img{
    width: 50px;
}

.social-link li.facebook a {
    background-color: #315096;
}
.social-link li.twitter a {
    background-color: #55acee;
}
.social-link li.google-plus a {
    background-color: #dd4b39;
}
.fa-external-link-alt.small {
    font-size: 70%;
}
.link-underline {
    text-decoration: underline!important;
}
.sp-br {
    display: none;
}
@media only screen and (max-width: 600px) {
    .social-link li a {
        font-size: 1.4rem;
    }
    .sp-br {
        display: block;
    }
}



/* ----------------------------------
   sub header settings
---------------------------------- */

.box{
    border: 5px solid #1c99ae;
    border-radius: 15px;
}
.ptn01{
    padding: 100px;
    
}


/* ----------------------------------
   main header settings
---------------------------------- */

.main_header {
    width: 100%;
    /*height: 64px;*/
    background-color: #fff;
    border-bottom: 1px solid #cdcdcd;
    position: relative;
    padding: 10px 0;
}
.main_header:after {
    content: "";
    display: block;
    clear: both;
}
.main_header .inner_wrap {
    width: 1200px;
    position: relative;
    margin: 0 auto;
    padding: 0;
}
.main_header .inner_wrap h1 {
    display: block;
    width: 167px;
    height: auto;
    margin-top: 12px;
    margin-left: 40px;
}
.main_header .inner_wrap h1 img {
    width: 100%;
}
.main_header .inner_wrap .main_nav {
    display: block;
    position: absolute;
    top: 0;
    right: 20px;
}
.main_header .inner_wrap .main_nav .nav_list {
    margin: 0;
    padding: 0;
}
.main_header .inner_wrap .main_nav .nav_list li {
    float: left;
    border: 1px solid #666;
}
.main_header .inner_wrap .main_nav .nav_list li a {
    display: inline-block;
    padding: 7px 28px;
    line-height: 2;
    font-size: 1.2rem;
}
.main_header .inner_wrap .main_nav .nav_icon_sp {
    display: none;
    position: absolute;
    top: 10px;
    right: 10px;
}
@media only screen and (max-width: 1200px) {
    .main_header .inner_wrap {
        width: 100%;
    }
}
@media only screen and (max-width: 835px) {
    .main_header .inner_wrap h1 {
        width: 125px;
        margin-top: 9px;
        margin-left: 20px;
    }
    .main_header .inner_wrap .main_nav .nav_list li a {
        padding: 4px 16px;
        line-height: 2;
        font-size: 1rem;
    }
}
@media only screen and (max-width: 500px) {
    .main_header .inner_wrap h1 {
        width: 75px;
        margin-top: 0;
        margin-left: 20px;
    }
    .main_header .inner_wrap .main_nav .nav_list li a {
        padding: 3px 12px;
        line-height: 1.4;
        font-size: 1rem;
    }
}



/* ----------------------------------
   sub header settings
---------------------------------- */

.sub_header_wrap {
    width: 100%;
}
.sub_header {
    background-image: url(../img/background_noise.jpg);
    background-repeat:repeat;
}
.sub_header .main_title {
    background-color: #f1f1f1;
    text-align: center;
	background-color: transparent;
	width: 100%;
	max-width: 1024px;
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: center;
	margin-top: 0;
	height: 500px;
    width: 1200px;
    margin: 0 auto;
}
.sub_header .main_title.atari {
    height: 700px;
}
@media screen and (max-width: 576px) {
	.sub_header .main_title.atari {
		height: 360px;
        padding: 20px;
	}
}
.sub_header .main_title img {
	/* width: auto;
	height: auto;
    width: 100%; */
    margin: 0 auto;
}
.sub_header .social-link {
    width: 1000px;
    padding: 0;
    margin: 30px auto;
    text-align: center;
}
.sub_header .social-link li+li {
    margin-left: 2em;
}

.sub_header .link {
    width: 1000px;
    padding: 0;
    margin: 30px auto 60px; 
}
.sub_header .link li {
    width: 490px;
    float: left;
}
.sub_header .link li+li {
    margin-left: 20px;
}
.sub_header .link li img {
    width: 100%;
}
.sub_header .main_image {
    position: absolute;
}
.sub_header .main_image img {
    width: 100%;
    height: 100%;
}
.sub_header .share_text {
    display: block;
    width: 100%;
    max-width: 400px;
    margin: 100px auto 50px;
}
.sub_header .share_text img {
    width: 100%;
}

@media screen and (max-width: 1200px){
    .sub_header_wrap {
        width: calc( 100% - 40px );
        margin: 0 auto;
		width: 100%;
    }
    .sub_header .main_title {
        width: 100%;
    }
}
@media only screen and (max-width: 1199px) {
    .sub_header .main_title img {
        /* width: 100%; */
        margin: 20px auto;
    }
}
@media only screen and (max-width: 999px) {
    .sub_header .social-link {
        width: 100%;
    }
    .sub_header .link {
        width: 100%;
    }
    .sub_header .link li {
        width: 49%;
    }
    .sub_header .link li+li {
        margin-left: 2%;
    }
}
@media only screen and (max-width: 835px) {
    .sub_header .link {
        padding: 0 2.4%;
    }
    .sub_header .link li {
        width: 46.4%;
    }
    .sub_header .link li+li {
        margin-left: 2.4%;
    }
}
@media only screen and (max-width: 600px) {
    .sub_header .social-link {
        margin: 15px auto;
    }
    .sub_header .link {
        padding: 0;
        margin: 15px auto 50px; 
    }
    .sub_header .link li {
        width: 70%;
        margin: 0 auto;
        float: none;
    }
    .sub_header .link li+li {
        margin-top: 3.33%;
        margin-left: auto;
    }
}




/* ----------------------------------
   concept settings
---------------------------------- */

.section.concept {
    background-color: #fafaf7;
    padding: 30px;
}


@media only screen and (max-width: 835px) {
    .section.concept {
        padding: 35px 0;
    }
}
.section.concept h2,
.section.concept .txt {
    text-align: center;
    font-size: 3.6rem;
    margin: 1.4em 0 2em;
    letter-spacing: 0.2em;
}
@media only screen and (max-width: 835px) {
    .section.concept h2,
    .section.concept .txt {
        font-size: 2.4rem;
        margin: 1.4em 0;
    }
}
@media only screen and (max-width: 600px) {
    .section.concept h2,
    .section.concept .txt {
        margin: 1.4em 0;
    }
}
.section.concept .txt span {
    display: block;
    font-size: 1.8rem;
    line-height: 3;
    letter-spacing: 0.2em;
}
@media only screen and (max-width: 835px) {
    .section.concept .txt span {
        font-size: 1.4rem;
    }
}
@media only screen and (max-width: 600px) {
    .section.concept .txt span {
        line-height: 2.4;
    }
    .section.concept .txt span+span {
        margin-top: 2.4em;
    }
}
.section.concept .img {
    max-width: 1000px;
    margin: 70px auto 0;
    text-align: center;
}
@media only screen and (max-width: 999px) {
    .section.concept .img {
        width: 100%;
    }
}
@media only screen and (max-width: 600px) {
    .section.concept .img {
        margin: 40px auto 0;
    }
}
.section.concept .img .image img {
    width: 40%;
}
@media only screen and (max-width: 600px) {
    .section.concept .img .image img {
        width: 50%;
    }
}
.section.concept .img .caption {
    margin: 0;
    padding: 30px 0 70px;
    display: block;
    font-size: 1.2rem;
}
@media only screen and (max-width: 600px) {
    .section.concept .img .caption {
        padding: 20px 0 40px;
        font-size: 1rem;
    }
}


/* ----------------------------------
   campaign01 settings
---------------------------------- */

.section.campaign01 {
    width: calc(100% - 60px);
    margin: 0;
}
.section.campaign01 .sec_title_wrap {
    width: 100%;
    margin: 0;
    background-color: #fee6f1;
}
.section.campaign01 .sec_title_wrap h2 {
    width: 1200px;
    height: 400px;
    text-indent: -9999%;
    margin: 0 auto;
    background-image: url(../img/campaign01_head.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media only screen and (max-width: 1199px) {
    .section.campaign01 .sec_title_wrap h2 {
        width: 100%;
        height: auto;
        padding-top: 33.361134%;
    }
}
@media only screen and (max-width: 600px) {
    .section.campaign01 .sec_title_wrap h2 {
        padding-top: 35%;
        background-image: url(../img/muku_link_01.jpg);
    }
}

/*-----------content01-----------*/
.section.campaign01 .content01 .txt {
    text-align: center;
    margin: 0;
    padding: 100px 0;
    letter-spacing: 0.2em;
    background-color: #fee6f1;
    background: linear-gradient(to bottom, #fee6f1, #ffeff7);
}
@media only screen and (max-width: 835px) {
    .section.campaign01 .content01 .txt {
        padding: 80px 2.4%;
    }
}
.section.campaign01 .content01 .txt span {
    display: block;
    font-size: 1.8rem;
    line-height: 3;
    letter-spacing: 0.2em;
}
@media only screen and (max-width: 835px) {
    .section.campaign01 .content01 .txt span {
        font-size: 1.4rem;
    }
}
@media only screen and (max-width: 600px) {
    .section.campaign01 .content01 .txt span {
        line-height: 2;
    }
    .section.campaign01 .content01 .txt span+span {
        margin-top: 2.4em;
    }
}

/*-----------content02-----------*/
.section.campaign01 .content02 {
    background-color: #ffeff7;
}
.section.campaign01 .content02 h3 {
    text-align: center;
    text-indent: -9999%;
    height: 0;
}
.section.campaign01 .content02 p {
    width: 1200px;
    margin: 0 auto;
    text-align: center;
}
.section.campaign01 .content02 .posts-counter {
    position: relative;
    width: 1200px;
    height: 300px;
    margin: 0 auto -150px;
    background-image: url(../img/campaign01_post_bg.png);
    background-size: cover;
}
.section.campaign01 .content02 .posts-counter span {
    display: inline-block;
    position: absolute;
    font-size: 12.0rem;
    line-height: 1;
    color: #d95b92;
    top: 120px;
    width: 95px;
    text-align: center;
}
.section.campaign01 .content02 .posts-counter span:nth-child(1) { left: 464px; }
.section.campaign01 .content02 .posts-counter span:nth-child(2) { left: 568px; }
.section.campaign01 .content02 .posts-counter span:nth-child(3) { left: 672px; }

@media only screen and (max-width: 1199px) {
    .section.campaign01 .content02 p {
        width: 100%;
    }
    .section.campaign01 .content02 .posts-counter span {
        font-size: 11vw;
        top: 39%;
        width: 7.6%;
    }
    .section.campaign01 .content02 .posts-counter {
        width: 100%;
        height: 100%;
        margin: 0 auto -100px;
        padding-top: 25%;
    }
    .section.campaign01 .content02 .posts-counter span:nth-child(1) { left: 38.9%; }
    .section.campaign01 .content02 .posts-counter span:nth-child(2) { left: 47.6%; }
    .section.campaign01 .content02 .posts-counter span:nth-child(3) { left: 56.3%; }


}
@media only screen and (max-width: 835px) {
    .section.campaign01 .content02 p {
        width: 90%;
    }
}
@media only screen and (max-width: 750px) {
    .section.campaign01 .content02 .posts-counter span {
        font-size: 16vw;
        top: 40%;
    }
    .section.campaign01 .content02 .posts-counter {
        width: 100%;
        height: 100%;
        padding-top: 40%;
        background-image: url(../img/campaign01_post_sp_bg.png);
    }
    .section.campaign01 .content02 .posts-counter span:nth-child(1) { left: 30%; }
    .section.campaign01 .content02 .posts-counter span:nth-child(2) { left: 44%; }
    .section.campaign01 .content02 .posts-counter span:nth-child(3) { left: 58%; }

}
.section.campaign01 .content02 p img {
    text-align: center;
    width: 100%;
}

/*-----------content03-----------*/
.section.campaign01 .content03 {
    text-align: center;
    margin: 0;
    padding: 150px 0 50px;
    letter-spacing: 0.2em;
    background-color: #ffeff7;
}
.section.campaign01 .content03 h3 {
    width: 1200px;
    height: 178px;
    margin: 0 auto;
    text-align: center;
    text-indent: -9999%;
    background-image: url(../img/campaign01_flow01.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media only screen and (max-width: 1200px) {
    .section.campaign01 .content03 {
        padding: 100px 0 50px;
    }
    .section.campaign01 .content03 h3 {
        width: 100%;
        height: 0;
        padding-top: 14.833333%;
    }
}
.section.campaign01 .content03 ol {
    margin: 0;
    padding: 0;
    width: 1200px;
    margin: 0 auto;
}
@media only screen and (max-width: 1199px) {
    .section.campaign01 .content03 ol {
        width: 100%;
    }
}
.section.campaign01 .content03 ol li {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 300px;
    position: relative;
    background-image: url(../img/campaign01_flow02.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media only screen and (max-width: 1199px) {
    .section.campaign01 .content03 ol li {
        width: 100%;
        height: auto;
        padding-top: 25%;
    }
}
.section.campaign01 .content03 ol li:nth-child(1) {
    height: 250px;
}
@media only screen and (max-width: 1199px) {
    .section.campaign01 .content03 ol li:nth-child(1) {
        height: auto;
        padding-top: 20.8333%;
    }
}
.section.campaign01 .content03 ol li:nth-child(2) {
    background-image: url(../img/campaign01_flow03.png);
}
.section.campaign01 .content03 ol li:nth-child(3) {
    background-image: url(../img/campaign01_flow04.png);
}
.section.campaign01 .content03 ol li:nth-child(4) {
    background-image: url(../img/campaign01_flow05.png);
}
.section.campaign01 .content03 ol li>span {
    position: absolute;
    width: 500px;
    font-size: 2.4rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
    top: 90px;
}
.section.campaign01 .content03 ol li>span.left {
    left: 50px;
}
.section.campaign01 .content03 ol li>span.right {
    right: 50px;
}
.section.campaign01 .content03 ol li:nth-child(1)>span {
    top: 70px;
}
.section.campaign01 .content03 ol li .txt .underline {
    background: linear-gradient(transparent 60%, #fdbc6b 60%);
}
@media only screen and (max-width: 1199px) {
    .section.campaign01 .content03 ol li>span {
        width: 41.7014%;
        font-size: 2vw;
        top: 30%;
    }
    .section.campaign01 .content03 ol li>span.left {
        left: 4.1701%;
    }
    .section.campaign01 .content03 ol li>span.right {
        right: 4.1701%;
    }
    .section.campaign01 .content03 ol li:nth-child(1)>span {
        top: 23.33333%;
    }
}

/*-----------youkou-----------*/
.section.campaign01 .youkou {
    text-align: center;
    margin: 0;
    padding: 0;
    letter-spacing: 0.2em;
}
.section.campaign01 .youkou h3 {
    margin: 0 auto;
    padding: 0;
    text-align: center;
    font-size: 3rem;
    line-height: 2.4;
    color: black;
}
.section.campaign01 .youkou .list {
    width: 100%;
    margin: 0 auto;
    /*padding: 0 20px 0;*/
    box-sizing: border-box;
    border: 5px solid #17a2b8;
    border-radius: 15px;
}
@media only screen and (max-width: 1199px) {
    .section.campaign01 .youkou .list {
        width: 100%;
    }
}
.section.campaign01 .youkou .list dl {
    display: table-row;
}
.section.campaign01 .youkou .list dl dt,
.section.campaign01 .youkou .list dl dd {
    box-sizing: border-box;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    padding: 2em 2.5em;
    border-top: 1px dashed black;
    border-collapse: collapse;
}
.section.campaign01 .youkou .list dl dt{
    font-size: 1.8rem;
}
.section.campaign01 .youkou .list dl dd {
    color: #333;
    font-size: 1.6rem;
}

@media only screen and (max-width: 1199px) {
    .section.campaign01 .youkou .list dl dt,
    .section.campaign01 .youkou .list dl dd {
        padding: 2em 1em;
    }
}
@media only screen and (max-width: 550px) {
    .section.campaign01 .youkou .list dl dt,
    .section.campaign01 .youkou .list dl dd {
        padding: 1em 1em;
    }
}
.section.campaign01 .youkou .list dl:nth-child(1) dt,
.section.campaign01 .youkou .list dl:nth-child(1) dd {
    border-top-color: transparent;
}
.section.campaign01 .youkou .list dl dt {
    width: 30%;
}
.section.campaign01 .youkou .list dl dd {
    text-align: left;
    width: 70%;
}
.section.campaign01 .youkou .list dl dd ul {
    margin-left: 0;
    padding-left: 0;
    margin-bottom: 0;
}
.section.campaign01 .youkou .list dl dd ul li {
    line-height: 1.4;
}
.section.campaign01 .youkou .list dl dd ul li+li {
    margin-top: 1em;
}
.section.campaign01 .youkou .list dl dd span {
    display: block;
}
@media only screen and (max-width: 550px) {
    .section.campaign01 .youkou .list dl dd ul li+li {
        margin-top: 0.6em;
    }
}




/* ----------------------------------
   campaign02 settings
---------------------------------- */

.section.campaign02 {
    width: 100%;
    margin: 0;
}
.section.campaign02 .sec_title_wrap {
    width: 100%;
    margin: 0;
    padding: 50px 0 0;
    background-color: #ffff00;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .sec_title_wrap {
        padding-top: 30px;
    }
}
.section.campaign02 .sec_title_wrap h2 {
    width: 950px;
    height: 400px;
    text-indent: -9999%;
    margin: 0 auto;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .sec_title_wrap h2 {
        width: 100%;
        height: 0;
        padding-top: 33.361134%;
    }
}
@media only screen and (max-width: 600px) {
    .section.campaign02 .sec_title_wrap h2 {
        padding-top: 40.81632%;
        background-image: url(../img/muku_link_02.png);
    }
}

/*-----------content01-----------*/
.section.campaign02 .content01 .txt {
    text-align: center;
    margin: 0;
    padding: 100px 0;
    letter-spacing: 0.2em;
    background-color: #ffff00;
    background: linear-gradient(to bottom,#ffff00,#ffff33)
}
@media only screen and (max-width: 835px) {
    .section.campaign02 .content01 .txt {
        padding: 80px 2.4%;
    }
}
.section.campaign02 .content01 .txt span {
    display: block;
    font-size: 1.8rem;
    line-height: 3;
    letter-spacing: 0.2em;
}
@media only screen and (max-width: 835px) {
    .section.campaign02 .content01 .txt span {
        font-size: 1.4rem;
    }
}
@media only screen and (max-width: 600px) {
    .section.campaign02 .content01 .txt span {
        line-height: 2;
    }
    .section.campaign02 .content01 .txt span+span {
        margin-top: 2.4em;
    }
}

/*-----------content02-----------*/
.section.campaign02 .content02 {
    background-color: #ffff33;
}
.section.campaign02 .content02 h3 {
    text-align: center;
    text-indent: -9999%;
    height: 0;
}
.section.campaign02 .content02 p {
    width: 1200px;
    margin: 0 auto;
    text-align: center;
}
.section.campaign02 .content02 .posts-counter {
    position: relative;
    width: 1200px;
    height: 300px;
    margin: 0 auto -150px;
    background-image: url(../img/campaign02_post_bg.png);
    background-size: cover;
}
.section.campaign02 .content02 .posts-counter span {
    display: inline-block;
    position: absolute;
    font-size: 12.0rem;
    line-height: 1;
    color: #000000;
    top: 120px;
    width: 95px;
    text-align: center;
}
.section.campaign02 .content02 .posts-counter span:nth-child(1) { left: 524px; }
.section.campaign02 .content02 .posts-counter span:nth-child(2) { left: 628px; }
.section.campaign02 .content02 .posts-counter span:nth-child(3) { left: 732px; }

@media only screen and (max-width: 1199px) {
    .section.campaign02 .content02 p {
        width: 100%;
    }
    .section.campaign02 .content02 .posts-counter span {
        font-size: 11vw;
        top: 39%;
        width: 7.9%;
    }
    .section.campaign02 .content02 .posts-counter {
        width: 100%;
        height: 100%;
        margin: 0 auto -100px;
        padding-top: 25%;
    }
    .section.campaign02 .content02 .posts-counter span:nth-child(1) { left: 43.7%; }
    .section.campaign02 .content02 .posts-counter span:nth-child(2) { left: 52.5%; }
    .section.campaign02 .content02 .posts-counter span:nth-child(3) { left: 61.2%; }
}

@media only screen and (max-width: 750px) {
    .section.campaign02 .content02 .posts-counter span {
        font-size: 16vw;
        top: 40%;
    }
    .section.campaign02 .content02 .posts-counter {
        width: 100%;
        height: 100%;
        padding-top: 40%;
        background-image: url(../img/campaign02_post_sp_bg.png);
    }
    .section.campaign02 .content02 .posts-counter span:nth-child(1) { left: 41.7%; }
    .section.campaign02 .content02 .posts-counter span:nth-child(2) { left: 55.8%; }
    .section.campaign02 .content02 .posts-counter span:nth-child(3) { left: 69.6%; }

}


.section.campaign02 .content02 p img {
    text-align: center;
    width: 100%;
}

/*-----------content03-----------*/
.section.campaign02 .content03 {
    text-align: center;
    margin: 0;
    padding: 150px 0 50px;
    letter-spacing: 0.2em;
    background-color: #ffff33;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .content03 {
        padding: 100px 0 50px;
    }
}
.section.campaign02 .content03 h3 {
    width: 1200px;
    height: 178px;
    margin: 0 auto;
    text-align: center;
    text-indent: -9999%;
    background-image: url(../img/campaign02_flow01.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .content03 h3 {
        width: 100%;
        height: 0;
        padding-top: 14.84570%
    }
}
.section.campaign02 .content03 ul {
    margin: 0;
    padding: 0;
    width: 1200px;
    margin: 0 auto;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .content03 ul {
        width: 100%;
    }
}
.section.campaign02 .content03 ul li {
    margin: 0;
    padding: 2em 0;
    width: 100%;
    font-size: 2.4rem;
    line-height: 2em;
    position: relative;
    color: #000000;
    background-color: #ffffff;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .content03 ul li {
        font-size: 1.8rem;
    }
}
@media only screen and (max-width: 835px) {
    .section.campaign02 .content03 ul li {
        font-size: 1.6rem;
    }
}
@media only screen and (max-width: 600px) {
    .section.campaign02 .content03 ul li {
        font-size: 1.4rem;
    }
}
.section.campaign02 .content03 ul li:nth-child(2n) {
    background-color: #ffffcc;
}
.section.campaign02 .content03 ul li span {
    font-size: 1.6rem;
    line-height: 1.4;
    display: block;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .content03 ul li span {
        font-size: 1.08rem;
    }
}
@media only screen and (max-width: 835px) {
    .section.campaign02 .content03 ul li span {
        font-size: 0.96rem;
    }
}
@media only screen and (max-width: 600px) {
    .section.campaign02 .content03 ul li span {
        font-size: 8.4%;
    }
}



/*-----------youkou-----------*/
.section.campaign02 .youkou {
    text-align: center;
    margin: 0;
    padding: 0 0 5px;
    letter-spacing: 0.2em;
    background-color: #ffff33;
}
.section.campaign02 .youkou h3 {
    width: 1200px;
    height: 72px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    position: relative;
    font-size: 3rem;
    line-height: 2.4;
    background-color: #fafafa;
    color: #000000;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .youkou h3 {
        width: 100%;
        height: auto;
        font-size: 2.50208vw;
    }
}
.section.campaign02 .youkou h3:hover {
    cursor: pointer;
    background-color: #fff;
}
.section.campaign02 .youkou h3:before,
.section.campaign02 .youkou h3:after {
    content: "";
    display: block;
    width: 36px;
    height: 2px;
    position: absolute;
    top: 35px;
    right: 36px;
    background-color: #000000;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .youkou h3:before,
    .section.campaign02 .youkou h3:after {
        width: 3.0025%;
        top: 50%;
        right: 3.0025%;
    }
}
@media only screen and (max-width: 550px) {
    .section.campaign02 .youkou h3:before,
    .section.campaign02 .youkou h3:after {
        height: 1px;
    }
}
.section.campaign02 .youkou h3:before {
    transform: rotate(90deg);
    transition: all .5s;
}
.section.campaign02 .youkou h3.open:before {
    transform: rotate(0deg);
}
.section.campaign02 .youkou .list-wrap {
    display: none;
}
.section.campaign02 .youkou .list-wrap .list {
    width: 1200px;
    margin: 0 auto;
    padding: 50px 20px 0;
    background-color: #ffffff;
    display: table;
    box-sizing: border-box;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .youkou .list-wrap .list {
        width: 100%;
    }
}
.section.campaign02 .youkou .list-wrap .list>dl {
    display: table-row;
}
.section.campaign02 .youkou .list>dl>dt,
.section.campaign02 .youkou .list-wrap .list>dl>dd {
    box-sizing: border-box;
    font-size: 1.4rem;
    display: table-cell;
    vertical-align: middle;
    padding: 3em 1.5em;
    border-top: 1px solid #aaaaaa;
    border-collapse: collapse;
}
.section.campaign02 .youkou .list-wrap .list>dl:nth-child(1) dt,
.section.campaign02 .youkou .list-wrap .list>dl:nth-child(1) dd {
    border-top-color: transparent;
}
.section.campaign02 .youkou .list-wrap .list>dl>dt {
    text-align: center;
    width: 30%;
}
.section.campaign02 .youkou .list-wrap .list>dl>dd {
    text-align: left;
    width: 70%;
}
.section.campaign02 .youkou .list-wrap .list>dl dd ul {
    margin-left: 0;
    padding-left: 0;
}
.section.campaign02 .youkou .list-wrap .list>dl dd ul li {
    line-height: 1.4;
}
.section.campaign02 .youkou .list-wrap .list>dl dd ul li+li {
    margin-top: 1.5em;
}
.section.campaign02 .youkou .list-wrap .list>dl dd span {
    display: block;
}
.section.campaign02 .youkou .list-wrap .list>dl dd dl dt,
.section.campaign02 .youkou .list-wrap .list>dl dd dl dd {
    display: block;
    font-size: 1.4rem;
    border: none;
    padding: 0;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .youkou .list>dl>dt,
    .section.campaign02 .youkou .list-wrap .list>dl>dd {
        font-size: 1.2rem;
        padding: 2em 1em;
    }
    .section.campaign02 .youkou .list-wrap .list>dl dd dl dt,
    .section.campaign02 .youkou .list-wrap .list>dl dd dl dd {
        font-size: 1.2rem;
        padding: 2em 1em;
    }
}
@media only screen and (max-width: 550px) {
    .section.campaign02 .youkou .list dl dt,
    .section.campaign02 .youkou .list dl dd {
        font-size: 1.0rem;
        padding: 1em 1em;
    }
}
.section.campaign02 .youkou .youshi {
    width: 1200px;
    margin: 0 auto;
    padding: 10px 0 30px;
    background-color: #ffffff;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .youkou .youshi {
        width: 100%;
    }
}
.section.campaign02 .youkou .youshi p {
    width: 30%;
    margin: 0 auto 50px;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .youkou .youshi p {
        width: 50%;
    }
}

.section.campaign02 .youkou .youshi p a {
    width: 100%;
    font-size: 1.4rem;
    display: inline-block;
    border: 1px solid #222;
    padding: 1em 3em 1em 5em;
    margin-left: -3em;
    background-color: #222;
    color: #ffffff;
    text-align: center;
    transition: all .5s;
}
.section.campaign02 .youkou .youshi p a:hover {
    background-color: #ffff33;
    color: #000000;
}


/*-----------contact-----------*/
.section.campaign02 .contact {
    text-align: center;
    margin: 0;
    padding: 0 0 100px;
    letter-spacing: 0.2em;
}
/* iframe
.section.campaign02 .contact {
    overflow:hidden;
    overflow-x:hidden;
    overflow-y:hidden;
    height:100%;
    width:100%;
    position:relative;
    top:0px;
    left:0px;
    right:0px;
    bottom:0px;
}
*/
.section.campaign02 .contact h3 {
    width: 100%;
    height: 72px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    position: relative;
    font-size: 3rem;
    line-height: 2.4;
    background-color: #fafafa;
    color: #000000;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .contact {
        text-align: center;
        margin: 0;
        padding: 0 0 100px;
    }
    .section.campaign02 .contact h3 {
        width: 100%;
        height: auto;
        font-size: 2.50208vw;
    }
}
.section.campaign02 .contact h3:hover {
    cursor: pointer;
    background-color: #fff;
}

@media only screen and (max-width: 1199px) {
    .section.campaign02 .contact h3:before,
    .section.campaign02 .contact h3:after {
        width: 3.0025%;
        top: 50%;
        right: 3.0025%;
    }
}
@media only screen and (max-width: 550px) {
    .section.campaign02 .contact h3:before,
    .section.campaign02 .contact h3:after {
        height: 1px;
    }
}
.section.campaign02 .contact h3:before {
    transform: rotate(90deg);
    transition: all .5s;
}
.section.campaign02 .contact h3.open:before {
    transform: rotate(0deg);
}
.section.campaign02 .contact .contact_form {
    width: 100%;
    margin: 0 auto;
    padding: 50px 0;
    background-color: #ffffff;
    display: table;
    box-sizing: border-box;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .contact .contact_form {
        width: 100%;
    }
}
.section.campaign02 .contact .contact_form .mailform {
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    text-align: left;
}
.section.campaign02 .contact .contact_form .mailform th,
.section.campaign02 .contact .contact_form .mailform td {
    box-sizing: border-box;
    padding: 2em 1em;
    font-size: 1.4rem;
}
@media only screen and (max-width: 1199px) {
    .section.campaign02 .contact .contact_form .mailform th,
    .section.campaign02 .contact .contact_form .mailform td {
        font-size: 1.2rem;
    }
}
@media only screen and (max-width: 835px) {
    .section.campaign02 .contact .contact_form .mailform th,
    .section.campaign02 .contact .contact_form .mailform td {
        font-size: 1rem;
    }
}
.section.campaign02 .contact .contact_form .mailform th {
    text-align: right;
    width: 20em;
}
.section.campaign02 .contact .contact_form .mailform td {
    padding-right: 70px;
}
.section.campaign02 .contact .contact_form .mailform th .required {
    font-size: 1em;
    color: #f00;
    margin-right: 0.3em;
}
.section.campaign02 .contact .contact_form .mailform th .txt,
.section.campaign02 .contact .contact_form .mailform td .txt {
    box-sizing: border-box;
    width: 100%;
}
.section.campaign02 .contact .contact_form .mailform td span {
    font-size: 1.2rem;
    padding: 0.7em 0;
    display: inline-block;
    margin-right: 1em;
}
.section.campaign02 .contact .contact_form .mailform td span.file_upload{
    display: inline-block;
    padding: 1em;
    border: 1px solid #aaa;
    border-radius: 0.2em;
}
.section.campaign02 .contact .contact_form .caution {
    text-align: justify;
    margin: 0 0 0 24.5em;
    padding: 0;
    font-size: 1.2rem;
    color: #ff0000;
}
.section.campaign02 .contact .contact_form .submit {
    text-align: center;
    margin-top: 50px;
}
.section.campaign02 .contact .contact_form .submit button {
    font-size: 1.4rem;
    padding-left: 5em;
}
/*
@media only screen and (max-width: 750px){
    .contact .sec_wrap .sec_contact_wrap .sec_contact_txt_wrap .contact_txt {
        padding: 0 0 10px;
    }
    .section.campaign02 .contact .contact_form {
        padding: 30px 0;
    }
    .section.campaign02 .contact .contact_form .caution {
        padding: 0 0 0 2em;
    }
    .section.campaign02 .contact .contact_form .mailform th,
    .section.campaign02 .contact .contact_form .mailform td {
        padding: 10px 4px;
        font-size: 1.2rem;
    }
    .section.campaign02 .contact .contact_form .mailform th .required {
        font-size: 0.5em;
        margin-right: 0.1em;
    }
}
@media only screen and ( max-width: 1024px) {
    .section.campaign02 .contact .contact_form .mailform td span {
        display: block;
    }
}
*/




/* ----------------------------------
   footer settings
---------------------------------- */
.footer {
    background-color: #666;
    color: #fff;
    overflow: hidden;
}
.footer a {
    color: #fff;
}
.footer .sec_wrap {
}
.footer .sec_wrap:after {
    content: "";
    display: block;
    clear: both;
}
.footer .sec_wrap .footer_main_wrap .list_item,
.footer .sec_wrap .footer_main_wrap .list_tit {
    font-size: 1.2rem;
}
.footer .sec_wrap .footer_main_wrap {
}
.footer .sec_wrap .footer_main_wrap:after {
    content: "";
    display: block;
    clear: both;
}
.footer .sec_wrap .sec_title_wrap {
}
.footer .sec_wrap .sec_title_wrap h1 {
    padding-top: 6%;
    margin-bottom: 9%;
}
.footer .sec_wrap .footer_logo,
.footer .sec_wrap .footer_project,
.footer .sec_wrap .footer_company {
    float: left;
}
.footer .sec_wrap .footer_logo {
    width: 49.068%;
    margin-right: 1.465%;
}
.footer .sec_wrap .footer_project {
    width: 24%;
    margin-right: 1.465%;
    font-size: 1.2rem;
}
.footer .sec_wrap .footer_company {
    width: 24%;
    margin-right: 0;
    font-size: 1.2rem;
}
.footer .sec_wrap .footer_logo .tit-l,
.footer .sec_wrap .footer_logo .tit-m {
    box-sizing: border-box;
    padding-right: 20%;
    text-align: center;
    font-size: 1.2rem;
}
.footer .sec_wrap .footer_logo .tit-s {
    box-sizing: border-box;
    padding-right: 20%;
    text-align: center;
    font-size: 1.0rem;
}
.footer .sec_wrap .footer_logo .tit-l img,
.footer .sec_wrap .footer_logo .tit-m img {
    width: 32.978%;
    height: auto;
    margin-bottom: 20px;
}
.footer .sec_wrap .copyright_wrap {
    width: 100%;
    padding: 50px 0 10px;
}
.footer .sec_wrap .copyright_wrap .copyright {
    width: 100%;
    font-size: 1.2rem;
    text-align: center;
}
@media screen and (max-width: 768px ){
    .footer .sec_wrap .copyright_wrap .copyright {
        font-size: 1rem;
    }
}



/* ----------------------------------
   .thank_you settings
---------------------------------- */

.section .sec_content p.thank_you {
    font-size: 2.4rem;
    margin: 150px auto 0;
    padding: 1em 0;
    text-align: center;
    border: 1px solid #333;
    box-sizing: border-box;
    width: 1000px;
}
.section .sec_content p.thank_you span {
    display: inline;
}
@media only screen and (max-width: 1199px){
    .section .sec_content p.thank_you {
        width: 90%;
        font-size: 2vw;
    }
    .section .sec_content p.thank_you span {
        display: block;
    }
}
@media only screen and (max-width: 750px){
    .section .sec_content p.thank_you {
        font-size: 2.4vw;
    }
    
}

.content_happyou h3 {
    font-size: 8em;
    line-height: 1;
    text-align: center;
    margin: 1em 0;
}
.content_happyou p {
    font-size: 4em;
    line-height: 1;
    text-align: center;
    margin: 0.5em 0;
}
.content_happyou p.thx {
    width: 96%;
    max-width: 1200px;
    padding: 0 2%;
    font-size: 3em;
    text-align: left;
    line-height: 1.5;
   margin: 0 auto 100px;
}
.content_happyou p span {
    font-size: 1.5em;
    margin-left: 0.6em;
}
.content_happyou ul {
    width: 96%;
    max-width: 1200px;
    margin: 30px auto 0;
    padding: 2%;
}
.content_happyou ul:after {
    content: "";
    display: block;
    clear: both;
}
.content_happyou ul li a img {
    width: 100%;
}
.content_happyou.character p img {
    width: 100%;
    max-width: 1200px;
    margin: 100px auto;
}
.content_happyou ul li {
    width: 23.5%;
    float:left;
    margin-right: 2%;
    margin-bottom: 2%;
}
.content_happyou ul li iframe {
    min-width: 268px!important;
    border-radius: 0px!important;
    margin: 0!important;
}
@media only screen and (min-width:1401px){
    .content_happyou ul li:nth-child(4n) {
        margin-right: 0;
    }
}
@media only screen and (min-width: 1096px) and (max-width:1400px){
    .content_happyou ul li {
        width: 32%;
    }
    .content_happyou ul li:nth-child(3n) {
        margin-right: 0;
    }
}
@media only screen and (min-width:750px) and (max-width:1095px){
    .content_happyou ul li {
        width: 49%;
    }
    .content_happyou ul li:nth-child(2n) {
        margin-right: 0;
    }
}
@media only screen and (max-width:749px){
    .content_happyou h3 {
        font-size: 6em;
        margin: 1.5em 0 0.5em;
    }
    .content_happyou p {
        font-size: 3em;
        margin: 0.7em 0;
    }
    .content_happyou ul li {
        width: 100%;
        margin-right: 0;
    }
}
.campaign01 .content02,
.campaign02 .content02 {
    padding-bottom: 100px;
}

.section.campaign01 .content02 .posts-counter,
.section.campaign02 .content02 .posts-counter {
    margin-bottom: 0;
}




mark {
    padding: 0;
    background-color: transparent;
    background-image: linear-gradient(0deg, #fffeb6 0%, #fffeb6 40%, transparent 40%, transparent 100%);
}

img.pc {
    display: inline-block;
}
img.sp {
    display: none;
}


.thanks_box {
    display: none;
}

.ptn01 p {
    font-size: 4rem;
    font-weight: bold;
    text-align: center;
    color: #1c99ae;
}

.section.campaign01 .youkou {
    letter-spacing: 0em;
    margin-top: 100px;
}
.section.campaign01 .youkou .list{
    border: none;
}
/*
.section.campaign01 .youkou h3 {
    border-radius: 36px;
    background-color: #008F9F;
}*/
.section.campaign01 .youkou .list dl dt {
    color: #008F9F;
}

.quiz_wrap {
    margin: 0;
    padding: 110px 30px;
    max-width: 100%;
    background-image: url(../img/background_noise.jpg);
    border-top: 1px solid black;
}

.box {
    max-width: 900px;
    margin: 0 auto;
    border: none;
    background-color: transparent;
    padding: 0;
}

.ptn02 {
    font-size: 1.6rem;
}

.ptn02 .quiz-title p {
    margin: 0 auto;
    padding-left: 1em;
    max-width: 300px;
    text-align: center;
    font-size: 3rem;
    line-height: 2.4;
    color: black;
    border: 2px solid black;
    border-radius: 2.0em;
    background-size: 400px;
    background-color: #ffffff;
    letter-spacing: 1em;
}

.ptn02 .quiz_list {
    padding: 0;
}

.ptn02 .quiz_list li {
    margin-top: 3em;
    padding: 3em 3em 4em;
    border-radius: 30px;
    background-color: #e0edd0;
    border:solid 1px;
}

.ptn02 .quiz_list li .title {
    display: block;
    font-size: 2.2rem;
    font-weight: normal;
    margin-bottom: 1em;
    color: #4F4644;
}

.ptn02 .quiz_list li table {
    text-align: center;
}

.ptn02 .quiz_list li table label input[type=radio]{
    width: 1.6em;
    height: 1.6em;
    vertical-align: middle;
}

.ptn02 .quiz_list li table label p {
    display: inline-block;
    margin-left: 0.5em;
    font-size: 2.2rem;
    line-height: 2;
    vertical-align: middle;
}

.ptn02 .quiz_list .hint {
    margin-top: 2em;
    text-align: center;
}

.ptn02 .quiz_list .hint a {
    position: relative;
    display: inline-block;
    padding: 0.6em 4.6em;
    border: 2px solid #4F4644;
    border-radius: 2.0em;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1;
    color: #4F4644;
    background-color: #FFF;
    transition: all .1s;
}
.ptn02 .quiz_list .hint a:hover {
    background-color: #fff;
    transform: translate(2px, 2px);
    box-shadow: 2px 2px 0 #b3ba8e;
}

.ptn02 .quiz_list .hint a .hint_icon {
    position: relative;
    top: 0;
    left: 0;
}
.ptn02 .quiz_list .hint a .hint_icon_popup {
    position: absolute;
    top: 0;
    left: 0;
}

.ptn02 .btn_wrap {
    margin: 90px auto 50px;
    text-align: center;
}

.ptn02 .btn_wrap p {
    font-size: 2.7rem;
    margin-bottom: 1rem;
    text-align: center;
}

.ptn02 .btn_opa {
    background-color: #0a664e;
    border: solid 4px #4F4644;
    border: none;
    display: inline-block;
    padding: 0.8rem 4em;
    border-radius: 54px;
    font-size: 4rem;
    font-weight: bold;
    color: #FFF;
    transition: all .1s;
    box-shadow: 3px 6px 0 rgba(0,0,0,0.2);
    letter-spacing: 4px;
}

.ptn02 .btn_opa:hover {
    background-color: #0a664e;
    transform: translate(1.5px, 3px);
    box-shadow: 1.5px 3px 0 rgba(0,0,0,0.2);
}

.thanks_box {
    margin: 0 auto;
	border: solid 6px #0ca50f;
	padding: 1em;
    text-align: center;
    font-size: 3rem;
    line-height: 2;
	color: #0ca50f;
	background-color: #fff;
}

section.point {
    width: 100%;
    max-width: 920px;
    margin-top: 100px;
}
section.point img {
    width: 100%;
    margin: 0 auto;
    display: block;
}

section.concept .muku_logo {
    display: block;
    width: 300px;
    max-width: 80%;
    margin: 70px auto;
}




@media screen and (max-width: 950px){

    .thanks_box {
        font-size: 2.4rem;
        line-height: 2;
    }

	.profile_text>dl {
		margin: 0;
		padding: 10px 20px;
	}
    .profile_text>dl>dd {
        padding: 10px;
    }

    .ptn02 .btn_opa {
        font-size: 3rem;
        padding: .5em 0;
        width: 100%;
    }

}

@media screen and (max-width: 782px){

    img.pc {
        display: none;
    }
    img.sp {
        display: inline-block;
    }

    .thanks_box {
        line-height: 1.4;
        padding: 0.8em 1em;
        text-align: left;
    }

	.profile_text>dl>dt {
        font-size: 3.2rem;
    }
    .profile_text>dl>dd dt, .profile_text>dl>dd dd {
        font-size: 1.8rem;
        padding-right: 10px;
        padding-left: 10px;
    }
    
    .ptn02 .btn_opa {
        font-size: 3rem;
        padding: .5em 0;
        width: 100%;
    }

}


@media screen and (max-width: 576px){
    .ptn02 .quiz_list .hint a {
        padding: 0.6em 0em;
        font-size: 2rem;
        width: 90%;
    }
    
}


@media screen and (max-width: 430px){

    section.point {
        margin-top: 30px;
    }

    .section.campaign01 .youkou {
        margin-top: 30px;
        padding-bottom: 60px;
    }

    .section.campaign01 .youkou h3 {
        font-size: 1.4rem;
        line-height: 2.4;
    }

    .section.campaign01 .youkou .list dl dt {
        font-size: 1.2rem;
    }

    .section.campaign01 .youkou .list dl dd {
        font-size: 1.2rem;
    }

    .ptn02 .quiz-title p {
		background-size: 90%;
        font-size: 2rem;
        font-weight: bold;
        line-height: 2;
        margin: 0 auto;
    }

    .ptn02 .quiz_list {
        padding: 0;
    }

    .ptn02 .quiz_list li {
        margin-top: 1.6em;
        padding: 1.6em;
        text-align: justify;
    }

    .ptn02 .quiz_list li .title {
        font-size: 2rem;
        line-height: 1.6;
        margin-bottom: 1em;
    }

    .ptn02 .quiz_list li table label p {
        margin-left: 0.5em;
        font-size: 2rem;
        line-height: 2.5;
		max-width: calc(100% - 2.1em );
    }
    .ptn02 .btn_wrap {
        margin: 40px auto 0;
        text-align: center;
    }
    .ptn02 .btn_wrap p {
        font-size: 1.8rem;
        margin-bottom: 1rem;
        text-align: center;
    }
    .ptn02 .btn_opa {
        font-size: 3rem;
        padding: 0;
        width: 100%;
    }

	.ptn02 .quiz_list .hint a {
        padding: 1em 2em;
        font-size: 1.6rem;
    }

    .ptn02 .btn_opa {
        padding: .5em 2em;
        font-size: 2rem;
    }
    .thanks_box {
        font-size: 1.6rem;
    }

	.sns_share_btn_wrap {
		padding: 0 30px;
	}
}


@media screen and (max-width: 430px){

    .quiz_wrap {
        padding: 40px 20px 80px;
    }
	
	.ptn02 .quiz_list {
		padding: 0;
	}
	
	.ptn02 .quiz_list li {
		margin-top: 1em;
		padding: 2em 1em;
        border-radius: 16px;
	}
	
	.ptn02 .quiz_list li .title {
		font-size: 1.6rem;
		margin-bottom: 2em;
	}

	.ptn02 .quiz_list li table {
		width: 100%;
	}
	.ptn02 .quiz_list li table tr td {
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
	}
	.ptn02 .quiz_list li table tr  br {
		display: none;
		height: 0;
	}

	.ptn02 .quiz_list li table label {
		margin-bottom: 1em;
		width: 100%;
		display: inline-block;
	}
	
	.ptn02 .quiz_list li table label p {
		font-size: 1.6rem;
		line-height: 1.5;
	}
	
	.ptn02 .quiz_list .hint a {
		padding: 0.6em 0;
	}
	

    .ptn02 .btn_opa {
        padding: .5em 2em;
        font-size: 2rem;
    }
}


* {
	font-family: 'Noto Sans JP', sans-serif;
}


.walnut {
	margin-top: -80px;
	padding-bottom: 20px;
	max-width: 1024px;
	margin-left: auto;
	margin-right: auto;
}
.walnut {
	display: none !important;
}


.walnut .a {
	display: block;
	background-image: url(../img/walnut01.png);
	background-repeat: no-repeat;
	background-position: 30% 0px;
	min-height: 67px;
}

.walnut .b {
	display: block;
	background-image: url(../img/walnut02.png);
	background-repeat: no-repeat;
	background-position: 50% 15px;
	min-height: 67px;
}

section.point {
    width: 100%;
    max-width: 100%;
    margin-top: 100px;
    background-image: url(../img/comingsoon_bg.png);
    background-image: none;
    background-size: cover;
    background-repeat: repeat;
    background-color: #fbfbfa;
    margin: 0;
    padding: 50px 0;
    border-bottom: solid 1px black;
    border-top: solid 1px black;
}


.container-fluid {
	max-width: 100%;
	margin: 0;
	padding: 0;
}

section.point img {
	max-width: 700px;
	margin: 0 auto;
	/* display: block; */
}

.point figure {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	min-height: 200px;
}

.point div {
	max-width: 460px;
	margin: 30px auto;
    font-size: 1.4rem;
	;
}

.point p {
	text-align: center;
    margin-top: -6px;
	;
}

.point a:hover {
	filter: brightness(0.97);
	;
}

.point a{
	transition: all 0.3s;
	;
}


.section.campaign01 .youkou {
	margin: 0 auto;
	max-width: 900px;
	background-color: #fff;
    border-left: solid 1px;
    border-right: solid 1px;
}


.section.campaign01 {
    background-color: #f7f9f8   ;
    background-image: url(../img/backimage.png);
    background-size: 200px;
    max-width: 100%;
    padding: 0;
    margin: 60px auto;
    border: solid 1px;
    border-radius: 30px;
}

.section.campaign01 .youkou h3 {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1;
    border-top: solid 1px;
    border-bottom: solid 1px;
    padding: 30px;
    letter-spacing: 6px;
}

.section.campaign01 .youkou .list dl dt {
    color: #0a664e;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
}


.sns_share_btn_wrap {
	width: 100%;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
    padding-bottom: 100px;
}

.sns_share_btn .share_text {
	display: block;
	width: 100%;
	max-width: 400px;
	margin: 80px auto 30px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}


.concept .sec_wrap {
	width: calc( 100% - 32px );
    max-width: 900px;
	margin: 0 auto;
	border: 1px solid black;
    border-radius: 20px;
	padding: 0 0 40px;
	background-color: #fff;
	position: relative;
}

.section.concept {
	background-image: url(../img/concept_back.png);
	background-repeat: repeat;
	background-position: 20px 20px;
}
.section.concept h2 {
	/* position: absolute; */
	width: 100%;
	margin: 0;
	padding: 70px;
	/* top: -5px; */
	/* left: 50%; */
	/* transform: translateX(-50%); */
	font-size: 1.0rem;
	line-height: 1;
    border-bottom: 1px solid black;
	text-indent: -9999px;
	background-image: url(../img/label_mukunohi.png);
	background-repeat: no-repeat;
	background-size: 40%;
	background-position: center;
}

.section.concept .txt span {
	display: block;
	font-size: 2rem;
	line-height: 3;
	letter-spacing: 0.2em;
}
.section.concept {
    background-image: url(../img/bg_concept.png);
    background-repeat: repeat;
    background-position: -30px -29px;
}


.section.concept .txt {
	display: block;
	font-size: 2.0rem;
	line-height: 2.6;
	letter-spacing: 0.2em;
}

.section.concept .txt span {
	display: block;
	font-size: 1.8rem;
	line-height: 3;
	letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
    .concept .sec_wrap {
        padding: 0;
    }
    .section.concept h2 {
        width: 100%;
        height: 0;
        margin: 0;
        padding: 70px;
        font-size: 1.0rem;
        line-height: 1;
        border-bottom: 1px solid black;
        text-indent: -9999px;
        background-image: url(../img/label_mukunohi.png);
        background-repeat: no-repeat;
        background-size: 50%;
        background-position: center;
    }
    .section.concept .txt {
        font-size: 2rem;
        line-height: 3;
        letter-spacing: 0;
    }
}

@media screen and (max-width: 576px) {
    .concept .sec_wrap {
        width: calc( 100% - 3.2rem );
        margin: 0 auto;
        border: 1px solid black;
        border-radius: 20px;
        /* padding: 140px 70px; */
        background-color: #fff;
        position: relative;
    }
    .section.concept h2 {
        width: 100%;
        height: 0;
        margin: 0;
        padding: 50px;
        font-size: 1.0rem;
        line-height: 1;
        border-bottom: 1px solid black;
        text-indent: -9999px;
        background-image: url(../img/label_mukunohi.png);
        background-repeat: no-repeat;
        background-size: 75%;
        background-position: center;
    }
    .section.concept .txt {
        width: 100%;
        font-size: 1.6rem;
        line-height: 2;
        letter-spacing: 0;
        text-align: left;
        margin: 2em auto;
        padding: 0 4.2rem;
    }
    .sec_text_wrap {
        padding: 2rem 0;
    }
}


.profile {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
    max-width: 1024px;
    margin: 0 auto;
}

.profile figure img {
	width: 100%;
}

dl.profile_text.col-7 {
	padding: 50px;
	margin: 50px;
	box-sizing: border-box;
}

.profile_text>dl {
	margin: 20px;
	background-color: #f7f9f8;;
	border-radius: 20px;
	border: 1px solid black;
	padding: 10px 20px;
}

.profile_text>dl>dt {
	font-size: 2.8rem;
	text-align: center;
}

.profile_text>dl>dd {
	padding: 20px;
}

.profile_text>dl>dd dt,
.profile_text>dl>dd dd {
	font-size: 2.0rem;
}

.profile_text>dl>dt {
	padding-bottom: 10px;
	margin-bottom: 20px;
	border-bottom: dotted 4px #4F4644
}

.shimekiri {
	border: solid 1px black;
	width: 100%;
	max-width: 900px;
	margin: 20px auto;
	padding: 3px;
	border-radius: 60px;
	color: black;
	font-size: 2.8rem;
	line-height: 1.2;
	text-align: center;

}

@media screen and (max-width:768px){
    .shimekiri span {
        display: block;
    }
       
}

.main_title .sp {
    width: 90%;
}

.youkou_title_wrap {
	max-width: 500px;
    margin: auto;
}
.youkou_title_wrap img {
	width: 100%;
	height: 100%;
}

.shimekiri b.suuji {
	font-size: 180%;
}

.shimekiri b.youbi {
	display: inline-block;
	background-color: black;
	color: #ffffff;
	font-size: 75%;
	width: 1.3em;
	height: 1.3em;
	border-radius: 50%;
	text-align: center;
	line-height: 1.2;
	vertical-align: baseline;
	margin: 0 .3em;
}


.comingsoon figure {
	position: relative;
	width: 80%;
	max-width: 540px;
	margin: 0 auto;
}

.comingsoon img {
	width: 100%;
}

.comingsoon .nokori {
    position: absolute;
    bottom: 48%;
    right: 21%;
    font-size: min(11vw, 7.2rem);
    line-height: 1;
    color: #683c26;
}

@media screen and (max-width: 950px) {
	.shimekiri {
		width: 90%;
	}
}

@media screen and (max-width: 768px) {
	.sub_header {
		background-position: right;
	}

	.section.campaign01 .youkou {
		padding: 50px 30px;
	}
}

@media screen and (min-width: 576px) {
	.section.campaign01 .youkou .list dl:first-of-type dt,
	.section.campaign01 .youkou .list dl:first-of-type dd {
		border-top: none;
	}
}
/* ----------------------------------
   default settings
---------------------------------- */
@media screen and (max-width: 576px) {
    /* ----------------------------------
    .sub_header {
        background-image: url(../img/top_back_sp.png);
        background-position: center;
        background-size: cover;
    }
    ---------------------------------- */

	.sub_header .main_title {
		height: 100%;
        max-height: 800px;
	}
	.walnut .a {
		background-size: contain;
		min-height: 48px;
	}
	.walnut .b {
		background-size: 50px;
		background-position: center;
		min-height: 48px;
	}
	.walnut {
		margin-top: -80px;
	}
    section.point {
        padding: 40px 20px;
    }
	.shimekiri {
		font-size: 1.8rem;
		padding: 12px 0;
		border-radius: 10px;
	}

	.comingsoon {
		padding: 40px 0;
	}

	.section.campaign01 {
		padding: 40px 20px;
        margin: auto;
        width: 100%;
        border-radius: 0px;
        border: none;
        background-size: 90px;
	}
	

	.section.campaign01 .youkou {
		border-radius: 30px;
		padding: 10px 20px;
        border: 1px solid black;
	}
	
    .section.campaign01 .youkou h3 {
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 0.1rem;
        padding: 20px;
    }

    .section.campaign01 .youkou .list dl {
        display: flex;
        flex-wrap: wrap;
        margin-top: 2em;
    }
    .section.campaign01 .youkou .list dl dt, 
    .section.campaign01 .youkou .list dl dd {
        width: 100%;
        font-size: 1.4rem;
        text-align: left;
        padding: 1rem;
    }
	.section.campaign01 .youkou .list dl dt {
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 1;
        border-top: none;
    }


	/* .section.concept {
		padding: 70px 20px 30px;
	} */

	/* .concept .sec_wrap {
		padding: 30px 10px;
	} */

	/* .section.concept h2 {
		width: 80%;
	} */

	/* section.concept .muku_logo {
		margin: 50px auto;
	} */

	/* .section.concept .txt span {
		font-size: 1.4rem;
		line-height: 2;
	} */

	/* .section.concept .txt span+span {
		margin-top: 1.6em;
	} */

	.profile_text>dl>dt {
		font-size: 2.0rem;
		margin-bottom: 10px;
	}

	.profile_text>dl {
		margin: 0;
		padding: 15px;
	}

	.profile_text>dl>dd dt,
	.profile_text>dl>dd dd {
		font-size: 1.6rem;
		text-align: center;
	}


	.profile {
		padding: 0 3em;
	}

	.profile figure img {
		max-width: 75%;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	.profile_text>dl>dd {
		padding: 5px;
	}
}


/************************************************************************************/
/*　↑2022　*/
/*　↓2024　*/
/************************************************************************************/


section.comingsoon {
	background-image: url(../img/background_noise.jpg);
	background-repeat: repeat;
	background-position: -30px -29px;
	padding: 0 0 50px 0;
}
section.comingsoon .nokori {
    position: absolute;
    bottom: 53%;
    right: 18%;
    font-size: min(11vw, 4.8rem);
    line-height: 1;
    color: #ec7742;
}
@media screen and (max-width: 667px){
	section.comingsoon .nokori {
		font-size: min(8vw, 4.8rem);
	}
}





.campaign01 p {
	width: 90%;
	margin: 50px auto;
	font-size: 1.6rem;
	letter-spacing: 1px;
	text-align: center;
}

.d-table {
	width: calc(100% - 4em);
    margin: 50px auto;
    border-collapse: collapse;
    max-width: 950px;
}

.table-row {
	display: table-row;
	width: 100%;
}

.table-title,.table-data {
	display: table-cell;
	box-sizing: border-box;
	border: solid 5px #fff;
	padding: 1em;
	font-size: 1.4rem;
	vertical-align: middle;
	line-height: 1;
	background-color: beige 
}

.table-title {
	width: 30%;
	text-align: center;
}
.table-title label {
	display: block;
	margin-bottom: 0;
	padding: 0;
}
.table-title label span {
	font-size: .9em;
	margin-left: .5em;
	color: #f00;
	font-weight: bolder;
}

.table-data {
	width: 70%;
}
.table-data input[type="text"] {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.3em;
}
.table-data input#name, .table-data input#furigana, .table-data input#zipcode, .table-data input#pref, .table-data input#phone {
	width: 50%;
	min-width: 8em;
}

.btn_wrap {
	display: block;
	margin: 5em auto 10em;
	text-align: center;
	width: 90%;
}
.btn_wrap input[type="submit"] {
	outline: none;
	border: none;
	background-color: #008633;
	display: inline-block;
	padding: .5em 3em;
	border-radius: 35px;
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
	transition: all .5s;
}
.btn_wrap input[type="submit"]:hover {
	cursor: pointer;
	background-color: #006c29;
}

.campaign01 .main_title {
    max-width: 900px;
    margin: 40px auto;
    background-color: #fff;
    border-radius: 40px;
}
.campaign01 .main_title img {
    width: 100%;
}
@media screen and (max-width: 782px){
    .campaign01 .main_title {
        margin: 0 auto;
        border-radius: 20px;
    }
}
@media screen and ( max-width: 768px ){
	
	.campaign01 p {
		width: calc( 100% - 30px );
		margin: 40px auto;
		text-align: center;
	}

	.d-table {
		width: calc( 100% - 30px );
		margin: 40px auto;
	}

}
@media screen and ( max-width: 430px ){

	.campaign01 p {
		width: 100%;
		margin: 0 0 30px;
		font-size: 1.2rem;
	}

	.d-table {
		width: 100%;
		margin: 30px 0;
	}

	.table-title,.table-data {
		font-size: 1rem;
	}
	.table-data input#name, .table-data input#furigana, .table-data input#zipcode, .table-data input#pref, .table-data input#phone {
		width: 100%;
	}

	.btn_wrap {
		width: 100%;
        margin: 7em auto;
    }

	.btn_wrap input[type="submit"] {
		padding: .5em 3em;
		font-size: 2rem;
	}

}


/* -- 20240603追加 --*/
.header-container {
	position:sticky;
	top:0;
	background-color:#fff;
	margin:0;
	padding:0;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.3);
	z-index: 10;
    border-bottom: solid 1px;
}
.header-wrap {
	display:flex;
	flex-wrap:nowrap;
	justify-content:space-between;
	margin:0 auto;
	padding:2em 1em;
	max-width:1024px;
}
.header-logo img {
	width: 130px;
	height: auto;
}
.header-link a {
	display:inline-block;
	border:solid 1px black;
	border-radius:5px;
	padding:7.5px 10px;
	box-sizing:border-box;
	background-color: #fff;
	font-size:1.5rem;
	line-height:1;
	color:black;
	transition: all 0.3s;
}
.header-link a:hover {
	background-color: #0a664e;
    color: #fff;
    transform: scale(1.05);
}
@media all and ( max-width: 540px ){
	.header-logo img {
		width: 100px;
	}
	.header-link a {
		font-size: 1rem;
	}
}




/* ==========================================================================
   2026 新規追加スタイル
   ========================================================================== */

/* -- 正解後フォームセクション -- */
#form-section {
    background-color: #fff;
}
.form-header {
    background-image: url(../img/background_noise.jpg);
    background-repeat: repeat;
    text-align: center;
}
.form-header .main_title {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}
.form-header .main_title img {
    width: 100%;
    max-width: 800px;
    height: auto;
}
#form-section .sec_content {
    max-width: 950px;
    margin: 0 auto;
    padding: 40px 0;
}
.correct-msg {
    text-align: center;
    font-size: 1.6rem;
    color: #666;
    background: rgba(255, 255, 255, .85);
    border-radius: 10px;
    padding: 1.5em 2em;
    margin: 0 auto 30px;
    max-width: 800px;
    line-height: 2;
}

/* -- 確認ボタン -- */
#confirm-btn {
    outline: none;
    border: none;
    background-color: #008633;
    display: inline-block;
    padding: .5em 3em;
    border-radius: 35px;
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
    transition: all .5s;
    cursor: pointer;
}
#confirm-btn:hover {
    background-color: #006c29;
    transform: translateY(-2px);
}

/* -- フォームエラー -- */
.form-error {
    color: #d00;
    font-size: 1.6rem;
    text-align: center;
    margin: 10px auto;
    max-width: 800px;
}

/* -- 確認モーダル -- */
.modal-title {
    font-size: 2rem;
    font-weight: bold;
}
.confirm-item {
    display: flex;
    align-items: flex-start;
    border-bottom: 1px dashed #ddd;
    padding: 12px 5px;
    font-size: 1.5rem;
    line-height: 1.6;
}
.confirm-item .label {
    min-width: 130px;
    width: 30%;
    color: #0a664e;
    font-weight: normal;
    flex-shrink: 0;
}
.confirm-item .value {
    flex: 1;
    word-break: break-all;
}
.btn-submit {
    background-color: #008633;
    color: #fff;
    border: none;
    font-size: 1.8rem;
    padding: .4em 2em;
    border-radius: 30px;
    transition: all .3s;
}
.btn-submit:hover, .btn-submit:focus {
    background-color: #006c29;
    color: #fff;
}
.btn-submit:disabled {
    background-color: #aaa;
    cursor: not-allowed;
}

/* -- 送信完了セクション -- */
#success-section .sec_content {
    max-width: 800px;
    margin: 0 auto;
}
.success-content {
    text-align: center;
    padding: 60px 20px;
}
.success-content h2 {
    font-size: 2.8rem;
    color: #0a664e;
    font-weight: bold;
    margin-bottom: 30px;
}
.success-content p {
    font-size: 1.6rem;
    color: #444;
    line-height: 2;
    margin-bottom: 15px;
}

/* -- はずれページ -- */
.hazure-section {
    background-image: none !important;
}
.hazure-msg {
    width: 100%;
    margin: 30px auto !important;
    font-size: 2.6rem !important;
    letter-spacing: 1px;
    text-align: center;
}
.hazure-btn-wrap {
    display: block;
    margin: 2em auto 8em;
    text-align: center;
    width: 90%;
}
.hazure-btn-wrap a {
    outline: none;
    border: none;
    background-color: #0a664e;
    display: inline-block;
    padding: .5em 2em;
    border-radius: 35px;
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
    transition: all .5s;
}
.hazure-btn-wrap a:hover {
    background-color: #006c29;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .hazure-msg {
        font-size: 1.8rem !important;
    }
    .confirm-item .label {
        min-width: 90px;
        font-size: 1.3rem;
    }
    .confirm-item {
        font-size: 1.3rem;
    }
    #confirm-btn {
        font-size: 2rem;
        width: 90%;
    }
}
@media screen and (max-width: 430px) {
    .hazure-msg {
        font-size: 2.4rem !important;
    }
    .correct-msg {
        font-size: 1.4rem;
        padding: 1em;
    }
}
