@charset "utf-8";

/* スタイルシート
　 作成者：Hirama Inc.
　 作成日：R4.11.22

-------------------------------------------------------------------------------------*/


/*
************************************************************************
************************************************************************

header

************************************************************************
************************************************************************
*/

body.lp header {
background-color:rgba(255,255,255,0.8)
}

body.lp header {
	width: 100%;
	margin: 0 auto;
	position: fixed;
 left: 0; top: 0;
	z-index: 9990;
 box-shadow:0 3px 2px -2px rgba(0, 0, 0, 0.1);
 display: flex;
 flex-wrap: wrap; 
 justify-content: space-between;
 align-items: center;
}

@media only screen  and (min-width: 1151px){
body.lp header {
height: 100px;
padding: 0 15px;
}
}

@media only screen and (min-width: 701px) and (max-width: 1150px){
body.lp header {
height: 100px;
padding: 0 3%;
}
}

@media only screen and (min-width: 451px) and (max-width: 700px){
body.lp header {
height: 80px;
padding: 0 3%;
}
}

@media only screen and (max-width: 450px){
body.lp header {
height: 60px;
padding: 0 3%;
}
}


/*
***************************************

leftPart

***************************************
*/

body.lp header .leftPart {
width: calc(100% - 20rem);
height: 100%;
}

@media only screen  and (min-width: 701px){
body.lp header .leftPart {
width: calc(100% - 20rem);
}
}

@media only screen  and (min-width: 451px)  and (max-width: 700px){
body.lp header .leftPart {
width: calc(100% - 17rem);
}
}

@media only screen  and (max-width: 450px){
body.lp header .leftPart {
width: 65%;
}
}

body.lp header .leftPart h1 {
width:100%;
display: flex;
align-items: center;
height: 100%;
font-weight: bold;
line-height: 1.6;
}

@media only screen  and (min-width: 801px){
body.lp header .leftPart h1 {
max-width: 650px;
font-size: 2rem;
}
}

@media only screen  and (min-width: 701px)  and (max-width: 800px){
body.lp header .leftPart h1 {
max-width: 600px;
font-size: 1.8rem;
}
}

@media only screen  and (min-width: 501px)  and (max-width: 700px){
body.lp header .leftPart h1 {
max-width: 100%;
font-size: 1.8rem;
line-height: 1.3;
}
}

@media only screen and (max-width: 500px){
body.lp header .leftPart h1 {
max-width: 100%;
font-size: 1.5rem;
line-height: 1.3;
}
}

body.lp header .leftPart h1 img {
max-width: 100%;
}

@media only screen  and (min-width: 701px){
body.lp header .leftPart h1 img {
max-height: 60px;
}
}

@media only screen and (min-width: 451px) and (max-width: 700px){
body.lp header .leftPart h1 img {
max-height: 50px;
}
}

@media only screen and (max-width: 450px){
body.lp header .leftPart h1 img {
max-height: 340px;
}
}


/*
***************************************

rightPart

***************************************
*/

body.lp header .rightPart {
display: flex;
justify-content: flex-end;
align-items: center;
}

@media only screen  and (min-width: 701px){
body.lp header .rightPart {
width: 20rem;
}
}

@media only screen  and (min-width: 451px)  and (max-width: 700px){
body.lp header .rightPart {
width: 17rem;
}
}

@media only screen  and (max-width: 450px){
body.lp header .rightPart {
width: 35%;
}
}

body.lp header .rightPart .headerbtn {
width: 100%;
padding-left: 1.5rem;
}

body.lp header .rightPart a {
position: relative;
width: 100%;
display: block;
padding: .5rem .5rem;
text-align: center;
color: #FFF;
background-color: #2671BC;
border-radius: 7px;
font-size: 90%;
box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
}

body.lp header .rightPart a:hover {
background-color: #869DCB;
}

body.lp header .rightPart a span {}

@media only screen and ( min-width : 451px ) {
body.lp header .rightPart a span {
padding-right: .5rem;
}
}

@media only screen and ( max-width : 450px ) {
body.lp header .rightPart a span {
padding-right: 0;
white-space: nowrap;
}
}

body.lp header .rightPart a::after {
content: "";
display:inline-block;
border-bottom: 1px solid #FFF;
border-right: 1px solid #FFF;
z-index: 1000;
position: absolute;
bottom: 40%;
transform: translateY(-40%);
transform: skew(45deg);
transition: all .5s;
}

@media only screen and ( min-width : 701px ) {
body.lp header .rightPart a::after {
width: 2rem;
height: 8px;
right: 2.5rem;
}
}

@media only screen and ( min-width : 451px ) and ( max-width : 700px ) {
body.lp header .rightPart a::after {
width: 1.8rem;
height: 7px;
right: 2.5rem;
}
}

@media only screen and ( max-width : 450px ) {
body.lp header .rightPart a::after {
display: none;
}
}

body.lp header .rightPart a:hover::after {
right: 2rem;
}


/*
************************************************************************
************************************************************************

mainvisual

************************************************************************
************************************************************************
*/

body.lp #mainvisual {
margin-bottom: 3rem;
display: flex;
justify-content: center;
}

@media only screen  and (min-width: 701px){
body.lp #mainvisual {
margin-top: 100px;
}
}

@media only screen and (min-width: 451px) and (max-width: 700px){
body.lp #mainvisual {
margin-top: 80px;
}
}

@media only screen and (max-width: 450px){
body.lp #mainvisual {
margin-top: 60px;
}
}

body.lp #mainvisual img {
width: 100%;
max-width: none;
}


/*
************************************************************************
************************************************************************

main

************************************************************************
************************************************************************
*/

body.lp #main {}

body.lp #main .block {
position: relative;
}

body.lp #main .block__inner {
margin: 0 auto;
width: 100%;
}

@media only screen  and (min-width: 1151px){
body.lp #main .block__inner {
max-width: 1100px;
}
}

@media only screen  and (max-width: 1150px){
body.lp #main .block__inner {
padding: 0 3%;
}
}

body.lp #main .block__inner.separator {
display: flex;
}

@media only screen  and (min-width: 801px){
body.lp #main .block__inner.separator {
justify-content: space-between;
}
}

@media only screen  and (max-width: 800px){
body.lp #main .block__inner.separator {
flex-wrap: wrap; 
}
}

body.lp #main .block__inner.separator .text {}

body.lp #main .block__inner.separator .photo {}

body.lp #main .block-ttl {
font-weight: bold;
margin-bottom: 2.5rem;
}

body.lp #main .block-ttl.center {
text-align: center;
}

@media only screen and (min-width: 701px){
body.lp #main .block-ttl.center {
font-size: 2.2rem;
}
}

@media only screen and (min-width: 481px) and (max-width: 700px){
body.lp #main .block-ttl.center {
font-size: 1.8rem;
}
}

@media only screen and (max-width: 480px){
body.lp #main .block-ttl.center {
font-size: 1.6rem;
}
}

body.lp #main .block-ttl.center span.text01 {
display: block;
}

@media only screen and (min-width: 701px){
body.lp #main .block-ttl.center span.text01 {
font-size: 2.2rem;
}
}

@media only screen and (min-width: 481px) and (max-width: 700px){
body.lp #main .block-ttl.center span.text01 {
font-size: 2.0rem;
}
}

@media only screen and (max-width: 480px){
body.lp #main .block-ttl.center span.text01 {
font-size: 1.8rem;
}
}

body.lp #main .block-ttl.center span.text02 {
display: block;
margin-top: .5rem;
}

@media only screen and (min-width: 701px){
body.lp #main .block-ttl.center span.text02 {
font-size: 1.5rem;
}
}

@media only screen and (min-width: 481px) and (max-width: 700px){
body.lp #main .block-ttl.center span.text02 {
font-size: 1.4rem;
}
}

@media only screen and (max-width: 480px){
body.lp #main .block-ttl.center span.text02 {
font-size: 1.3rem;
}
}

body.lp #main .block-ttl.left {
border-left: 3px solid #333;
padding-left: 1.5rem;
}

body.lp #main .block-ttl.left span.text01 {
display: inline-block;
}

@media only screen and (min-width: 701px){
body.lp #main .block-ttl.left span.text01 {
font-size: 2.2rem;
}
}

@media only screen and (min-width: 481px) and (max-width: 700px){
body.lp #main .block-ttl.left span.text01 {
font-size: 2.0rem;
}
}

@media only screen and (max-width: 480px){
body.lp #main .block-ttl.left span.text01 {
font-size: 1.8rem;
}
}

body.lp #main .block-ttl.left span.text02 {
display: inline-block;
margin-left: 1rem;
}

@media only screen and (min-width: 701px){
body.lp #main .block-ttl.left span.text02 {
font-size: 1.5rem;
}
}

@media only screen and (min-width: 481px) and (max-width: 700px){
body.lp #main .block-ttl.left span.text02 {
font-size: 1.4rem;
}
}

@media only screen and (max-width: 480px){
body.lp #main .block-ttl.left span.text02 {
font-size: 1.3rem;
}
}

body.lp #main .box-ttl {
border: 2px solid #333;
padding: .7rem 1rem;
}

@media only screen and (min-width: 701px){
body.lp #main .box-ttl {
font-size: 1.8rem;
}
}

@media only screen and (min-width: 481px) and (max-width: 700px){
body.lp #main .box-ttl {
font-size: 1.5rem;
}
}

@media only screen and (max-width: 480px){
body.lp #main .box-ttl {
font-size: 1.34rem;
}
}

/*table_outer*/
body.lp #main .table_outer {
width: 100%; 
}

@media only screen and (min-width: 801px){
body.lp #main .table_outer {
overflow:visible;
}
}

@media only screen and (max-width: 800px){
body.lp #main .table_outer {
overflow: auto;
}
}

body.lp #main .table_outer table {
width:100%;
}

body.lp #main .table_outer::-webkit-scrollbar{
height: 5px; /* スクロールバーの高さ */
}

body.lp #main .table_outer::-webkit-scrollbar-track{
background: #F1F1F1; /* スクロールバーの背景色 */
}

body.lp #main .table_outer::-webkit-scrollbar-thumb {
background: #d6d6d6; /* スクロールバーの色 */
}

body.lp #main table {
border-collapse: collapse;
border-spacing: 0;
}

@media only screen and (min-width: 801px){
body.lp #main table {
border-bottom: #DDD solid 1px;
border-right: #DDD solid 1px;
}	
}

@media only screen and (max-width: 800px){
body.lp #main table {
border-top:#DDD solid 1px;
}	
}

body.lp #main table caption {
text-align: left;
font-weight: bold; font-weight: 700;
}

@media only screen and (min-width: 901px){
body.lp #main table caption {
font-size: 1.8rem;
margin-bottom: 5px;
}
}

@media only screen and (min-width: 801px) and (max-width: 900px){
body.lp #main table caption {
font-size: 1.6rem;
margin-bottom: 5px;
}
}

@media only screen and (max-width: 800px){
body.lp #main table caption {
font-size: 1.5rem;
margin-bottom: 5px;
}
}

body.lp #main table th {
vertical-align: middle;
margin: 0 auto;
text-align: left;
}

@media only screen and (min-width: 801px){
body.lp #main table th {
border-top: #DDD solid 1px; 
border-left: #DDD solid 1px;
padding:15px 20px 15px 20px;
width: 250px;
}
}

@media only screen and (max-width: 800px){
body.lp #main table th {
border-right:#DDD solid 1px; 
border-left:#DDD solid 1px; 
border-bottom:#DDD solid 1px;
padding: 10px;
display:table-cell;
min-width: 200px;
}
}

body.lp #main table td {
vertical-align: middle;
margin: 0 auto;
background-color: #FFF;
}

@media only screen and (min-width: 801px){
body.lp #main table td {
border-top: #DDD solid 1px; 
border-left: #DDD solid 1px;
padding:12px 10px 12px 15px;
}
}

@media only screen and (max-width: 800px){
body.lp #main table td {
border-right:#DDD solid 1px; 
border-left:#DDD solid 1px; 
border-bottom:#DDD solid 1px;
padding: 10px;
display:table-cell;
min-width: 250px;
}
}

body.lp #main .contact {}

body.lp #main .contact a {
position: relative;
width: 100%;
display: block;
padding: 1rem .5rem;
text-align: center;
color: #FFF;
background-color: #2671BC;
border-radius: 7px;
font-size: 90%;
box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
}

body.lp #main .contact a:hover {
background-color: #869DCB;
}

body.lp #main .contact a span {}

@media only screen and ( min-width : 451px ) {
body.lp #main .contact a span {
padding-right: .5rem;
}
}

@media only screen and ( max-width : 450px ) {
body.lp #main .contact a span {
padding-right: 0;
}
}

body.lp #main .contact a::after {
content: "";
display:inline-block;
border-bottom: 1px solid #FFF;
border-right: 1px solid #FFF;
z-index: 1000;
position: absolute;
bottom: 40%;
transform: translateY(-40%);
transform: skew(45deg);
transition: all .5s;
}

@media only screen and ( min-width : 701px ) {
body.lp #main .contact a::after {
width: 2rem;
height: 8px;
right: 2.5rem;
}
}

@media only screen and ( min-width : 451px ) and ( max-width : 700px ) {
body.lp #main .contact a::after {
width: 1.8rem;
height: 7px;
right: 2.5rem;
}
}

@media only screen and ( max-width : 450px ) {
body.lp #main .contact a::after {
display: none;
}
}

body.lp #main .contact a:hover::after {
right: 2rem;
}

body.lp #main .txt_outer {}

.txt_outer ol,
.txt_outer ul{
padding-left: 1.3em;
}

.txt_outer li {
list-style-position: outside;
}

.txt_outer ol > li {
list-style-position: outside;
}

.txt_outer ol{
list-style: decimal;
}

/*
***************************************

section01

***************************************
*/

body.lp #main .section01 {}

@media only screen and (min-width: 601px){
body.lp #main .section01 {
padding-bottom: 8rem;
}
}

@media only screen and (max-width: 600px){
body.lp #main .section01 {
padding-bottom: 6rem;
}
}

/*
***************************************

section02

***************************************
*/

body.lp #main .section02 {
padding: 3rem 0 5rem;
background-color: #F2F2F2;
}

body.lp #main .section02 .block__inner.separator {}

@media only screen and (min-width: 901px){
body.lp #main .section02 .block__inner.separator {
display: block;
}
}

@media only screen and (min-width: 801px) and (max-width: 900px){
body.lp #main .section02 .block__inner.separator {
display: block;
}
}

@media only screen and (max-width: 800px){
body.lp #main .section02 .block__inner.separator {
flex-direction: row-reverse;
}
}

body.lp #main .section02 .block__inner.separator .photo {}

@media only screen and (min-width: 901px){
body.lp #main .section02 .block__inner.separator .photo {
width: 43rem;
}
}

@media only screen and (min-width: 801px) and (max-width: 900px){
body.lp #main .section02 .block__inner.separator .photo {
width: 35rem;
}
}

@media only screen and (min-width: 801px){
body.lp #main .section02 .block__inner.separator .photo {
margin: -8rem 0 0 2rem;
float: right;
}
}

@media only screen and (max-width: 800px){
body.lp #main .section02 .block__inner.separator .photo {
width: 100%;
order: 2;
}
}

body.lp #main .section02 .block__inner.separator .text {}

@media only screen and (min-width: 801px){
body.lp #main .section02 .block__inner.separator .text {
}
}

@media only screen and (max-width: 800px){
body.lp #main .section02 .block__inner.separator .text {
width: 100%;
margin-bottom: 2rem;
order: 1;
}
}

body.lp #main .section02 .block__inner.separator .text dl {
display: flex;
}

body.lp #main .section02 .block__inner.separator .text dl dt {
margin-right: 1rem;
letter-spacing: 0;
font-size: 90%;
min-width: 8rem;
}

body.lp #main .section02 .block__inner.separator .text dl dt span {
display: inline-block;
padding: .1rem .5rem .2rem;
text-align: center;
width: 100%;
}

body.lp #main .section02 .block__inner.separator .text dl dd {
font-size: 120%;
max-width: calc(100% - 8rem);
line-height: 1.5;
}

body.lp #main .section02 .block__inner.separator .text .date {
padding-bottom: 1.5rem;
margin-bottom: 1.5rem;
border-bottom: #333 solid 2px;
}

body.lp #main .section02 .block__inner.separator .text .date dt {}

body.lp #main .section02 .block__inner.separator .text .date dt span {
background-color: #333;
color: #FFF;
}

body.lp #main .section02 .block__inner.separator .text .date dd {}

body.lp #main .section02 .block__inner.separator .text .price {
margin-bottom: 1rem;
}

body.lp #main .section02 .block__inner.separator .text .price dt {}

body.lp #main .section02 .block__inner.separator .text .price dt span {
background-color:#C1272E;
color: #FFF;
}

body.lp #main .section02 .block__inner.separator .text .price dd {
color:#C1272E;
}

body.lp #main .section02 .block__inner.separator .text .price dd span {
display: block;
}

/*
***************************************

section03

***************************************
*/

body.lp #main .section03 {}

@media only screen and (min-width: 801px){
body.lp #main .section03 {
padding: 4rem 0 3rem;
}
}

@media only screen and (max-width: 800px){
body.lp #main .section03 {
padding: 3rem 0 3rem;
}
}

body.lp #main .section03 .box {}

@media only screen and (min-width: 801px){
body.lp #main .section03 .box {
display: block;
margin-bottom: 3rem;
}
}

@media only screen and (max-width: 800px){
body.lp #main .section03 .box {
display: flex;
flex-wrap: wrap;
flex-direction: row-reverse;
margin-bottom: 2.5rem;
}
}

body.lp #main .section03 .box::after {}

@media only screen and (min-width: 801px){
body.lp #main .section03 .box::after {
content: "";
clear: both;
display: block;
}
}

@media only screen and (max-width: 800px){
body.lp #main .section03 .box::after {}
}

body.lp #main .section03 .box .photo {}

@media only screen and (min-width: 901px){
body.lp #main .section03 .box .photo {
width: 40rem;
}
}


@media only screen and (min-width: 801px) and (max-width: 900px){
body.lp #main .section03 .box .photo {
width: 35rem;
}
}

@media only screen and (min-width: 801px){
body.lp #main .section03 .box:nth-of-type(odd) .photo {
margin: 0 0 0 2rem;
float: right;
}

body.lp #main .section03 .box:nth-of-type(even) .photo {
margin: 0 2rem 0 0;
float: left;
}
}

@media only screen and (max-width: 800px){
body.lp #main .section03 .box .photo {
width: 100%;
order: 2;
}
}

body.lp #main .section03 .box .text {}

@media only screen and (min-width: 801px){
body.lp #main .section03 .box .text {}
}

@media only screen and (max-width: 800px){
body.lp #main .section03 .box .text {
width: 100%;
order: 1;
margin-bottom: 2rem;
}
}

body.lp #main .section03 .box .text .box-ttl {}

@media only screen and (min-width: 901px){
body.lp #main .section03 .box .text .box-ttl {
max-width: calc(100% - (40rem + 2rem));
}

body.lp #main .section03 .box:nth-of-type(odd) .text .box-ttl {
margin:0 2rem 2rem 0;
}

body.lp #main .section03 .box:nth-of-type(even) .text .box-ttl {
margin:0 0 2rem calc(40rem + 2rem);
}
}

@media only screen and (min-width: 801px) and (max-width: 900px){
body.lp #main .section03 .box .text .box-ttl {
max-width: calc(100% - (35rem + 2rem));
}

body.lp #main .section03 .box:nth-of-type(odd) .text .box-ttl {
margin:0 2rem 2rem 0;
}

body.lp #main .section03 .box:nth-of-type(even) .text .box-ttl {
margin:0 0 2rem calc(35rem + 2rem);
}
}

@media only screen and (max-width: 800px){
body.lp #main .section03 .box .text .box-ttl {
max-width: 100%;
margin:0 0 1.5rem 0;
}
}

/*
***************************************

section04

***************************************
*/

body.lp #main .section04 {
padding: 3rem 0 5rem;
background-color: #F2F2F2;
}

body.lp #main .section04 table {}

body.lp #main .section04 table.th_side {}

body.lp #main .section04 table.th_side tr td:nth-of-type(1) {
background-color: #EEE;
}

@media only screen and (min-width: 641px){
body.lp #main .section04 table.th_side tr td:nth-of-type(1) {
min-width: 230px;
}
}

@media only screen and (max-width: 640px){
body.lp #main .section04 table.th_side tr td:nth-of-type(1) {
min-width: 200px;
}
}

body.lp #main .section04 table.th_over {}

body.lp #main .section04 table.th_over tr:nth-of-type(1) td {
background-color: #EEE;
text-align: center;
}


/*
***************************************

section05

***************************************
*/

body.lp #main .section05 {
display: flex;
justify-content: center;
}

body.lp #main .section05 img {
margin: 0 auto;
width: 100%;
max-width: none;
}


/*
***************************************

section06

***************************************
*/

body.lp #main .section06 {}

@media only screen and (min-width: 801px){
body.lp #main .section06 {
padding: 4rem 0 4rem;
}
}

@media only screen and (max-width: 800px){
body.lp #main .section06 {
padding: 3rem 0 4.5rem;
}
}

body.lp #main .section06 .separator {
display: flex;
flex-wrap: wrap;
margin-bottom: .5rem;
}

@media only screen and (min-width: 501px){
body.lp #main .section06 .separator {
justify-content: center;
}

body.lp #main .section06 .separator.left {
justify-content: flex-start;
}
}

@media only screen and (max-width: 500px){
body.lp #main .section06 .separator {
justify-content: flex-start;
}
}

body.lp #main .section06 .separator.center {
justify-content: center;
}

body.lp #main .section06 .separator .box {
border:#DDD solid 1px; 
text-align: center;
margin-bottom: .5rem;
display:flex;/*子要素に追加*/
flex-direction:column;/*子要素に追加*/
}

@media only screen and (min-width: 501px){
body.lp #main .section06 .separator .box {
width: calc(100%  / 4);
border-left:none; 
}

body.lp #main .section06 .separator > .box:nth-of-type(1) {
border-top-left-radius: 10px;
border-bottom-left-radius: 10px;
border-left:#DDD solid 1px; 
}

body.lp #main .section06 .separator > .box:nth-last-of-type(1) {
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
}

}

@media only screen and (max-width: 500px){
body.lp #main .section06 .separator .box {
width: 50%;
}

body.lp #main .section06 .separator .box:nth-of-type(odd) {
border-top-left-radius: 10px;
border-bottom-left-radius: 10px;
}

body.lp #main .section06 .separator .box:nth-of-type(even) {
border-left:none;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
}
}

body.lp #main .section06 .separator .box p {
font-weight: bold;
}

body.lp #main .section06 .separator .box .ttl {
border-bottom: #DDD solid 1px;
padding: .7rem;
margin-bottom: 1rem;
display: flex;
/*flex-direction: column;*/

flex-grow:1;/*空きスペースの伸びる倍率を指定*/
align-items: center;
justify-content: center;
}

body.lp #main .section06 .separator .box .ttl span {
display: block;
line-height: 1;
font-size: 90%;
margin-bottom: .7rem;
}

body.lp #main .section06 .separator .box .ttl span.holiday_color {
display:inline-block;
margin: 0 0 0 .7rem;
line-height: 1.8;
}

body.lp #main .section06 .separator .box .txt {
padding-bottom: 1rem;
}

body.lp #main .section06 .separator .box .large {
margin: 0 0 .5rem;
}

@media only screen and (min-width: 801px){
body.lp #main .section06 .separator .box .large {
font-size: 2.5rem;
}
}

@media only screen and (min-width: 601px) and (max-width: 800px){
body.lp #main .section06 .separator .box .large {
font-size: 2.5rem;
}
}

@media only screen and (min-width: 401px) and (max-width: 600px){
body.lp #main .section06 .separator .box .large {
font-size: 2.5rem;
}
}

@media only screen and (max-width: 400px){
body.lp #main .section06 .separator .box .large {
font-size: 2.5rem;
}
}

body.lp #main .section06 .contact {
margin: 4rem auto 0;
}

@media only screen and (min-width: 801px){
body.lp #main .section06 .contact {
width: 30rem;
}
}

@media only screen and (min-width: 601px) and (max-width: 800px){
body.lp #main .section06 .contact {
width: 30rem;
}
}

@media only screen and (min-width: 401px) and (max-width: 600px){
body.lp #main .section06 .contact {
width: 30rem;
}
}

@media only screen and (max-width: 400px){
body.lp #main .section06 .contact {
width: 30rem;
}
}

/*
***************************************

section07

***************************************
*/

body.lp #main .section07 {
padding: 3rem 0 5rem;
background-color: #F2F2F2;
}

body.lp #main .section07 .box {
padding: 3rem 3rem 2.5rem;
border: #333 solid 2px;
}

/*
************************************************************************
************************************************************************

footer

************************************************************************
************************************************************************
*/

body.lp footer {
background-color: #666666;
color: #FFF;
padding: 5rem 0 4rem;
}

body.lp footer .footer__inner {
margin: 0 auto;
width: 100%;
}

@media only screen  and (min-width: 1151px){
body.lp footer .footer__inner {
max-width: 1100px;
}
}

@media only screen  and (max-width: 1150px){
body.lp footer .footer__inner {
padding: 0 3%;
}
}

body.lp footer .logo {
margin: 0 auto 3rem;
text-align: center;
}

body.lp footer .logo img {
}

@media only screen  and (min-width: 701px){
body.lp footer .logo img {
max-height: 4rem;
}
}

@media only screen  and (max-width: 600px){
body.lp footer .logo img {
max-height: 3rem;
}
}

body.lp footer .txt {
margin: 0 auto;
text-align: center;
color: #FFF;
}

body.lp footer .txt h2 {
font-weight: bold;
font-size: 100%;
margin-bottom: .5rem;
}

body.lp footer .txt p {
line-height: 2.2;
}





