@charset "utf-8";

/* ---------------------------------------------------------------
	Reset
--------------------------------------------------------------- */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

/* add to
---------------------------------------------------------- */
html{
	-webkit-text-size-adjust: 100%;
	box-sizing: border-box;
}
*, *:before, *:after{
	box-sizing: inherit;
}
main{
	display: block;
}
img {
	border-style: none;
}
button, input, select, textarea {
	font-family: inherit;
	font-weight: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}



/* ---------------------------------------------------------------
	Base
--------------------------------------------------------------- */
body {
	color: #000;
	font-size: 15px;
	font-weight: normal;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, arial, sans-serif;
	line-height: 1.5;
	word-break: normal;
	overflow-wrap: break-word;
	word-wrap: break-word;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	text-align: left;
}

a {
	color: #333;
	text-decoration: underline;
}

strong{
	font-weight: bold;
}
em{
	font-style: italic;
}
del{
	font-style: line-through;
}

sup, sub {
	line-height: 1.35;
	font-size: 10px;
}
sup {
	vertical-align: super;
}
sub {
	vertical-align: sub;
}

img{
	max-width: 100%;
	height: auto !important;
	display: block;
	margin: auto;
}

table{
	max-width: 100%;
}

/* PCのみ */
@media all and (min-width: 751px) {
	body{
		min-width: 750px;
	}
	#all{
		width: 750px;
		margin: auto;
	}
	
	a,
	a img{
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		-o-transition: 0.3s;
		-ms-transition: 0.3s;
		transition: 0.3s;
	}
/*	a:hover{
		text-decoration: none;
	}
	a:hover img{
		opacity: 0.7;
		filter: alpha(opacity=70);
		-ms-filter: "alpha( opacity=70 )";
	}
*/}
/* SPのみ */
@media all and (max-width: 750px) {
	body{
		width: 100%;
		min-width: 320px;
	}
	#all{
		width: 100%;
	}
}



/* ---------------------------------------------------------------
	Content
--------------------------------------------------------------- */

/* common
---------------------------------------------------------- */
video{
	display: block;
	max-width: 100%;
}

sup{
	font-size: 60%;
	margin-top: -0.8em;
}
.question04 ul + p{
	font-size: 13px;
	font-weight: bold;
	text-align: right;
	margin: -2em auto 1em;
	width: 670px;
}
/* SPのみ */
@media all and (max-width: 750px) {
	.question04 ul + p{
		font-size: calc(13vw / 750 * 100);
		width: calc(670vw / 750 * 100);
	}
}


/* fv
---------------------------------------------------------- */
.fv{
	position: relative;
}
.fv video{
	position: absolute;
	bottom: 25%;
	left: 0;
	right: 0;
	width: 100%;
}


/* question
---------------------------------------------------------- */
.txt_area{
	list-style: none;
	margin: 0 auto;
	width: 670px;
	padding: 3.5% 0 8%;
}
.txt_area li{
	margin: 6.5% auto;
}

.question04_q video{
	margin: 4% auto 0;
}

input[type="radio"]{
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: none;
}
input[type="checkbox"]{
	display: none;
}
input[type="radio"] + label,
input[type="checkbox"] + label{
	cursor: pointer;
	width: 670px;
	height: 150px;
	border-radius: 75px;
	background-color: #c7c7c7;
	background-size: contain;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	font-size: 35px;
	font-weight: bold;
	color: #000;
	line-height: 1.3;
}
input[type="radio"] + label::before,
input[type="checkbox"] + label::before{
	content: "";
	display: inline-block;
	background: url("img/icon_no_check.png") no-repeat;
	background-size: contain;
	width: 49px;
	height: 61px;
	margin: -2.3% 4% 0 6%;
}
input[type="radio"]:checked + label,
input[type="checkbox"]:checked + label{
	background-color: #ee662a;
	color: #fff;
}
input[type="radio"]:checked + label::before,
input[type="checkbox"]:checked + label::before{
	background-image: url("img/icon_check.png");
}
.next_area{
	display: none;
}
/* SPのみ */
@media all and (max-width: 750px) {
	.question04_q video{
		width: calc(668vw / 750 * 100);
	}
	
	.txt_area{
		width: calc(670vw / 750 * 100);
	}
	input[type="radio"] + label,
	input[type="checkbox"] + label{
		width: calc(670vw / 750 * 100);
		height: calc(150vw / 750 * 100);
		border-radius: calc(75vw / 750 * 100);
		font-size: calc(35vw / 750 * 100);
	}
	input[type="radio"] + label::before,
	input[type="checkbox"] + label::before{
		width: calc(49vw / 750 * 100);
		height: calc(61vw / 750 * 100);
	}
}


/* slider
---------------------------------------------------------- */
.wrap_img02_slider{
	background: url("img/bg_img02_slider.jpg") no-repeat;
	background-size: 100%;
	height: 1070px;
	padding-top: 12%;
}

.wrap_img03_slider_menu{
	position: relative;
}
.img03_slider_menu{
/*	position: absolute;*/
	top: 4%;
	left: 0;
	right: 0;
	margin: auto;
}

.wrap_img03_slider_calorie{
	position: relative;
}
.wrap_img03_slider_calorie_in{
	position: absolute;
	bottom: 11%;
	left: 4%;
	width: 96%;
	overflow: hidden;
}
.img03_slider_calorie{
	margin-right: -6%;
}

.wrap_img05_slider{
	position: relative;
}
.img05_slider{
	position: absolute;
	top: 55%;
	left: 0;
	right: 0;
	margin: auto;
}

.slick-list{
	text-align: center;
}
.slick-list li img{
	margin: auto;
}

.slick-arrow{
	text-indent: -9999px;
	border: none;
	cursor: pointer;
	transition: .2s;
	width: 53px;
	height: 52px;
	position: absolute;
	top: 49%;
	z-index: 5;
}
.img05_slider .slick-arrow{
	top: 44%;
}
.slick-prev{
	background: url("img/icon_arrow_l_green.png") no-repeat;
	background-size: contain;
	left: 1.5%;
}
.slick-next{
	background: url("img/icon_arrow_r_green.png") no-repeat;
	background-size: contain;
	right: 1.5%;
}
.img03_slider_menu .slick-prev{
	background-image: url("img/icon_arrow_l_gray.png");
	left: 11%;
}
.img03_slider_menu .slick-next{
	background-image: url("img/icon_arrow_r_gray.png");
	right: 12.5%;
}
.img05_slider .slick-prev{
	background-image: url("img/icon_arrow_l_green_r.png");
	left: 3.5%;
}
.img05_slider .slick-next{
	background-image: url("img/icon_arrow_r_green_r.png");
	right: 3.5%;
}

.slick-dots{
	display: flex;
	justify-content: center;
	list-style: none;
}
.slick-dots li{
	margin: 2% 4% 0;
}
.slick-dots li button{
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: none;
	background: #fff;
	text-indent: -9999px;
}
.slick-dots li.slick-active button{
	background: #fcff00;
}
.img05_slider .slick-dots li button{
	background: #7c7c7c;
}
.img05_slider .slick-dots li.slick-active button{
	background: #ee662a;
}
.slick-disabled{
	display: none !important;
}
/* SPのみ */
@media all and (max-width: 750px) {
	.wrap_img02_slider{
		height: calc(1070vw / 750 * 100);
	}
	.img02_slider .slick-list li img{
		width: calc(645vw / 750 * 100);
	}
	.img03_slider_menu .slick-list li img{
		width: calc(485vw / 750 * 100);
	}
	.img03_slider_calorie .slick-list li img{
		width: calc(383vw / 750 * 100);
	}
	.img05_slider .slick-list li img{
		width: calc(583vw / 750 * 100);
	}
	.slick-arrow{
		width: calc(51vw / 750 * 100);
		height: calc(74vw / 750 * 100);
	}
	.slick-dots li button{
		width: calc(20vw / 750 * 100);
		height: calc(20vw / 750 * 100);
	}
}


/* cv
---------------------------------------------------------- */
.cv{
	position: relative;
}
.cv a{
	display: block;
	position: absolute;
	bottom: 4%;
	left: 0;
	right: 0;
	margin: auto;
	width: 89%;
}
/* SPのみ */
@media all and (max-width: 750px) {
}


.margin-top-3
{
margin-top: 3%;
}

.margin-top-5
{
margin-top: 5%;
}

.margin-top-10
{
margin-top: 10%;
}

.margin-bottom-5
{
margin-bottom: 5%;
}

.bottom-7{
bottom: 7%;
}

.bottom-8{
bottom: 8%;
}

.bottom-10{
bottom: 10%;
}

.bottom-14{
bottom: 14%;
}

.bottom-15{
bottom: 15%;
}
.p-absolute
{
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
}

.p-relative
{
position: relative;
}

.cta_img{
width: 90%;
max-width: 750px;
margin-top: 20px;
}

.cta_img_new{
width: 100%;
max-width: 750px;
margin-top: 20px;
}

.cta_img_new_02{
width: 100%;
max-width: 750px;
}

.btn_img{
width: 80%;
max-width: 750px;
}


/*==================================
フッター
==================================*/

#footer {
  position: relative;
  background: #7c7c7c;
}

#footer {
  display: inline-block;
}

#footer {
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
}
#footer .nav{
	list-style: none;
	font-weight: bold;
}
#footer .nav a {
  display: block;
  padding: 50px 0 50px 50px;
  font-size: 33px;
  color: #fff;
  text-align: left;
}

.copyright {
  padding: 30px 0;
  text-align: center;
  color: #fff;
  background: #504f4f;
	font-weight: bold;
}

@media screen and (max-width: 750px) {
  #footer {
    width: 100%;
    margin: 0 auto;
  }

  #footer .nav a {
    font-size: 17px;
    padding: 35px 0 0 30px;
  }

  .nav {
    padding: 0px 0 30px 0;
  }

  .footer {
    display: flex;
  }

  .copyright {
    font-size: 13px;
  }
}

/*記事テキスト*/
.note_02{
    color: #666666;
    font-size: 0.5em;
}



.bold{
font-weight: bold;
}

.red_bg{
    font-weight: bold;
    background-color:#ff0000;
}


.blue_bg{
    font-weight: bold;
    background-color:#d1ecf3;
}

.pink_bg{
    font-weight: bold;
    background-color:#eb828f;
}

.pink_bg_02{
    font-weight: bold;
    background-color:#d75969;
}



.y_bg{
    font-weight: bold;
    background-color:#fff8b6;
}

.y_bg_02{
    font-weight: bold;
    background-color:#fcf3db;
}

.y_bg_03{
    font-weight: bold;
    background-color:#fff06c;
}

.o_bg{
    font-weight: bold;
    background-color:#ffdd00;
}

.green_bg{
    font-weight: bold;
    background-color:#d6e693;
}


.underline{
text-decoration: underline;
}

.bg{
font-weight: bold;
 background: linear-gradient(transparent 60%, #FFFF66 60%);
}

.red{
    color: #F44336;
    font-weight: bold;
}

.red_02{
    color: #d35400;
    font-weight: bold;
}

.green{
    color: #16a262;
    font-weight: bold;
}


.purple{
    color:#d75969;
    font-weight: bold;
}

.purple02{
    color: #d75969;
    font-weight: bold;
}

.purple03{
    color: #df7785;
    font-weight: bold;
}
.purple04{
    color: #932574;
    font-weight: bold;
}





.blue{
    color:#002D6B;
    font-weight: bold;
}

.blue02{
    color:#58b5cf;
    font-weight: bold;
}



 
.beige{
    color: #e6cbbd;
    font-weight: bold;
} 
    
.pink{
    color:#d75969;
    font-weight: bold;
} 

.pink_02{
    color:#e795a0;
    font-weight: bold;
} 

.pink_03{
    color:#fb0079;
    font-weight: bold;
} 

.pink_04{
    color:#fb0ebc;
    font-weight: bold;
} 



.white{
    color:#ffffff;
    font-weight: bold;
} 

.yellow{
color:#fff06c;
    font-weight: bold;

}

.f12{
font-size: 12px;
font-weight: normal;
}

.f14{
font-size: 14px;
font-weight: normal;
}

.f10_note{
font-size: 10px; text-align:right; margin:0% 5% 0; color: #5c5959;font-weight: normal;
}


.f120{
font-weight: bold;
font-size: 120%;
}

.f130{
font-weight: bold;
font-size: 130%;
}

.f130_normal{

font-size: 130%;
}

.f150{
font-weight: bold;
font-size: 150%;
}

.f150_normal{

font-size: 150%;
}


.f180{
font-weight: bold;
font-size: 180%;
}

.f200{
font-weight: bold;
font-size: 200%;
}

.f250{
font-weight: bold;
font-size: 250%;
}

.txt02 {
	height:auto;
	padding: 3% 5% 2% 5%;
	font-size: 20px;
	line-height:220%;
	text-align: center;
	color: #000;
}



@media (max-width: 640px) {

.txt02 {
	height:auto;
	padding: 3% 5% 2% 5%;
	font-size: 16px;
	line-height:220%;
	text-align: center;
	color: #000;
}
}

/*フォントサイズ*/
.note{
    color: #666666;
    font-size: 0.5em;
    text-align: right;
    margin: 2%;
    line-height: 150%;
}

/*slick*/
.slider{
  padding: 0;
}
.slick-list{
  overflow: hidden !important;
}
.slick-slide{
/*  margin-right: 20px;*/
}
@media screen and (max-width: 640px) {
  .slick-slide{
  /*  margin-right: 10px;*/
    
  }
}


/*スライダー*/


.bg-green {
    background: url(./img/bg-green.jpg);
    background-repeat: repeat-y;
    background-size: contain;
    background-position: bottom;
    position: relative;
}

.introduction {
    z-index: -1;
    position: relative;
}

.snap-grid-scroll-slide {
    padding: calc(4 * var(--main-var) / 3.75);
}

.snap-grid-scroll,
.snap-grid-scroll-invert {
    overflow: hidden;
    display: flex;
}

.snap-grid-scroll .snap-grid-scroll-bar {
    display: grid;
    grid-template-columns: repeat(var(--slideNum), calc(100vw/3.5));/* ★上の段(SP) */
    animation: infinity-scroll-left 50s infinite linear 0s both;
}
.snap-grid-scroll2 .snap-grid-scroll-bar { /* サークル画像のスクロール用 */
    display: grid;
    grid-template-columns: repeat(var(--slideNum), calc(100vw/3.5));/* ★サークル(SP) */
    animation: infinity-scroll-left 60s infinite linear 0s both;
}

.package-line-scroll.snap-grid-scroll .snap-grid-scroll-bar {
    grid-template-columns: repeat(6, calc(100vw/3.5));
}

.snap-grid-scroll-invert .snap-grid-scroll-bar {
    display: grid;
    grid-template-columns: repeat(var(--slideNum), calc(100vw/3.5));/* ★下の段(SP) */
    animation: infinity-scroll-right 50s infinite linear 0s both;
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes infinity-scroll-right {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0%);
    }
}

.snap-grid-scroll-wrap {
    padding: 5% 0;
}

@media screen and (min-width: 1200px) {
    .snap-grid-scroll-wrap {
        padding: 30px 0;
    }

    .snap-grid-scroll .snap-grid-scroll-bar {
        grid-template-columns: repeat(var(--slideNum), calc(100vw/7));/* ★上の段(PC) */
    }

    .snap-grid-scroll-invert .snap-grid-scroll-bar {
        grid-template-columns: repeat(var(--slideNum), calc(100vw/7));/* ★下の段(PC) */
    }

    .snap-grid-scroll2 .snap-grid-scroll-bar {
        grid-template-columns: repeat(var(--slideNum), calc(100vw/7));/* ★サークル(PC) */
    }

    .package-line-scroll.snap-grid-scroll .snap-grid-scroll-bar {
        grid-template-columns: repeat(6, calc(100vw/6));
    }

    .package-line-scroll2.snap-grid-scroll .snap-grid-scroll-bar {
        grid-template-columns: repeat(var(--slideNum), calc(100vw/6));
    }
}

.mat3{
margin-top: 3%;
}