/*----------------------------------------------------
 SP
----------------------------------------------------*/

@media screen and (max-width: 768px){
	.sp_hidden {
		display: none !important;
	}


	/*----------------------------------------------------
	elements
	----------------------------------------------------*/

	body {
		position: relative;
		background-color: #fff;
		background-image: initial;
		max-width: 204.8vw;
		padding: 0 0 17.333vw;
	}

	body:after {
		content:"";
		display:block;
		position:fixed;
		top:0;
		left:0;
		z-index:-1;
		width: 100%;
		height: 100vh;
		background-repeat:no-repeat;
		background-position:50% 100%;
		background-image:url('../img/historyBg-sp.png');
		background-size:cover;
	}

	/*----------------------------------------------------
	inner
	----------------------------------------------------*/
	.inner {
		width: calc(100% - 5rem);
		max-width: 204.8vw;
	}

	/*----------------------------------------------------
	#header
	----------------------------------------------------*/

	#header {
		background: #3e97d4;
		padding: 0 0 0 0;
	}

	#header .inner {
		width: 100%;
	}

	#header .headerFlex {
    padding: 0 4.8vw 4vw 4.267vw;
	}

	#header .headerFlex .logo {
		width: 34vw;
		transform: translateY(3.733vw);
		-webkit-transform: translateY(3.733vw);
		-ms-transform: translateY(3.733vw);
	}

	#header .headerFlex .logo .tex {
		font-size: 3.2vw;
		white-space: nowrap;
		margin-bottom: -1.067vw;
		transform: scale(0.5);
		-webkit-transform: scale(0.5);
		-ms-transform: scale(0.5);
		transform-origin: left top;
		-webkit-transform-origin: left top;
		-ms-transform-origin: left top;
	}

	#header .headerFlex .logo .icon {
		max-width: 34vw;
	}

	#header .headerFlex .button {
		max-width: 53.333vw;
		margin-top: 2.133vw;
	}

	/*----------------------------------------------------
	#goTop
	----------------------------------------------------*/

	#goTop {
		position: fixed;
		right: 6.4vw;
		bottom: 20.267vw;
		width: 100%;
		max-width: 16.133vw;
		z-index: 1000;
	}

	/*----------------------------------------------------
	#footer
	----------------------------------------------------*/

	#footer {
		padding: 1.067vw 0 4.267vw 0;
	}

	#footer:before {
		height: 66.0vw; /* height: 78.4vw; */
		background: url('../img/footerBg-sp.jpg') center center no-repeat;
		background-size: cover;
	}

	#footer .logo {
		width: 100%;
		max-width: 47.067vw;
		margin: 0 0 5.333vw;
	}

	#footer nav {
		padding: 0 6.667vw;
		margin-bottom: 8vw;
	}

	#footer nav ul {
		display: block;
	}

	#footer nav ul li {
		margin: 0 6.133vw 4vw;
	}

	#footer nav ul li a {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	#footer nav ul li a .icon {
		max-width: 1.6vw;
		line-height: 2.667vw;
		transform: translate(0.533vw, 0.267vw);
		-webkit-transform: translate(0.533vw, 0.267vw);
		-ms-transform: translate(0.533vw, 0.267vw);
	}

	#footer nav ul li a .tex {
		font-size: 3.2vw;
	}

	#footer nav ul li a .tex small {
		font-size: 2.667vw;
		transform: scale(0.9);
	}

	#footer .copy {
		font-size: 2.667vw;
	}

	/* フッター高さ調整 */
	#frmLP .action-buttons{
		margin-bottom: 25px;
	}

	/*----------------------------------------------------
	#floating
	----------------------------------------------------*/

	#floating {
		padding: 2.4vw 1.333vw 1.867vw 0;
	}

	#floating .inner {
		max-width: 204.8vw;
		width: 100%;
	}

	#floating .conts {
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
	}

	#floating .conts .borderTex {
		width: 100%;
		max-width: 25.6vw;
		transform: translate(-0.8vw, -1.067vw);
		-webkit-transform: translate(-0.8vw, -1.067vw);
		-ms-transform: translate(-0.8vw, -1.067vw);
	}

	#floating .price {
		max-width: 40.8vw;
		transform: translate(1.067vw, -0.533vw);
		-webkit-transform: translate(1.067vw, -0.533vw);
		-ms-transform: translate(1.067vw, -0.533vw);
	}

	#floating .button {
		max-width: 26.4vw;
		height: 11.467vw;
		transform: translate(2.133vw, -0.533vw);
		-webkit-transform: translate(2.133vw, -0.533vw);
		-ms-transform: translate(2.133vw, -0.533vw);
	}

	/*----------------------------------------------------
	#visual
	----------------------------------------------------*/

	#visual {
		position: relative;
		padding: 14.933vw 0 0 0;
	}

	#visual .inner {
		width: 100%;
	}

	#visual .bg {
		top: 12vw;
		height: 128.4vw;
		background: url('../img/visualBg-sp.png') center top no-repeat;
		background-size: auto 100%;
	}

	#visual .image {
		width: 100%;
		max-width: 100vw;
		margin: 0 auto 0;
	}


	/*----------------------------------------------------
	#history
	----------------------------------------------------*/

	#history {
		position: relative;
		margin-bottom: -1.867vw;
		padding: 9.333vw 0 0 0;
		z-index: 1;
	}

	#history .historyFlex {
		display: block;
		margin-bottom: 5.867vw;
		padding: 0;
	}

	#history .historyFlex .conts {
		position: relative;
		width: 100%;
		padding: 0 6.4vw 0 4vw;
	}

	#history .historyFlex .conts h2 {
		position: relative;
		width: 68vw;
		margin-bottom: 2.667vw;
	}

	#history .historyFlex .conts p {
		font-size: 3.2vw;
		line-height: 1.666;
		padding: 0 0 0 2.4vw;
	}

	#history .historyFlex .imageArea {
		max-width: 86.667vw;
		margin: 2.933vw auto 0;
	}

	#history .historyFlex .imageArea .imageObj {
		position: absolute;
		right: -6.4vw;
		top: -68vw;
		width: 100%;
		max-width: 37.467vw;
		z-index: -1;
	}

	#history .historyConts {
		position: relative;
	}

	#history .historyConts h3 {
		margin-bottom: 2.4vw;
	}

	#history .historyConts h3 small {
		max-width: 30.4vw;
		position: absolute;
		margin: -5.867vw 0 0 -44.267vw;
	}

	#history .historyConts h3 b {
		font-size: 4vw;
		transform: translateX(0.533vw);
		-webkit-transform: translateX(0.533vw);
		-ms-transform: translateX(0.533vw);
	}

	#history .historyConts .scrollArea {
		width: calc(100% + 2.5rem);
		margin: 0 0 0 -2.4vw;
		overflow-x: auto;
		white-space: nowrap;
		overflow-scrolling: touch;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-scrolling: touch;
	}

	#history .historyConts .scrollArea .image {
		width: 164.4vw;
	}

	/*----------------------------------------------------
	#conversion
	----------------------------------------------------*/

	#conversion {
		padding: 7.467vw 0 0 0;
	}

	#conversion .bg {
		width: 100%;
		height: 208.933vw;
		background: url('../img/conversionBg-sp.png') center top no-repeat;
		background-size: auto 100%;
	}

	#conversion .head {
		margin-bottom: 6.133vw;
	}

	#conversion .head .bgFlex {
		display: flex;
		justify-content: center;
		align-items: flex-start;
		margin-bottom: 1.333vw;
	}

	#conversion .head .bgFlex .leftBox {
		max-width: 38.933vw;
		margin: 0 0.8vw;
		padding: 1.333vw 0 1.333vw;
		display: flex;
		justify-content: center;
	}

	#conversion .head .bgFlex .leftBox .obj {
		max-width: 17.333vw;
		top: -4.8vw;
	}

	#conversion .head .bgFlex .leftBox .tex {
		font-size: 3.2vw;
	}

	#conversion .head .bgFlex .righttBox {
		max-width: 38.933vw;
		margin: 0 0.267vw;
		padding: 1.333vw 0 1.333vw;
		display: flex;
		justify-content: center;
	}

	#conversion .head .bgFlex .righttBox .tex {
		font-size: 3.2vw;
	}

	#conversion .head h2 {
		position: relative;
		display: flex;
		justify-content: center;
	}

	#conversion .head h2 .tex {
		font-size: 6.667vw;
		line-height: 1.28;
		letter-spacing: 0.01em;
		padding: 0 0 0;
		background: none;
	}

	#conversion .head h2 .tex span {
		padding: 0 1.6vw 0;
		background: linear-gradient(transparent 51%, #fef681 73%);
	}

	#conversion .head h2 .obj {
		max-width: 13.067vw;
		right: -0.8vw;
		top: 0;
	}

	#conversion .cvBox {
		background: url('../img/cvBoxBg-sp.png') center bottom no-repeat;
		background-size: cover;
	}

	#conversion .cvBox .enTex {
		max-width: 53.467vw;
		left: -1.867vw;
		top: -1.333vw;
	}

	#conversion .cvBox .badge {
		max-width: 35.067vw;
		right: -1.067vw;
		top: 59.2vw;
		z-index: 1;
	}

	#conversion .cvBox .boxFlex {
		display: block;
		padding: 5.6vw 0 3.733vw 6.4vw;
	}

	#conversion .cvBox .boxFlex .image {
		max-width: 73.2vw;
		margin: 0 auto 5.867vw;
		transform: translate(-0.8vw, -1.867vw);
		-webkit-transform: translate(-0.8vw, -1.867vw);
		-ms-transform: translate(-0.8vw, -1.867vw);
	}

	#conversion .cvBox .boxFlex .conts {
		width: 100%;
	}

	#conversion .cvBox .boxFlex .conts .whiteFlex {
		display: flex;
		margin-bottom: -4.267vw;
		padding: 2.4vw 0 0 1.6vw;
	}

	#conversion .cvBox .boxFlex .conts .whiteFlex .leftBox {
		width: 37.72vw;
		background: #fff;
		margin-right: 3.467vw;
		padding: 1.6vw 0 1.6vw;
		box-shadow: 0 0.533vw 0.8vw rgba(50, 89, 136, 0.4);
		text-align: center;
		transform: scale(0.5);
		transform-origin: left top;
		-webkit-transform-origin: left top;
		-ms-transform-origin: left top;
	}

	#conversion .cvBox .boxFlex .conts .whiteFlex .righttBox {
		width: 56.435vw;
		background: #fff;
		padding: 1.6vw 0 1.6vw;
		box-shadow: 0 0.533vw 0.8vw rgba(50, 89, 136, 0.4);
		text-align: center;
		transform: translateX(-17.067vw) scale(0.5);
		-webkit-transform: translateX(-17.067vw) scale(0.5);
		-ms-transform: translateX(-17.067vw) scale(0.5);
		transform-origin: left top;
		-webkit-transform-origin: left top;
		-ms-transform-origin: left top;
	}

	#conversion .cvBox .boxFlex .conts .whiteFlex .righttBox .tex {
		font-size: 4.829vw;
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0;
		color: #4d4d4d;
	}

	#conversion .cvBox .boxFlex .conts .boxHead h3 {
		display: flex;
		flex-direction: column;
		margin-bottom: 2.4vw;
		padding: 0 0 0 1.333vw;
	}

	#conversion .cvBox .boxFlex .conts .boxHead h3 small {
		font-size: 4.8vw;
		margin-bottom: 1.6vw;
	}

	#conversion .cvBox .boxFlex .conts .boxHead h3 b {
		font-size: 7.02vw;
		transform: translateX(-0.533vw);
		-webkit-transform: translateX(-0.533vw);
		-ms-transform: translateX(-0.533vw);
	}

	#conversion .cvBox .boxFlex .conts .boxHead p {
		font-size: 2.825vw;
		padding: 0 0 0 1.6vw;
	}

	#conversion .cvBox .boxFlex .conts .boxPrice {
		max-width: 71.6vw;
		margin: -1.067vw 0 2.4vw 1.6vw;
	}

	#conversion .cvBox .boxFlex .conts .button {
		max-width: 74.533vw;
		height: 16.4vw;
	}

	#conversion .cvBox .boxFlex .conts ul {
		margin: 1.333vw 0 0 -4.267vw;
		padding: 0 1.333vw 0 0;
	}

	#conversion .cvBox .boxFlex .conts ul li {
		font-size: 2.825vw;
		line-height: 1.5842;
	}

	/*----------------------------------------------------
	#merit
	----------------------------------------------------*/

	#merit {
		padding: 14.133vw 0 2.4vw 0;
	}

	#merit .leftBg {
		position: absolute;
		width: 100%;
		max-width: 44.4vw;
		top: 0.533vw;
		left: 0;
	}

	#merit .rightBg {
		position: absolute;
		width: 100%;
		max-width: 38.133vw;
		right: initial;
		left: 0.8vw;
		bottom: -20.8vw;
	}

	#merit .head {
		position: relative;
		margin-bottom: -2.667vw;
	}

	#merit .head h2 {
		max-width: 82vw;
		margin: 0 auto 0;
		transform: translateY(-4.533vw);
		-webkit-transform: translateY(-4.533vw);
		-ms-transform: translateY(-4.533vw);
	}

	#merit .meritList .box {
		max-width: 83.467vw;
		margin: 0 0 0.133vw;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
	}

	#merit .meritList .box:first-child {
		max-width: 84.667vw;
	}

	/*----------------------------------------------------
	#worries
	----------------------------------------------------*/

	#worries {
		margin-bottom: -2.133vw;
		padding: 5.6vw 0 17.867vw 0;
	}

	#worries .bgTop {
		height: 143.6vw;
		background: url('../img/worriesBg-sp.png') center top no-repeat;
		background-size: auto 100%;
	}

	#worries .bgBottom {
		height: 135.6vw;
		background: url('../img/anserBg-sp.png') center bottom no-repeat;
		background-size: auto 100%;
	}

	#worries .inner {
		position: relative;
		z-index: 1;
	}

	#worries .head {
    position: relative;
    z-index: 2;
	}

	#worries .head h2 {
		max-width: 80.4vw;
		margin: 0 auto 0;
		transform: translateX(-0.8vw);
		-webkit-transform: translateX(-0.8vw);
		-ms-transform: translateX(-0.8vw);
	}

	#worries .fukidashiArea {
		max-width: 94vw;
		margin: 0 auto -2.667vw;
	}

	#worries .fukidashiArea .bg {
		width: calc(100% + 6.933vw);
		max-width: 94vw;
		transform: translate(-2.933vw, -2.4vw);
		-webkit-transform: translate(-2.933vw, -2.4vw);
		-ms-transform: translate(-2.933vw, -2.4vw);
	}

	#worries .fukidashiArea ul li {
		font-size: 3.733vw;
	}

	#worries .fukidashiArea ul li:nth-child(1) {
		left: 4.533vw;
		top: 5.333vw;
	}

	#worries .fukidashiArea ul li:nth-child(2) {
		right: 10.667vw;
		top: 23.733vw;
	}

	#worries .fukidashiArea ul li:nth-child(3) {
		left: 14.133vw;
		bottom: 33.6vw;
	}

	#worries .fukidashiArea ul li:nth-child(4) {
		right: 7.467vw;
		bottom: 12.533vw;
	}

	#worries .arrowHead {
		width: 100%;
		max-width: 247.733vw;
		margin: 0 auto 0;
	}

	#worries .arrowHead .bgBox {
		background: url('../img/bgBox-sp.png') center center no-repeat;
		background-size: 100% 15.067vw;
		padding: 4.8vw 0 5.6vw;
		margin: 0 1.6vw;
	}

	#worries .arrowHead .bgBox p {
		font-size: 4.8vw;
	}

	#worries .arrowHead .arrow {
		max-width: 24vw;
		margin: -6.933vw auto 0;
	}

	#worries .answerArea {
		padding: 13.067vw 0 0 0;
	}

	#worries .answerBox01 {
		background: url('../img/questionBox01Bg-sp.jpg') center center no-repeat;
		background-size: cover;
		margin-bottom: 25.333vw;
		padding: 0 0 5.6vw 0;
	}

	#worries .answerBox01 .boxHead {
		max-width: 87.2vw;
		margin: -7.2vw auto 0;
	}

	#worries .answerBox01 .boxHead h3 {
		transform: translateY(-9.333vw);
		-webkit-transform: translateY(-9.333vw);
		-ms-transform: translateY(-9.333vw);
	}

	#worries .answerBox01 .boxFlex {
		display: block;
		padding: 0 9.067vw 0 9.6vw;
	}

	#worries .answerBox01 .boxFlex .image {
		max-width: 66.133vw;
		margin: 0 0 -12.267vw;
		transform: translate(2.4vw, -8.8vw);
		-webkit-transform: translate(2.4vw, -8.8vw);
		-ms-transform: translate(2.4vw, -8.8vw);
	}

	#worries .answerBox01 .boxFlex .conts {
		width: 100%;
	}

	#worries .answerBox01 .boxFlex .conts p {
		font-size: 3.2vw;
	}

	#worries .answerBox01 .imageTex {
		max-width: 60.267vw;
		margin: 0 auto 0;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
	}

	#worries .answerBox02 {
		background: url('../img/questionBox02Bg-sp.jpg') center center no-repeat;
		background-size: cover;
		padding: 0 0 10.4vw 0;
	}

	#worries .answerBox02 .boxHead {
		max-width: 87.2vw;
		margin: -14.133vw auto 0;
	}

	#worries .answerBox02 .boxHead h3 {
		transform: translateY(-9.333vw);
		-webkit-transform: translateY(-9.333vw);
		-ms-transform: translateY(-9.333vw);
	}

	#worries .answerBox02 .boxFlex {
		display: block;
		padding: 0 9.067vw 0 9.6vw;
	}

	#worries .answerBox02 .boxFlex .image {
		max-width: 64.933vw;
		margin: 0 0 -9.6vw;
		transform: translate(1.333vw, -6.933vw);
		-webkit-transform: translate(1.333vw, -6.933vw);
		-ms-transform: translate(1.333vw, -6.933vw);
	}

	#worries .answerBox02 .boxFlex .conts {
		width: 100%;
	}

	#worries .answerBox02 .boxFlex .conts p {
		font-size: 3.2vw;
	}

	#worries .answerBox02 .imageTex {
		max-width: 83.733vw;
		margin: 4.267vw auto 0;
		transform: translateX(2.933vw);
		-webkit-transform: translateX(2.933vw);
		-ms-transform: translateX(2.933vw);
	}

	#worries .answerArea .arrow {
		max-width: 24vw;
		margin: -7.733vw auto 0;
	}

	#worries .answerImageArea {
		position: relative;
		display: flex;
		z-index: 1;
	}

	#worries .answerImageArea .image {
		width: 100%;
		max-width: 242.4vw;
		transform: translate(-0.8vw, 13.867vw);
		-webkit-transform: translate(-0.8vw, 13.867vw);
		-ms-transform: translate(-0.8vw, 13.867vw);
	}

	#worries .answerImageArea .texObj {
		max-width: 46.8vw;
		position: absolute;
		top: 4.533vw;
		left: -2.4vw;
		right: initial;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}

	/*----------------------------------------------------
	#point
	----------------------------------------------------*/

	#point {
		margin: -0.533vw 0 0 0;
		padding: 0 0 1.333vw 0;
		z-index: 1;
	}

	#point .head {
		margin-bottom: 1.6vw;
	}

	#point .head h2 small {
		font-size: 7.2vw;
		margin-bottom: 2.133vw;
	}

	#point .head h2 b {
		font-size: 7.2vw;
		padding: 0 0 4.8vw;
		background: url('../img/pointTitleBg-sp.png') no-repeat;
		background-size: 100% auto;
		background-position: center 5.067vw;
	}

	#point .pointBox01 {
		position: relative;
		margin-bottom: 34.4vw;
		padding: 0 0 14.933vw;
	}

	#point .pointBox01 .headFlex {
		position: initial;
		display: block;
		margin-bottom: -1.067vw;
	}

	#point .pointBox01 .headFlex .boxHead {
		width: 100vw;
		margin: 0 0 0 0;
		transform: translate(-6.4vw, -4.267vw);
		-webkit-transform: translate(-6.4vw, -4.267vw);
		-ms-transform: translate(-6.4vw, -4.267vw);
	}

	#point .pointBox01 .headFlex .boxImage {
		position: absolute;
		top: initial;
		bottom: -30.133vw;
		right: initial;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width: 100%;
		max-width: 73.2vw;
	}

	#point .pointBox01 .conts {
		padding: 0 10.667vw 0 12.8vw;
	}

	#point .pointBox01 .conts p {
		font-size: 3.2vw;
		line-height: 1.6666;
	}

	#point .pointBox02 {
		position: relative;
		margin-bottom: 31.733vw;
		padding: 0 0 17.067vw;
	}

	#point .pointBox02 .headFlex {
		position: initial;
		display: block;
		margin-bottom: -2.133vw;
	}

	#point .pointBox02 .headFlex .boxHead {
		width: 100vw;
		margin: 0 0 0 0;
		transform: translate(-6.4vw, -3.2vw);
		-webkit-transform: translate(-6.4vw, -3.2vw);
		-ms-transform: translate(-6.4vw, -3.2vw);
	}

	#point .pointBox02 .headFlex .boxImage {
		position: absolute;
		top: initial;
		bottom: -27.733vw;
		right: initial;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width: 100%;
		max-width: 73.2vw;
	}

	#point .pointBox02 .conts {
		padding: 0 10.667vw 0 12.8vw;
	}

	#point .pointBox02 .conts p {
		font-size: 3.2vw;
		line-height: 1.6666;
	}

	#point .pointBox03 {
		position: relative;
		margin-bottom: 34.4vw;
		padding: 0 0 13.6vw;
	}

	#point .pointBox03 .headFlex {
		position: initial;
		display: block;
		margin-bottom: -1.067vw;
	}

	#point .pointBox03 .headFlex .boxHead {
		width: 100vw;
		margin: 0 0 0 0;
		transform: translate(-6.4vw, -3.2vw);
		-webkit-transform: translate(-6.4vw, -3.2vw);
		-ms-transform: translate(-6.4vw, -3.2vw);
	}

	#point .pointBox03 .headFlex .boxImage {
		position: absolute;
		top: initial;
		bottom: -29.867vw;
		right: initial;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width: 100%;
		max-width: 73.2vw;
	}

	#point .pointBox03 .conts {
		padding: 0 10.667vw 0 12.8vw;
	}

	#point .pointBox03 .conts p {
		font-size: 3.2vw;
		line-height: 1.6666;
	}

	/*----------------------------------------------------
	#component
	----------------------------------------------------*/

	#component {
		padding: 1.867vw 0 1.333vw 0;
	}

	#component .inner {
		position: relative;
		z-index: 1;
	}

	#component .head {
		margin-bottom: 2.133vw;
	}

	#component .head h2 {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#component .head h2 b {
		font-size: 7.2vw;
		margin-bottom: 4.533vw;
	}

	#component .head h2 small {
		font-size: 7.2vw;
		margin-bottom: -2.4vw;
		padding: 0 3.2vw 4.8vw;
		background: url('../img/componentTitleBg-sp.png') no-repeat;
		background-size: 100% auto;
		background-position: center 5.067vw;
	}

	#component .head h2 b span {
		font-size: 2.667vw;
		right: -20.533vw;
		bottom: -0.267vw;
	}

	#component .componentList {
		max-width: 87.467vw;
		margin: 0 auto 5.067vw;
	}

	#component .componentList .image {
		margin-bottom: 4vw;
	}

	#component .componentList p {
		font-size: 3.049vw;
		line-height: 1.49;
		text-align: left;
		display: flex;
	}

	#component .componentImage {
		width: calc(100% + 6.667vw);
		max-width: 93.333vw;
		margin: 0 auto 0;
		transform: translateX(-2.667vw);
		-webkit-transform: translateX(-2.667vw);
		-ms-transform: translateX(-2.667vw);
	}

	#component .bg {
		height: 302.267vw;
		top: -3.733vw;
		background: url('../img/componentBg-sp.png') center bottom no-repeat;
		background-size: auto 100%;
	}

	/*----------------------------------------------------
	#food
	----------------------------------------------------*/

	#food {
		position: relative;
		padding: 11.2vw 0 0 0;
	}

	#food .inner {
		width: calc(100% - 3.1rem);
	}

	#food .head {
		margin-bottom: 3.733vw;
	}

	#food .head h2 small {
		max-width: 82vw;
		margin-bottom: 2.933vw;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
	}

	#food .head h2 b {
		font-size: 3.733vw;
		transform: translateX(2.667vw);
		-webkit-transform: translateX(2.667vw);
		-ms-transform: translateX(2.667vw);
	}

	/*----------------------------------------------------
	#drink
	----------------------------------------------------*/

	#drink {
		padding: 6.667vw 0 0 0;
	}

	#drink .inner {
		position: relative;
		z-index: 1;
	}

	#drink .head {
		margin-bottom: -3.467vw;
	}

	#drink .head h2 {
		max-width: 82vw;
		margin: -4.8vw auto 5.333vw;
	}

	#drink .drinkList {
		width: calc(100% + 5rem);
		max-width: 100vw;
		margin: 0 auto 1.867vw;
		transform: translateX(-6.667vw);
		-webkit-transform: translateX(-6.667vw);
		-ms-transform: translateX(-6.667vw);
	}

	#drink .drinkConts {
		position: relative;
		width: calc(100% + 5rem);
		margin: 0;
		transform: translateX(-6.667vw);
		-webkit-transform: translateX(-6.667vw);
		-ms-transform: translateX(-6.667vw);
	}

	#drink .drinkConts .image {
		margin-bottom: 0;
	}

	#drink .drinkFlex {
		display: flex;
		flex-direction: column;
		width: 100%;
		margin: 0 auto 0;
	}

	#drink .drinkFlex .left {
		position: absolute;
		right: 6.933vw;
		top: 46.667vw;
		width: 47.733vw;
	}

	#drink .drinkFlex .left p {
		font-size: 4.267vw;
		line-height: 1.625;
	}

	#drink .drinkFlex .right {
		position: absolute;
		left: 5.867vw;
		bottom: 9.6vw;
		width: 49.333vw;
	}

	#drink .drinkFlex .right p {
		font-size: 4.267vw;
		line-height: 1.625;
	}

	/*----------------------------------------------------
	#thoughts
	----------------------------------------------------*/

	#thoughts {
		margin-bottom: -3.2vw;
		padding: 5.467vw 0 0 0;
	}

	#thoughts .head {
		margin-bottom: 0;
	}

	#thoughts .head h2 {
		max-width: 85.867vw;
		margin: 0 auto 1.333vw;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
	}

	#thoughts .head p {
		width: calc(100% + 6.133vw);
		font-size: 2.667vw;
		line-height: 1.444;
		text-align: left;
		display: flex;
		transform: scale(0.9);
		-webkit-transform: scale(0.9);
		-ms-transform: scale(0.9);
		transform-origin: left top;
		-webkit-transform-origin: left top;
		-ms-transform-origin: left top;
		padding: 0 0 0 1.067vw;
	}

	#thoughts .bg {
		position: absolute;
		width: 100%;
		height: 403.733vw;
		left: 0;
		top: 0;
		background: url('../img/thoughtsBg.png') center top no-repeat;
		background-size: auto 100%;
	}

	#thoughts .thoughtsFlex01 {
		display: block;
		margin-bottom: 3.2vw;
	}

	#thoughts .thoughtsFlex01 .image {
		width: calc(100% + 5rem);
		max-width: 100vw;
		position: relative;
		margin: 0 auto -10.667vw;
		transform: translateX(-6.667vw);
		-webkit-transform: translateX(-6.667vw);
		-ms-transform: translateX(-6.667vw);
	}

	#thoughts .thoughtsFlex01 .boxList {
		padding: 0 0 0 0;
		width: 100%;
		display: block;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
	}

	#thoughts .thoughtsFlex01 .boxList .box01 {
		width: 100%;
		margin-bottom: 2.4vw;
		padding: 2.133vw 0 5.067vw 0;
	}

	#thoughts .thoughtsFlex01 .boxList .box01 h3 {
		max-width: 69.6vw;
		margin: 0 0 1.067vw 0;
		padding: 0 0 0 6.667vw;
	}

	#thoughts .thoughtsFlex01 .boxList .box01 p {
		font-size: 4vw;
		padding: 0 8vw 0 7.733vw;
	}

	#thoughts .thoughtsFlex01 .boxList .box02 {
		width: 100%;
		padding: 2.4vw 0 4vw 0;
	}

	#thoughts .thoughtsFlex01 .boxList .box02 h3 {
		width: 100%;
		max-width: 69.067vw;
		margin: 0 0 1.067vw 0;
		padding: 0 0 0 6.933vw;
	}

	#thoughts .thoughtsFlex01 .boxList .box02 p {
		font-size: 4vw;
		padding: 0 8vw 0 7.733vw;
	}

	#thoughts .thoughtsFlex01 .boxList .box03 {
		width: 100%;
		margin: 2.133vw 0 2.4vw 0;
		padding: 2.4vw 0 5.6vw 0;
	}

	#thoughts .thoughtsFlex01 .boxList .box03 h3 {
		width: 100%;
		max-width: 68.267vw;
		margin: 0 0 0.533vw 0;
		padding: 0 0 0 6.933vw;
	}

	#thoughts .thoughtsFlex01 .boxList .box03 p {
		font-size: 4vw;
		padding: 0 8vw 0 7.733vw;
	}

	#thoughts .thoughtsFlex01 .boxList .addTex {
		font-size: 2.667vw;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.06em;
		margin: 0 0 0 0;
		text-align: center;
	}

	#thoughts .thoughtsFlex02 {
		display: block;
		margin-bottom: 6.933vw;
	}

	#thoughts .thoughtsFlex02 .image {
		width: calc(100% + 5rem);
		max-width: 100vw;
		position: relative;
		margin: 0 auto -3.733vw;
		transform: translateX(-1.067vw);
		-webkit-transform: translateX(-1.067vw);
		-ms-transform: translateX(-1.067vw);
	}

	#thoughts .thoughtsFlex02 .boxList {
		padding: 0 0 0 0;
		width: 100%;
		display: block;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
	}

	#thoughts .thoughtsFlex02 .boxList .box01 {
		width: 100%;
		margin-bottom: 2.4vw;
		padding: 2.4vw 0 5.067vw 0;
	}

	#thoughts .thoughtsFlex02 .boxList .box01 h3 {
		width: 100%;
		max-width: 65.867vw;
		margin: 0 0 0.533vw 0;
		padding: 0 0 0 6.933vw;
	}

	#thoughts .thoughtsFlex02 .boxList .box01 p {
		font-size: 4vw;
		padding: 0 8vw 0 7.733vw;
	}

	#thoughts .thoughtsFlex02 .boxList .box02 {
		width: 100%;
		padding: 2.933vw 0 5.867vw 0;
	}

	#thoughts .thoughtsFlex02 .boxList .box02 h3 {
		width: 100%;
		max-width: 74.133vw;
		margin: 0 0 0 0;
		padding: 0 0 0 6.933vw;
	}

	#thoughts .thoughtsFlex02 .boxList .box02 p {
		font-size: 4vw;
		padding: 0 8vw 0 7.733vw;
	}

	#thoughts .thoughtsFlex02 .boxList .box03 {
		width: 100%;
		margin: 2.4vw 0 1.6vw 0;
		padding: 2.933vw 0 5.867vw 0;
	}

	#thoughts .thoughtsFlex02 .boxList .box03 h3 {
		width: 100%;
		max-width: 64.267vw;
		margin: 0 0 0 0;
		padding: 0 0 0 6.933vw;
	}

	#thoughts .thoughtsFlex02 .boxList .box03 p {
		font-size: 4vw;
		padding: 0 8vw 0 7.733vw;
	}

	#thoughts .thoughtsFlex02 .boxList .addTex {
		font-size: 2.667vw;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.06em;
		margin: 0 0 0 0;
		text-align: center;
	}


	/*----------------------------------------------------
	#management
	----------------------------------------------------*/

	#management {
		padding: 0 0 3.733vw 0;
	}

	#management .head {
		margin-bottom: 16.533vw;
	}

	#management .head h2 {
		width: 100%;
		max-width: 78.933vw;
		margin: 0 auto -12.267vw;
	}

	#management .managementFlex {
		display: block;
		margin-bottom: 0.8vw;
		padding: 0 0;
	}

	#management .managementFlex .image {
		position: relative;
		z-index: 1;
		width: 100%;
		max-width: 85.333vw;
		margin: 0 auto 0;
	}

	#management .managementFlex .conts {
		width: 100%;
		padding: 8.8vw 0 0;
	}

	#management .managementFlex .conts p {
		font-size: 4vw;
		line-height: 1.733;
		margin-bottom: 3.733vw;
		padding: 0 7.2vw;
	}

	#management .managementFlex .conts .oraclImg {
		position: relative;
		z-index: 1;
		width: 100%;
		max-width: 77.867vw;
		margin: -5.067vw auto 0;
		transform: translateX(1.333vw);
		-webkit-transform: translateX(1.333vw);
		-ms-transform: translateX(1.333vw);
	}

	#management .managementFlex .conts .contsBg {
		width: 100%;
		max-width: 90.667vw;
		position: absolute;
		left: 0;
		top: 72.267vw;
	}

	#management .supportFlex {
		position: relative;
		display: block;
		padding: 0 0 0 0;
		z-index: 1;
	}

	#management .supportFlex .conts {
		position: relative;
		right: initial;
		bottom: initial;
		width: 100%;
		margin-bottom: 3.733vw;
	}

	#management .supportFlex .conts .supportHead  {
		width: calc(100% + 1.733vw);
		max-width: 88.4vw;
		margin: 0 auto -0.533vw;
		transform: translateX(-1.333vw);
		-webkit-transform: translateX(-1.333vw);
		-ms-transform: translateX(-1.333vw);
	}

	#management .supportFlex .conts p {
		font-size: 4vw;
		line-height: 1.7333;
		padding: 0 7.467vw;
	}

	#management .supportFlex .image {
		width: 100%;
		max-width: 74.4vw;
		margin: 0 auto 0;
	}

	#management .buttonsArea {
		display: block;
		width: 100%;
		margin: -6.667vw auto 0;
		padding: 10.667vw 0 5.867vw;
	}

	#management .buttonsArea .telBt {
		margin: 0 auto 1.867vw;
		max-width: 73.867vw;
		transform: translateX(0.8vw);
		-webkit-transform: translateX(0.8vw);
		-ms-transform: translateX(0.8vw);
	}

	#management .buttonsArea .contactBt {
		margin: 0 auto 0;
		max-width: 73.867vw;
		transform: translateX(0.8vw);
		-webkit-transform: translateX(0.8vw);
		-ms-transform: translateX(0.8vw);
	}

	/*----------------------------------------------------
	#shop
	----------------------------------------------------*/

	#shop {
		padding: 6.4vw 0 0 0;
	}

	#shop .bg {
		height: 163.2vw;
		background: url('../img/shopBg-sp.png') center top no-repeat;
		background-size: auto 100%;
	}

	#shop .head {
		margin-bottom: 5.6vw;
	}

	#shop .head h2 b {
		width: 100%;
		max-width: 83.867vw;
		margin: 0 auto 0.533vw;
	}

	#shop .head h2 small {
		font-size: 5.333vw;
		letter-spacing: 0;
	}

	#shop .shopFlex {
		display: block;
		padding: 0 0 0 0;
	}

	#shop .shopFlex .image {
		width: 100%;
		max-width: 87.2vw;
		margin: 0 auto 0;
	}

	#shop .shopFlex .conts {
		width: 100%;
		padding: 2.667vw 7.2vw 0;
	}

	#shop .shopFlex .conts p {
		font-size: 3.2vw;
		line-height: 1.6666;
	}

	/*----------------------------------------------------
	#howto
	----------------------------------------------------*/

	#howto {
		padding: 13.067vw 0 0 0;
	}

	#howto .head {
		width: calc(100% + 5rem);
		max-width: 100vw;
		margin: -40.8vw 0 0 0;
		transform: translateX(-6.667vw);
		-webkit-transform: translateX(-6.667vw);
		-ms-transform: translateX(-6.667vw);
	}

	#howto .head h2 {
		width: 100%;
		margin-bottom: -4.267vw;
	}

	#howto .head p.tex {
		font-size: 3.733vw;
		line-height: 1.7857;
		margin-bottom: 1.867vw;
		padding: 0 11.733vw 0;
	}

	#howto .head p.addTex {
		font-size: 2.667vw;
		line-height: 1.5;
		text-align: left;
		padding: 0 10.933vw 0 8.8vw;
		display: flex;
	}

	/*----------------------------------------------------
	#faq
	----------------------------------------------------*/

	#faq {
		position: relative;
		padding: 2.933vw 0 2.933vw 0;
	}

	#faq .inner {
    position: relative;
    z-index: 1;
	}

	#faq .leftBg {
		max-width: 99.867vw;
		top: 33.067vw;
		left: 0;
	}

	#faq .rightBg {
		max-width: 55.733vw;
		right: 0;
		bottom: -6.933vw;
	}

	#faq .head {
		margin: 0 0 2.133vw;
	}

	#faq .head h2 {
		width: 100%;
		max-width: 75.6vw;
		margin: 0 auto 0;
		transform: translateX(1.333vw);
		-webkit-transform: translateX(1.333vw);
		-ms-transform: translateX(1.333vw);
	}

	#faq .faqBox {
		padding: 2.4vw 2.133vw 2.667vw 4.267vw;
	}

	#faq .faqBox dl dt {
		display: flex;
		margin: 0 2.4vw -1.333vw 0;
	}

	#faq .faqBox dl dt .icon {
		width: 100%;
		max-width: 8.533vw;
		margin: 0 2.4vw 0 0;
	}

	#faq .faqBox dl dt .tex {
		width: calc(100% - 10.933vw);
		font-size: 3.733vw;
		padding: 2.667vw 0 0 0;
	}

	#faq .faqBox dl dd {
		display: flex;
		padding: 1.867vw 0 0 0;
	}

	#faq .faqBox dl dd .icon {
		width: 100%;
		max-width: 8.533vw;
		margin: 0 2.4vw 0 0;
	}

	#faq .faqBox dl dd .tex {
		width: calc(100% - 10.933vw);
		font-size: 3.733vw;
		padding: 1.333vw 0 0 0;
	}

	/*----------------------------------------------------
	#nutrition
	----------------------------------------------------*/

	#nutrition {
		padding: 2.133vw 0 0 0;
	}

	#nutrition .bg {
		position: absolute;
		width: 100%;
		height: 150.4vw;
		top: 4.8vw;
		left: 0;
		background: url('../img/nutritionBg.png') center top no-repeat;
		background-size: auto 100%;
	}

	#nutrition .head {
		margin: 0 0 4vw;
	}

	#nutrition .head h2 {
		max-width: 82vw;
		margin: 0 auto 0;
	}

	#nutrition .head p {
		font-size: 2.667vw;
		margin: 0 0 0 17.333vw;
		bottom: -2.133vw;
	}

	#nutrition .tableFlex {
		padding: 0 1.867vw 0;
		display: flex;
		justify-content: space-between;
	}

	#nutrition .tableTop {
		width: 49%;
		margin-bottom: 5.067vw;
	}

	#nutrition .tableTop table {
		border: 0.267vw solid #d0c74a;
		margin-bottom: 0;
	}

	#nutrition .tableTop table th {
		width: 50%;
		height: 8.053vw;
		border-right: initial;
		border-bottom: 0.267vw solid #d0c74a;
		font-size: 2.704vw;
		padding: 0;
	}

	#nutrition .tableTop table th.w {
		font-size: 2.704vw;
	}

	#nutrition .tableTop table td {
		width: 50%;
		border-right: initial;
		border-bottom: 0.267vw solid #d0c74a;
		font-size: 2.704vw;
		padding: 0;
	}

	#nutrition p {
		font-size: 2.667vw;
		line-height: 1.5;
		text-align: left;
		display: flex;
		margin-top: -4.267vw;
		padding: 0 4.533vw;
	}

	#nutrition .tableBottom {
		width: 49%;
	}

	#nutrition .tableBottom table {
		width: 100%;
		border: 0.267vw solid #d0c74a;
		box-shadow: 0 0.533vw 0.8vw rgba(136, 137, 137, 0.4);
		margin-bottom: 3.467vw;
	}

	#nutrition .tableBottom table th {
		width: 50%;
		height: 8.053vw;
		border-right: initial;
		border-bottom: 0.267vw solid #d0c74a;
		font-size: 2.704vw;
		padding: 0;
	}

	#nutrition .tableBottom table th.w {
		font-size: 2.667vw;
	}

	#nutrition .tableBottom table td {
		width: 50%;
		border-right: initial;
		border-bottom: 0.267vw solid #d0c74a;
		font-size: 2.704vw;
		padding: 0;
	}

	/*----------------------------------------------------
	#item
	----------------------------------------------------*/

	#item {
		padding: 4.267vw 0 11.467vw 0;
	}

	#item .head {
		margin: 0 0 -1.333vw;
	}

	#item .head h2 {
		max-width: 85.867vw;
		margin: 0 auto 0;
	}

	#item .itemTable {
		margin-bottom: 3.2vw;
	}

	#item .itemTable table {
		margin-bottom: 3.467vw;
	}

	#item .itemTable table th {
		font-size: 2.973vw;
		padding: 0;
		width: 21.333vw;
	}

	#item .itemTable table td {
		font-size: 2.973vw;
		line-height: 1.645;
		padding: 1.6vw 5.067vw 1.6vw 3.733vw;
	}

	#item .itemTable table td.s {
		font-size: 2.667vw;
	}

	#item .itemImage {
		width: calc(100% + 5rem);
		max-width: 100vw;
		position: relative;
		margin: 0 auto -3.733vw;
		transform: translateX(-6.667vw);
		-webkit-transform: translateX(-6.667vw);
		-ms-transform: translateX(-6.667vw);
	}

}
