/* HTML初期化 */
body {
	line-height: 1;
	margin: 0;
	padding: 0;
	zoom:1;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-weight:normal;
	font-style:normal;
}

p, dl, dt, dd, em, form, address,ul,li {
	margin: 0;
	padding: 0;
	font-style:normal;
}

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

fieldset {
	border:0;
	margin: 0;
	padding: 0;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

ul {
	list-style: none;
	padding: 0;
	margin: 0;
	border: 0;
}

li {
	padding: 0;
	margin: 0;
}

input, select {
	vertical-align: middle;
}

/* tableタグ*/
th,td{
	padding:0;
}

caption{
	text-align:left;
} 


/* リンク設定 */
a {
	outline:0;
	border:0;
	transition: all 0.3s ease;
}

@media screen and (max-width: 700px) {
a {
	transition:none;
}
}

a img {
	border:0;
}

img {
	border:0;
	max-width:100%;
	-webkit-backface-visibility: hidden;
}

html {
	-webkit-text-size-adjust: none;
	zoom:1;
}

body,html {
width: 100%;
height:100%;
}


/*============================================
基本CSS
===========================================*/
body {
font-family: AppleSystem, 'Roboto', 'ヒラギノ角ゴシック','Hiragino Sans', メイリオ, Meiryo, sans-serif;
color: #222;
font-feature-settings : "palt" 1;
letter-spacing: 0.05em;
}

@media screen and (max-width: 375px) {
body {
font-size: 0.9em;
overflow-x: hidden;
}
}

@media screen and (max-width: 320px) {
body {
font-size: 0.8em;
overflow-x: hidden;
}
}

.innerBox {
max-width: 1000px;
margin: auto;
overflow: hidden;
padding: 20px;
padding-bottom: 40px;
padding-top: 40px;
box-sizing: border-box;
}

.SP {
display: none;
}

@media screen and (max-width: 750px) {
.SP {
display: block;
}
.PC {
display: none;
}
}

/*============================================
プロテインバナー
===========================================*/
#protein_bnr {
	position: fixed;
	right: 0;
	top:50%;
	transform: translateY(-50%);
	z-index: 10;
	display: none;
}

#protein_bnr a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 750px) {
#protein_bnr {
	position: fixed;
	right: inherit;
	top:auto;
	left: 0;
	bottom:0;
	transform: none;
	width: 100%;
}
	#protein_bnr  img {
		display: block;
		width: 100%;
	}
}

/*============================================
Google翻訳
===========================================*/
#gLang {
background: #F1F1F1;
padding: 5px;
}

#google_translate_element .goog-te-gadget-simple {
border: 0;
}

#google_translate_element .goog-te-gadget-simple a {
border: 0;
}

@media screen and (max-width: 750px) {
#google_translate_element {
margin-top: 5px;
margin-bottom: 5px;
}
#google_translate_element .goog-te-gadget-simple {
width: 95%;
box-sizing: border-box;
padding-left: 10px;
border-radius: 3px;
position: relative;
}
#google_translate_element .goog-te-gadget-simple a {
display: block;
}
#google_translate_element span {
display: inline-block;
}

#google_translate_element span span {
border-left: 1px solid #FFF !important;
}

#google_translate_element span:first-child {
left: 20px;
top: 5px;
}
#google_translate_element span span:last-child {
position: absolute;
right: 10px;
}
}

/*============================================
ヘッダー
===========================================*/
header {
position: fixed;
top:0;
left: 0;
width: 100%;
box-sizing: border-box;
z-index: 10;
background: #FFF;
transition: all 0.3s ease;
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
}

header.scr {
box-shadow: 0 2px 3px rgba(0,0,0,0.15);
}

header.translateOn {
top: 40px;
}

@media screen and (max-width: 750px) {
header.translateOn {
top: 50px;
}
}

#header {
padding: 15px;
position: relative;
}

header h1 img {
height: 50px;
}

header nav {
position: absolute;
right: 15px;
top:48%;
transform: translateY(-50%);
}

header li {
float: left;
padding-left: 20px;
line-height: 1.5;
position: relative;
font-size: 0.85em;
cursor: pointer;
}

header li a {
cursor: pointer;
}

header li i.fa-caret-right,
header li i.fa-plus,
header li i.fa-minus{
display: none;
}

.menu_link {
position: absolute;
top:0;
left: 50%;
transform: translateX(-50%);
display: none;
}

.menu_link .menu_link_list {
margin-top: 40px;
position: relative;
background: #2e7d57;
padding: 20px;
padding-bottom: 15px;
box-shadow: 0 2px 3px rgba(0,0,0,0.3);
border-radius: 4px;
}

.menu_link .menu_link_list::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #2e7d57 transparent;
	position: absolute;
	top:-8px;
	left: 50%;
	transform: translateX(-50%);
}

.menu_link a {
display: block;
border-bottom: 0;
color: #FFF;
/*font-size: 0.9em;*/
font-weight: 500;
line-height: 2.4;
white-space: nowrap;
padding-bottom: 0;
text-align: left;
}
.menu_link a i {
display: inline-block;
padding-right: 5px;
transition: all 0.3s ease;
}
.menu_link a:hover {
text-decoration: underline;
}
.menu_link a:hover i {
padding-right: 3px;
padding-left: 2px;
}
.menu_link a span {
font-size: 0.8em;
}

@media screen and (max-width: 750px) {
.menu_link {
position: relative;
top:inherit;
left:inherit;
background: #2e7d57;
padding: 0;
box-shadow: none;
border-radius: 0;
padding-left: 10px;
padding-bottom: 10px;
padding-top: 5px;
margin-left: -20px;
transform: none;
}
.menu_link .menu_link_list {
	margin-top: 0;
	padding: 0;
	box-shadow: 0 0 0;
	}
	.menu_link .menu_link_list::before {
		content: none;
	}

.menu_link .triangle {
display: none;
}
.menu_link a {
padding-top: 5px;
font-size: 1em;
font-weight: 400;
}
.menu_link a i {
padding-right: 10px;
}
.menu_link a:hover {
text-decoration: none;
}
.menu_link a:hover i {
padding-right: 10px;
padding-left: 0;
}
}



header li a {
color: #222;
text-decoration: none;
border-bottom: 2px solid #FFF;
padding-bottom: 5px;
}

header li a:hover,
header li.Now a,
header li.Select em {
border-bottom: 2px solid #759270;
}

header li .menu_link a {
	border: 0;
}

header li.Select em {
padding-bottom: 3px;
}

header li.Eng a {
color: #759270;
}

header li.Eng a i {
padding-right: 3px;
}

header li.SNSicon {
font-size: 1.4em;
position: relative;
top:-5px;
}

header li.SNSicon span {
display: none;
}

header li.SNSicon .fa-facebook {
color: #3A5CA9;
}

header li.SNSicon .fa-youtube {
color: #F40103;
}

@media screen and (max-width: 1250px) {
header li {
padding-left: 15px;
}
header li.SNSicon {
font-size: 1.2em;
position: relative;
top:-3px;
}
}

@media screen and (max-width: 1150px) {
header h1 img {
height: 40px;
}
header li {
padding-left: 12px;
}
}

@media screen and (max-width: 1100px) {
header nav {
position: relative;
right:inherit;
top:inherit;
transform:none;
text-align: center;
}
header ul {
display: inline;
}
header li {
display: inline-block;
float: none;
	padding-top: 5px;
}
	header li.SNSicon {
top:2px;
}
}


header address {
/*background: #759270;*/
/*	background: #6B8466;*/
background: #759270;
padding: 10px;
color: #FFF;
text-align: center;
font-size: 0.8em;
font-weight: 300;
line-height: 1.5;
}

header address strong {
font-weight: 300;
font-size: 1.4em;
display: inline-block;
padding-left: 5px;
padding-right: 5px;
}

header address span {
font-size: 0.85em;
display: inline-block;
padding-right: 10px;
}

header address a {
display: inline-block;
padding: 5px;
padding-left: 10px;
padding-right: 10px;
font-weight: 500;
background: #FFF;
border-radius: 3px;
box-shadow: 0 2px 0 rgba(255,255,255,0.3);
color: #759270;
text-decoration: none;
position: relative;
top:-2px;
}

header address a:hover {
opacity: 0.7;
}

@media screen and (max-width: 900px) {
header h1 {
margin: auto;
text-align: center;
padding-bottom: 5px;
position: relative;
z-index: 0;
}
header h1 img {
height: 40px;
}
header nav {
position: relative;
right:inherit;
top:inherit;
transform:none;
text-align: center;
}
header ul {
display: inline;
}
header li {
display: inline-block;
float: none;
}
header li.SNSicon {
top:2px;
}
header address {
padding: 5px;
}
}

@media screen and (max-width: 950px) {
header address a {
display: none;
}
}

#SPmenu {
position: absolute;
top:50%;
transform: translateY(-50%);
right: 20px;
font-size: 2em;
display: none;
color: #759270;
z-index: 1;
}

#SPmenu i.fa-times {
display: none;
}

#SPmenu.open i.fa-times {
display: block;
}

#SPmenu.open i.fa-bars {
display: none;
}

@media screen and (max-width: 750px) {
header {
background: rgba(255,255,255,0.95);
}
header h1 {
text-align: left;
width: 80%;
margin: inherit;
}
header h1 img {
display: block;
}
#SPmenu {
display: block;
}
header nav {
position: absolute;
top:75px;
left: 0;
width: 100%;
box-sizing: border-box;
background: rgba(117,146,112,0.85);
text-align: left;
display: none;
height: calc(100dvh - 75px);
overflow: scroll;
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
}
header nav ul {
display: block;
padding-top: 10px;
padding-bottom: 10px;
}
header nav li {
display: block;
padding: 0;
position: relative;
color: #FFF;
font-size: 1em;
font-weight: 600;
}
header nav li.menu_btn,
header nav li a {
display: block;
border-bottom: 0;
color: #FFF;
line-height: 2.6em;
padding-left: 20px;
position: relative;
}

header li a:hover,
header li.Now a,
header li.Select em {
border-bottom: 0;
}

header nav li a:hover {
border-bottom: 0;
}
header li i.fa-caret-right {
display: inline-block;
padding-right: 10px;
}
header li i.fa-plus,
header li i.fa-minus {
position: absolute;
top:16px;
right: 20px;
transform: translateY(-50%);
display: block;
}

header li a i.fa-minus {
display: none;
}
header li.Eng a {
color: #FFF;
}
header li.Eng a i {
padding-right: 5px;
}
header li.SNSicon {
font-size: 0.9em;
position: relative;
top:0;
}
header li.SNSicon span {
display: inline-block;
}
header li.SNSicon .fa-facebook,
header li.SNSicon .fa-youtube {
color: #FFF;
}
header li.SNSicon i {
padding-right: 7px;
}
header address {
display: none;
}
header nav .address {
padding: 20px;
color: #FFF;
line-height: 1.7;
font-size: 0.85em;
text-align: center;
background: #006837;
letter-spacing: 0;
}
header nav .address strong {
display: block;
font-size: 1.6em;
font-weight: 300;
}
header nav .address strong a {
color: #FFF;
}
header nav .address span {
display: block;
font-size: 0.8em;
padding-bottom: 10px;
}
header .address div a {
display: block;
padding: 5px;
padding-left: 10px;
padding-right: 10px;
font-weight: 500;
background: #FFF;
border-radius: 3px;
box-shadow: 0 2px 0 rgba(255,255,255,0.3);
color: #006837;
text-decoration: none;
position: relative;
top:-2px;
}
}

/*============================================
メインビジュアル
===========================================*/
#mainImg {
padding-top: 130px;
position: relative;
z-index: 0;
max-height: 70vh;
overflow: hidden;
}

#mainImg h2 {
position: absolute;
z-index: 10;
bottom:15%;
left: 0;
text-align: center;
color: #FFF;
text-shadow: 0 2px 6px rgba(0,0,0,0.6);
line-height: 1.8;
width: 100%;
font-size:5vw;
font-weight: 200;
}

@media screen and (min-width: 1200px) {
#mainImg h2 {
font-size:3.7em;
}
}

#mainImg h2 span {
display: block;
font-size: 0.4em;
font-weight: 300;
}

#mainImg .SP {
display: none;
}

#mainImg h3 {
position: absolute;
z-index: 10;
top:150px;
right: 20px;
width: 30%;
max-width: 150px;
}

.slider {
z-index: 0;
}

.slider img {
width: 100%;
}

@media screen and (max-width: 1150px) {
#mainImg {
height:auto;
}
}

@media screen and (max-width: 980px) {
#mainImg {
padding-top: 120px;
}
}

@media screen and (max-width: 900px) {
#mainImg {
padding-top: 150px;
}
#mainImg h3 {
top:170px;
}
}

@media screen and (max-width: 830px) {
#mainImg {
padding-top: 170px;
}
#mainImg h3 {
top:190px;
}
}

@media screen and (max-width: 750px) {
#mainImg {
padding-top: 78px;
}
#mainImg .SP {
display: block;
}
#mainImg .PC {
display: none;
}
#mainImg h2 {
font-size:6vw;
bottom: 7%;
}
#mainImg h2 span {
font-size:0.6em;
line-height: 1.5;
padding-top: 5px;
}
#mainImg h3 {
top:100px;
}
}

/*============================================
メインビジュアル下のメニュー
===========================================*/
#topMenu {
max-width: 1000px;
margin: auto;
position: relative;
z-index: 1;
top:-53px;
padding-left: 20px;
padding-right: 20px;
}

#topMenu ul {
overflow: hidden;
background: #8BB683;
border-radius: 4px;
box-shadow: 0 2px 6px rgba(0,0,0,0.3);
padding: 5px;
}

#topMenu li {
width: calc(100%/6.01);
float: left;
text-align: center;
box-sizing: border-box;
font-size: 0.85em;
line-height: 1.7;
border-right: 1px solid rgba(255,255,255,0.3);
}

#topMenu li:last-child {
border-right: 0;
}

#topMenu li img {
display: block;
margin: auto;
max-width: 40%;
}

#topMenu li a {
color: #FFF;
text-decoration: none;
font-weight: 400;
display: block;
padding-bottom: 5px;
}

#topMenu li a:hover {
background: rgba(255,255,255,0.3);
border-radius: 3px;
}

@media screen and (max-width: 750px) {
#topMenu {
top:-3px;
padding-left: 0;
padding-right: 0;
}
#topMenu ul {
border-radius: 0;
padding: 0;
box-shadow:none;
}
#topMenu li {
width: calc(100%/3);
font-size: 0.75em;
border-bottom: 1px solid rgba(255,255,255,0.3);
}
#topMenu li.noBorder {
border-right: 0;
}
#topMenu li.noBorderBottom {
border-bottom: 0;
}
#topMenu li a {
font-weight: 500;
}
#topMenu li a:hover {
background: rgba(255,255,255,0.3);
border-radius: 0;
}
}



/*============================================
カレンダー
===========================================*/
#CalWrapper {
max-width: 1000px;
margin: auto;
position: relative;
overflow: hidden;
padding: 20px;
padding-bottom: 40px;
margin-top: -40px;
}

#CalWrapper h2 {
font-size: 0.9em;
text-align: center;
background: #666;
color: #FFF;
padding: 10px;
position: relative;
}

#CalWrapper th {
text-align: center;
font-size: 0.95em;
font-weight: 400;
padding: 10px;
width: calc(100%/7.01);
line-height: 2;
}

#CalWrapper th.sun {
color: red;
}

#CalWrapper th.sat {
color:royalblue;
}

#CalWrapper td {
text-align: center;
font-size: 1em;
font-weight: 400;
padding: 2px;
line-height: 2;
border: 3px solid #FFF;
}

#CalWrapper td a {
color: #222;
}

#CalWrapper td div {
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 7px;
line-height: 2.4em;
}

#CalWrapper td a {
text-align: center;
text-decoration: none;
border-bottom: 2px solid #222;
}

#CalWrapper td.today strong,
#CalWrapper td.today span {
box-sizing: border-box;
display: block;
padding: 7px;
line-height: 2.4em;
border: 1px solid #CCC;
	font-weight: 400;
}

#CalWrapper td.today {
font-weight: 700;
}

/* 休み */
#CalWrapper td.type01,
#CalWrapper div.type01{
background: #CCC;
color: #666;
}

/* イベント */
#CalWrapper td.type02,
#CalWrapper div.type02 {
background:#FF97D2;
}

/* 残りわずか */
#CalWrapper td.type03,
#CalWrapper div.type03 {
background:#FFB26B;
}

/* 予約不可 */
#CalWrapper td.type04,
#CalWrapper div.type04 {
background:#d0e8a9;
color: #111;
}

.calLeft {
width: 48%;
float: left;
}

.calRight{
width: 48%;
float: right;
}

@media screen and (max-width: 750px) {
#CalWrapper {
margin-top: 0;
}
.calLeft {
width: 100%;
float: none;
padding-bottom: 20px;
}
.calRight{
width: 100%;
float: none;
padding-bottom: 20px;
display: none;
}
#CalWrapper th {
padding: 1px;
font-size: 1em;
}
#CalWrapper td {
padding: 1px;
font-size: 1em;
}
#calNext {
font-size: 1.4em;
position: absolute;
top:50%;
transform: translateY(-50%);
right: 10px;
opacity: 0.7;
cursor: pointer;
}
#calPrev {
font-size: 1.4em;
position: absolute;
top:50%;
transform: translateY(-50%);
left: 10px;
opacity: 0.7;
cursor: pointer;
}
#CalWrapper td div {
padding: 0;
}
#CalWrapper td strong {
padding: 0;
}
}


/* 凡例 */
#calhanrei {
clear: both;
text-align: center;
font-size: 0.8em;
line-height: 1.6;
}

#calhanrei span {
display: inline-block;
padding-left: 5px;
padding-right: 3px;
}

#calhanrei .type01 {
color: #CCC;
}

#calhanrei .type02 {
color: #FF97D2;
}

#calhanrei .type03 {
color: #FFB26B;
}

#calhanrei .type04 {
color: #d0e8a9;
}

/*============================================
施術メニュー
===========================================*/
#sejutsuMenu {
background: #D7E9DA;
}

#sejutsuMenu h2 {
text-align: center;
font-size: 1.2em;
color: #3B7D8E;
font-weight: 500;
letter-spacing: 0.2em;
padding-bottom: 20px;
}

.sejutsuBox {
width: 47%;
}

.sejutsuBox.fLeft {
float: left;
margin-left: 10px;
}

.sejutsuBox.fCenter {
float: left;
margin-left: 3.4%;
}

.sejutsuBox.fRight {
float: right;
margin-right: 10px;
}

@media screen and (max-width: 750px) {
.sejutsuBox {
width: 100%;
margin-bottom: 15px;
}
.sejutsuBox.fLeft {
float:none;
margin: 0;
margin-bottom: 20px;
}
.sejutsuBox.fCenter {
float:none;
margin-left:0;
}
.sejutsuBox.fRight {
float: none;
margin: 0;
}
}


.sejutsuBox a {
display: block;
color: #222;
line-height: 1.7;
font-size: 0.85em;
text-decoration: none;
border-radius: 6px;
overflow: hidden;
background: #FFF;
}

.sejutsuBox a:hover {
	box-shadow: 0 0 8px rgba(0,0,0,0.2);
}

.sejutsuBox a img {
	transition: all 0.3s ease;
}

.sejutsuBox a:hover img {
transform: scale(1.05);
}

.sejutsuBox h3 {
color: #3B7D8E;
font-size: 1.4em;
font-weight: 500;
text-align: center;
}

.sejutsuBox p {
padding-bottom: 10px;
text-align: justify;
text-justify: inter-ideograph;
}

.sejutsuPhoto {
max-height: 280px;
overflow: hidden;
}

@media screen and (max-width: 750px) {
	.sejutsuPhoto {
		max-height: 200px;
	}
}

.sejutsuText {
padding: 15px 25px 25px;
}

.sejutsuText .moreBtn {
border: 1px solid #3B7D8E;
color: #3B7D8E;
padding: 5px;
text-align: center;
position: relative;
transition: all 0.3s ease;
}

.sejutsuBox a:hover .moreBtn {
background: #3B7D8E;
color: #FFF;
}

.sejutsuText .moreBtn i {
position: absolute;
right:5px;
top:50%;
transform: translateY(-50%);
}

/*============================================
お知らせ
===========================================*/
#topNews {
background: #7EB294;
}

#topNews h2 {
text-align: center;
font-size: 1.2em;
color: #FFF;
font-weight: 500;
letter-spacing: 0.2em;
padding-bottom: 20px;
}

.topNewsBox {
overflow: hidden;
line-height: 1.5;
font-size: 1em;
}

.topNewsBox a {
color: #222;
text-decoration: none;
display: block;
padding: 10px;
}

.topNewsBox a:hover {
background: rgba(255,255,255,0.3);
border-radius: 3px;
}

.topNewsBox dt {
width: 240px;
float: left;
font-size: 0.85em;
}

.topNewsBox dd {
margin-left: 240px;
}

.topNewsBox dt strong {
background: #FFF;
padding: 3px;
padding-left: 15px;
padding-right:15px;
border-radius: 3px;
color: #3B7D8E;
font-size: 0.9em;
position: relative;
top:-2px;
width: 80px;
display: inline-block;
text-align: center;
font-weight: 400;
margin-left: 20px;
}

.topNewsBox dd h3 {
display: inline-block;
font-size: 0.9em;
}

@media screen and (max-width: 750px) {
.topNewsBox a {
padding: 0;
font-size: 0.85em;
padding-bottom: 10px;
border-bottom: 1px solid rgba(255,255,255,0.3);
margin-bottom: 10px;
position: relative;
}
.topNewsBox a:hover {
background: none;
}
.topNewsBox dt {
width: 100%;
float: none;
padding-bottom: 5px;
font-size: 0.85em;
}
.topNewsBox dd {
margin-left: 0;
}
.topNewsBox dt strong {
position: absolute;
top:0;
right: 0;
font-size: 0.8em;
padding: 3px;
width:auto;
font-weight: 500;
}
.topNewsBox dd h3 {
display: inline-block;
font-size: 1.2em;
font-weight: 600;
}
}


#topNews .moreBtn {
max-width: 300px;
margin: auto;
clear:both;
padding-top: 20px;
}

#topNews .moreBtn a {
border: 1px solid #FFF;
display: block;
text-align: center;
color: #FFF;
text-decoration:none;
position: relative;
padding: 10px;
font-size: 0.85em;
}

#topNews .moreBtn a:hover {
background: #FFF;
color: #3B7D8E;
}

#topNews .moreBtn a i {
position: absolute;
right:10px;
top:50%;
transform: translateY(-50%);
}

/*============================================
店舗情報
===========================================*/

.AccessPh {
padding-top: 20px;
}

#topAccess h2 {
text-align: center;
font-size: 1.2em;
color: #759270;
font-weight: 500;
letter-spacing: 0.2em;
padding-bottom: 20px;
}

#topAccess h3 {
font-size: 1.4em;
color: #759270;
font-weight: 400;
padding-top: 20px;
}

#topAccess .moreBtn {
padding-top: 20px;
padding-bottom: 10px;
max-width: 250px;
margin: auto;
}

#topAccess .moreBtn a {
background:#FD7215;
color: #FFF;
text-decoration: none;
padding: 5px;
display: block;
text-align: center;
border-radius: 4px;
box-shadow: 0 2px 0 rgba(253, 114, 21, 0.3)
}

#topAccess .moreBtn a i {
color: #FFF;
padding-right: 5px;
}

.topAccessRight {
line-height: 2.2;
font-size: 0.85em;
text-align: center;
}

.topAccessRight ul {
text-align: left;
padding: 10px;
padding-left:20px;
padding-bottom: 20px;
max-width: 1000px;
margin: auto;
box-sizing: border-box;
}

.topAccessRight strong {
background: #759270;
color: #FFF;
padding-left: 5px;
padding-right: 5px;
display: inline-block;
margin-right: 5px;
border-radius: 3px;
font-size: 0.9em;
line-height: 1.8;
}

@media screen and (max-width: 750px) {
.topAccessLeft {
width: 100%;
float: none;
padding-bottom: 10px;
}
.topAccessRight {
width: 100%;
float: none;
padding: 20px;
padding-top: 0;
box-sizing: border-box;
line-height: 1.8;
}
.topAccessRight  ul {
padding: 0;
}
}

@media screen and (max-width: 320px) {
.topAccessRight {
font-size: 0.75em
}
}

.topAccessRight a {
color: #759270;
}

.topAccessRight ul {
padding-top: 20px;
font-size: 0.9em;
padding-left: 1em;
text-indent: -1em;
line-height: 1.6;
}

.topAccessRight li {
padding-bottom: 5px;
}

/*============================================
フッター
===========================================*/
footer {
padding: 30px;
color: #FFF;
background: #759270;
position: relative;
}

@media screen and (max-width: 750px) {
footer {
padding-bottom: 130px;
}
}

footer p {
	text-align: right;
	font-weight: 300;
	font-size: 0.75em;
}

@media screen and (max-width: 750px) {
footer p {
text-align: center;
}
}

footer ul {
	position: absolute;
	left: 30px;
	top:50%;
	transform: translateY(-50%);
	font-size: 0.8em;
}

footer ul a {
	color: #FFF;
	text-decoration: none;
}

footer ul a i {
	padding-right: 5px;
}

footer ul li {
	float: left;
	padding-right: 30px;
}

@media screen and (max-width: 750px) {
footer ul {
	position: relative;
	left: inherit;
	top:inherit;
	transform: none;
	font-size: 0.8em;
	text-align: center;
	padding-bottom: 20px;
}
	footer ul li {
	float: none;
	padding-right: 0;
		display: inline-block;
		padding: 10px;
}
}

/*============================================
ページの先頭に戻る
===========================================*/
#BackToTop {
position: fixed;
left: 50%;
bottom:20px;
transform: translateX(-50%);
}

#BackToTop a {
width: 60px;
height: 60px;
display: block;
opacity: .7;
background: url("../img/to_top_icon.png") no-repeat 0 0;
background-size: cover;
cursor: pointer;
transition: all 0.3s ease;
}

#BackToTop a:hover {
opacity: 1;
}

@media screen and (max-width: 750px) {
#BackToTop {
position: fixed;
left: inherit;
	right: 20px;
bottom:20px;
transform:none;
}

#BackToTop a {
width: 40px;
height: 40px;
}
}

/*==========================
20240306
==========================*/
.line_bnr {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
	.line_bnr {
		position: fixed;
		right: auto;
		left: 15px;
		top: auto;
		bottom: 20px;
		transform: translateY(0);
		width: calc(100% - 30px);
	}
}

.line_bnr .PC {
	background-color: #39B54A;
	border-radius: 10px 0 0 10px;
	overflow: hidden;
	box-shadow: 0 0 6px rgba(0,0,0,0.4);
}

.line_bnr .SP {
	background-color: #39B54A;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 0 6px rgba(0,0,0,0.4);
}

.line_bnr a {
	display: block;
}

.line_bnr a:hover {
	opacity: 0.7;
}

.line_bnr .PC a {
	width: 60px;
}

.line_bnr .PC a:hover {
	padding-right: 10px;
}

.line_bnr img {
	display: block;
	max-width: 100%;
}