@charset "utf-8";

@-ms-viewport
{
    width: auto;
    initial-scale: 1;
}
@viewport
{
    width: device-width;
    initial-scale: 1;
}
/*base*/
body {
	font-family: 'Helvetica','Arial','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic', sans-serif !important;
	/*font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;*/
	margin: 0;
	padding: 0;
    /*background: var(--color-bg);*/
    color: var(--color-text);
    line-height: 1.5;
    overflow-x: hidden;
    background: #fff !important;
}
body a {
	transition: 0.5s all;
	-webkit-transition: 0.5s all;
	-moz-transition: 0.5s all;
	-o-transition: 0.5s all;
	-ms-transition: 0.5s all;
}
body a:focus {
    outline: none;
}

body a:focus,
body a:focus-visible,
body button:focus,
body button:focus-visible {
  outline: none !important;
}

*, *::before, *::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  overflow-y: visible;
}

:root {
  --color-primary: #ffc700;
  --color-primary-dark: #dfaf00;
  --color-bg: #fafafa;
  --color-surface: #f5f5f5;
  --color-surface-2: #fff9e6;
  --color-text: #333;
  --color-muted: #666;
  --color-border: #a5a5a5;
  --color-white: #fff;
  --color-danger: #c80000;
  --color-danger-dark: #d10000;
  --color-overlay: rgba(0, 0, 0, 0.28);
  --color-shadow: rgba(0, 0, 0, 0.14);

  --header-height: 72px;
  --drawer-width: 340px;
  --container-width: 1020px;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;

  --shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.08);
  --shadow-md: 2px 2px 2px rgba(0, 0, 0, 0.14);

  --transition: 0.3s ease;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
}
/*a:link { color:#333; }*/
a:visited{color:unset;}
a{color: #0047bb;}
a:hover, a:active, a:focus{color:#0047bb;}
li{
	list-style-type:none;
}
.inline{
	display:inline;
}
.fa {
　display: inline-block;
　font: normal normal normal 16px/1 FontAwesome;
　font-size: inherit;
　text-rendering: auto;
　-webkit-font-smoothing: antialiased;
　-moz-osx-font-smoothing: grayscale;
　transform: translate(0, 0);
  text-align: center;

}

/* 2020rn add s ベースのフォントサイズをECサイトと合わせる */
@media print,screen and (min-width: 641px) {
  html,body {font-size:16px;}
}
@media screen and (max-width: 640px) {
  html,body {font-size:15px;font-size:2.3vw;}
}
@media screen and (max-width: 400px) {
  html,body {font-size:14px;font-size:3.7vw;}
}
/* 2020rn add e ベースのフォントサイズをECサイトと合わせる */

/*------------共通クラス------------*/
.mgl10{
	margin-left: 10px;
}
.mgr10{
	margin-right: 10px;
}
.mgt10{
	margin-top: 10px;
}
.mgt40{
	margin-top: 40px;
}
.pl10{
	padding-left: 10px;
}
.pl20{
	padding-left: 20px;
}
.w100{
	padding-top: 10px;
	width:100%;
	height: auto;
}
.w98{
	padding-top: 10px;
	width:1649px;
	height: auto;
	margin: 0 auto;
}
.t_center{
	text-align: center !important;
}
.t_left{text-align: left !important;
}

/*見出しタイトル*/
.ttl{
	margin: 0;
	font-size: 36px;
	color: #555;
	text-align: center;
}
/*ボックス用スタイル*/
.h-grid3-all {
    background: #dab356;
	float: left;
    padding: 5px;
    text-align: center;
	margin-bottom: 10px;
    height: 86px;
    width: 12%;
	box-sizing: border-box;
}
.h-grid3-all:hover {
    background: #FFBF3F;
    transition: all 0.5s ease 0s;
}
.col-md-offset-1 a{
	color:#333;
	cursor: pointer;
	display: block;
}
.h-grid3-padding h4 {
    color: #333 !important;
    font-size: 14px !important;
    padding-bottom: 6px;
	font-weight: bold;
	opacity: 1.0 !important;
}
.h-grid3-padding p {
    color: #333;
    font-size: 16px;
    letter-spacing: 0.4px;
    line-height: 24px;
    padding: 0 16px;
}
.newsbox h4 a{
	text-decoration:underline;
}
.newsbox ul li:nth-child(3){
	height:90px;
}
/*---------メディアクエリここから----------*/
@media (max-width: 320px) {
.newsbox ul li:nth-child(3){
	height:116px;
}
.newsbox {
height: auto;
min-height: 2700px;
overflow: auto;
}
.newsbox h4{
	color: #555;
	font-size: 20px;
	font-weight: bold;
	margin: 5px 0;
}
.newsbox ul li{
	margin:0;
	padding: 0;
}
.userinfo{
	clear: both;
	height: auto;
	position:absolute;
	top:65px;
	left:0;
	color: #fff;
	font-size: 75%;
	font-weight: bold;
}
.header-fixed .userinfo{
	clear: both;
	height: auto;
	position:absolute;
	top:60px;
	left:0;
	color: #fff;
	font-size: 75%;
	font-weight: bold;
}
.h-grid3-all{
	width:20.7%;
	box-sizing: border-box;
}
.h-grid3-all h4{
	font-size: 85%;
	color: #333 !important;
	opacity: 1.0 !important;
}
.full-grid {
	padding: 0 10px;
	width: 100%;
}

.caption h3 {
	font-size: 23px;
}
.header-left a {
	padding: 3px 7px;
	font-size: 21px;
}
.navbar-toggle {
	padding: 0;
	/* width: 50px; */
	/* height: 37px; */
}
button.navbar-toggle {
	margin: -31px 5% 0 0;
}
.caption p {
	font-size: 13px;
}
.banner {
	min-height: 219px;
}
.caption {
	margin-top: 46px;
}
a.morebtn {
	padding: 3px 14px;
}

.we-focus, .about, .team, .camps, .typrography, .gallery, .contact {
	padding: 35px 0;
}
.focus-grid h3, h3.tittle, .gallery h3, .contact-form h3 {
	font-size: 22px;
}

.pop-desc {
	padding: 7px 0;
}
.focus-grid {
	float: left;
	width: 100% !important;
	padding: 0;
}

.footer-grid {
	float: left;
	width: 100%;
	padding: 0;
}
.footer-grid:nth-child(2) {
	min-height: inherit;
}
.footer-grid:nth-child(2), .footer-grid:nth-child(3) {
	margin-top: 30px;
}
.copy-right {
	padding: 11px 0;
}
.fifth-effect .mask {
	border: 6px solid rgba(255,255,255,0.50);
	;
}
h3.tittle.mid {
	font-size: 19px;
}
.cam-top iframe {
	height: 219px;
}
.sub-text p {
	margin: 2px 0 0px 0;
	font-size: 13px;
}
.sub-img {
	float: left;
	width: 27%;
}
.sub-text {
	width: 70%;
}
.da-thumbs li {
	width: 100%;
	margin: 5px 0;
}
.da-thumbs li a div h5 {
	margin: 2.2em 0 0 0;
}
.page-head {
	min-height: 43px !important;
}
.table td, .table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
	padding: 11px!important;
}
.contact-grid {
	float: left;
	width: 100%;
}
.contact-grid:nth-child(3), .contact-grid:nth-child(2) {
	margin-top: 30px;
}
.nav li a{
   padding: 3% 0 !important;
   height:40px;
   width:100%;
   display:block;
}
.nav br{
   display: none;
}
.nav i{
   display:inline;
}
.newsbox ul li{
	margin: 0;
	padding: 0;
}
}
/*---------メディアクエリここから----------*/
@media (max-width: 480px) {
.newsbox ul li:nth-child(3){
	height:120px;
	display: inline-block;
}
.newsbox{
	height:2850px;
}
.newsbox img{
	margin: 0 0 0 -13px !important;
}

.newsbox h4{
	color: #555;
	font-size: 20px;
	font-weight: bold;
	padding: 5px 0 ;
}
.nav{
	margin:33px 0 0 0;
	}
.nav li a{
   padding: 3% 0 !important;
   height:40px;
   width:100%;
   display:block;
}
.userinfo{
	clear: both;
	height: auto;
	position:absolute;
	top:50px;
	left:0;
	color: #fff;
	font-size: 75%;
	font-weight: bold;
}
.newsbox ul li{
	margin:0;
	padding: 0;
}
.full-grid {
	padding: 0;
	width: 100%;
}
.nav br{
	display:none;
}
.ttl{font-size: 25px;}
.h-grid3-all{
	width:21.7%;
	box-sizing: border-box;
}
.h-grid3-all:nth-child(even){
margin:0 10px 10px 0;
}

.nav_ttl{
		clear: both;
		font-size:100%;
}

.we-focus, .about, .team, .camps, .typrography, .gallery, .contact, .support, .buttonbox, .support-about {
	padding: 45px 0;
}
.focus-grid h3, h3.tittle, .gallery h3, .contact-form h3 {
	font-size: 25px;
}
.col-md-6.focus-grid {
	float: left;
	width: 100%;
	padding: 0 5px;
}
.col-md-3.focus-grid {
	float: left;
	width: 50%;
	padding: 0 5px;
}
.focus-grid:nth-child(4), .focus-grid:nth-child(5), .focus-grid:nth-child(6), .focus-grid:nth-child(7), .focus-grid:nth-child(3), .focus-grid:nth-child(2) {
	margin: 25px 0 0 0;
}
.full-grid {
	padding: 0 5px;
	width: 100%;
}
.full-left .glyphicon-music, .full-left .glyphicon-film, .full-left .glyphicon-play {
	font-size: 35px;
}
.full-right h3 {
	margin: 12px 0 0 0;
	font-size: 17px;
}
.full-grid:nth-child(2) {
	margin: 30px 0;
}
.full {
	padding-top: 45px;
}
.full {
	min-height: 582px;
}
.footer-grid input[type="email"] {
	width: 62%;
}
.header-left a {
	font-size: 24px;
}
.about-top-left {
	float: left;
	width: 100%;
	padding: 0;
}
.about-top-right {
	float: left;
	width: 100%;
	padding: 0;
	margin-top: 30px;
}
.about-top-right h4 {
	font-size: 18px;
}
.view-grid {
	float: left;
	width: 50%;
	padding: 5px;
}
.fifth-effect .mask {
	border: 22px solid rgba(255,255,255,0.50);
}
.cam-top {
	float: left;
	width: 100%;
	padding: 0;
}
.cam-top-text {
	margin-top: 30px;
	float: left;
	width: 100%;
	padding: 0;
}
.sub-text a {
	font-size: 17px;
}
.sub-text p {
	margin: 9px 0 0px 0;
	font-size: 13px;
}
.da-thumbs li {
	width: 49.2%;
}
.cam-top iframe {
	height: 233px;
}
}

/*---------メディアクエリここから----------*/
@media (max-width: 1024px) {
.navigation {
	margin-top: 9px;
	float: right;
	z-index: 1;
}
.userinfo{
	clear: both;
	height: auto;
	position:absolute;
	top:134px;
	left:213px;
	color: #fff;
	font-weight: bold;
	z-index:100;
	font-size: 75%;
}
.ttl{font-size: 32px;}
.header-left a {
	font-size: 34px;
}
.navbar-default .navbar-nav > li > a {
	padding: 8px 17px;
	font-size: 16px;
}
.navigation {
	margin: 6px 0 0 0;
}

a.morebtn {
	font-size: 14px;
	padding: 7px 22px;
}
.banner {
	min-height: 520px;
}

.we-focus, .camps, .typrography, .gallery, .contact {
	padding: 70px 0;
}
.pop-desc p {
	font-size: 16px;
}
.focus-grid h3 span {
	font-size: 16px;
}
.focus-image .glyphicon-music, .focus-image .glyphicon-film, .focus-image .glyphicon-volume-up, .focus-image .glyphicon-play, .focus-image .glyphicon-headphones, .focus-image .glyphicon-facetime-video {
	font-size: 45px;
}
.focus-layout h4 {
	font-size: 16px;
}
.full-left .glyphicon-music, .full-left .glyphicon-film, .full-left .glyphicon-play {
	font-size: 44px;
}
.full-right h3 {
	margin: 15px 0 0 0;
	font-size: 19px;
}
.full {
	padding-top: 70px;
}
.full {
	min-height: 398px;
}
.full-grid a {
	font-size: 14px;
	padding: 0;
}
.footer-grid h3 {
	font-size: 26px;
}
.footer-grid h4 {
	margin: 0 0 22px 0;
}
.about-top-right p {
	margin: 7px 0 0px 0;
}
.about-top-right h4 {
	font-size: 19px;
	color: #F80093;
}
.fifth-effect .mask {
	border: 10px solid rgba(255,255,255,0.50);
}
.sub-text a {
	font-size: 16px;
}
.sub-text {
	width: 77%;
	float: right;
}
.cam-top-text {
	padding-left: 0;
}
.sub-text p {
	font-size: 13px;
}
.cam-top iframe {
	height: 283px;
}
.sub-cam-top:nth-child(3) {
	margin: 0;
}
.footer-grid ul li {
	font-size: 13px;
}
.page-head {
	min-height: 112px !important;
}
.view-grid {
	float: left;
	width: 25%;
	padding-top: 10px;
}
}
/*---------メディアクエリここから----------*/
@media (max-width: 800px) {
.navigation {
	margin-top: 9px;
	float: none;
	z-index: 1;
}
.ttl{font-size: 29px;}
.full-grid {
	padding: 0;
	width: 100%;
}

.header-left a {
	font-size: 26px;
}
.navbar-default .navbar-nav > li > a {
	padding: 5px 12px;
	font-size: 14px;
}
.navigation {
	margin-top: 4px;
}

.we-focus, .about, .team, .camps, .typrography, .gallery, .contact {
	padding: 60px 0;
}
.focus-grid {
	float: left;
	width: 50%;
}
.focus-grid {
	float: left;
	width: 50%;
}
.focus-grid:nth-child(4), .focus-grid:nth-child(5), .focus-grid:nth-child(6), .focus-grid:nth-child(7), .focus-grid:nth-child(3) {
	margin: 30px 0 0 0;
}
.focus-grid p {
	font-size: 13px;
}
.full {
	padding-top: 60px;
}

.full-grid p {
	font-size: 13px;
}
.full-left .glyphicon-music, .full-left .glyphicon-film, .full-left .glyphicon-play {
	font-size: 28px;
}
.full-left {
	float: left;
	width: 16%;
}
.full-right {
	float: left;
	width: 84%;
}
.full-right h3 {
	margin: 7px 0 0 0;
	font-size: 15px;
}
.full {
	min-height: 350px;
}
.footer-grid {
	float: left;
	width: 25%;
}
.footer-grid h4 {
	margin: 0 0 30px 0;
	font-size: 16px;
}
.footer-grid ul li {
	font-size: 11px;
}
.footer-grid {
	float: left;
	width: 25%;
	padding: 0 5px;
}
.footer-grid input[type="email"] {
	padding: 8px;
	width: 74%;
}
.footer-grid h3 {
	font-size: 20px;
}
.footer {
	padding: 45px 0;
}
.full-grid p {
	margin: 10px 0 14px 0;
}
.about-top, .main, .cam-top-top, .grid_4, .gallery ul, .map {
	margin-top: 35px;
}

.about-top-right p {
	font-size: 13px;
}
.about-top-right h4 {
	font-size: 17px;
}
.view-grid {
	float: left;
	width: 25%;
	padding-top: 10px;
}
.cam-top {
	float: left;
	width: 50%;
}
.cam-top-text {
	float: left;
	width: 50%;
}
.sub-img {
	float: left;
	width: 19%;
}
.sub-text {
	width: 78%;
}
.sub-text a {
	font-size: 15px;
}
.sub-text p {
	font-size: 12px;
}
.cam-top iframe {
	height: 259px;
}
.footer-grid h3 {
	margin: 39px 0 0px 0;
}
.footer-grid h4 {
	margin: 0 0 15px 0;
}
}
/*---------メディアクエリここから----------*/
@media (max-width: 640px) {
.navigation {
	margin-top: 9px;
	float: right;
	z-index: 1;
}
.userinfo{
	clear: both;
	height: auto;
	position:absolute;
	top:50px;
	left:0;
	color: #fff;
	font-size: 75%;
	font-weight: bold;
}
.ttl{font-size: 27px;}
.page-head {
	min-height: 70px !important;
}
.full-grid {
	padding: 0;
	width: 100%;
}

.navigation {
	margin-top: 0px;
}
.navbar-toggle {
	padding: 9px 10px;
	margin: -44px 5% 0 0;
	border-radius: 4px;
}
.navbar-default .navbar-toggle {
	border-color: #000;
}

.focus-grid h3, h3.tittle, .gallery h3, .contact-form h3 {
	font-size: 27px;
}
.we-focus, .about, .team, .camps, .typrography, .gallery, .contact {
	padding: 50px 0;
}
.pop-desc p {
	font-size: 14px;
}
.pop-desc {
	padding: 7px 0;
}
.navbar-nav {
	float: none;
	width: 100%;
	text-align: center;
}
.navigation {
	width: 100%;
}
.navbar-default .navbar-collapse, .navbar-default .navbar-form {
	border: none;
}
button.navbar-toggle {
	margin: -37px 5% 0 0;
}

.navbar-toggle {
	background: #999933;
}
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
	background: #999933;
}
.navbar-nav {
	margin: 33px 0 0 0;
}
.navbar-collapse {
	padding: 0;
}
.full-left .glyphicon-music, .full-left .glyphicon-film, .full-left .glyphicon-play {
	font-size: 20px;
}
.full-right h3 {
	margin: 5px 0 0 0;
	font-size: 13px;
}
.full-grid p {
	margin: 4px 0 9px 0;
	line-height: 1.7em;
}
.footer-grid {
	float: left;
	width: 50%;
}
.footer-grid h4 {
	margin: 0 0 16px 0;
}
.footer-grid:nth-child(2) {
	min-height: 139px;
}
.footer-grid:nth-child(3), .footer-grid:nth-child(4) {
	margin-top: 5px;
}
.footer-grid h3 {
	font-size: 24px;
}
.full-grid {
	padding: 0 10px;
	margin: 0;
}
.full-grid a {
	font-size: 13px;
	padding: 4px 13px;
}
.footer {
	padding: 35px 0;
}
a.morebtn {
	font-size: 13px;
	padding: 5px 16px;
}
.about-top, .main, .cam-top-top, .grid_4, .gallery ul, .map {
	margin-top: 30px;
}
.about-top-left {
	float: left;
	width: 54%;
	padding: 0 10px;
}
.about-top-right {
	padding: 0 10px 0 10px;
}
.view-grid {
	float: left;
	width: 25%;
	padding: 10px;
}
.cam-top {
	float: left;
	width: 46%;
	padding: 0 10px;
}
.cam-top-text {
	float: left;
	width: 54%;
	padding: 0 10px 0 0;}
 .sub-img {
 float: left;
 width: 17%;
}
.sub-text {
	width: 81%;
}
.sub-text p {
	margin: 2px 0 0px 0;
}
.sub-cam-top {
	margin-bottom: 22px;
}
.cam-top iframe {
	height: 225px;
}
}


.subttl {
	text-align: center;
	font-size: 14px;
	color: #555;
}
/*-- header --*/
.header {
	background: #666633;
	padding: 20px 0px;
	border-bottom:4px solid #999933;
}
.userinfo{
	float: left;
	height: auto;
	position: absolute;
	left: 10px;
	top: 60px;
	color: #fff;
	font-weight: bold;
	z-index: 100;
	font-size: 75%;
}
.header-left {
	float: left;
}
.header-left a {
	text-decoration: none;
	padding: 0 10px;
}
.navbar-default {
	background: none;
	border: none;
}
.navbar {
	margin-bottom: 0;
	min-height: 0;
	border-radius: 0;
}
.navbar-default .navbar-nav > li > a {
	padding: 0 20px;
	color: #fff;
	font-size: 18px;
}
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
	color: #fff;
	background-color: transparent;
}
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
	color: #fff;
	background: #999933;
}
.navbar li ul li a {
	background: none repeat scroll 0 0 #222;
	min-width: 100%;
	padding: 0.625em;
}
.navbar li a:hover, .aside-nav li a:hover {
	background: #999;
}
.navbar li ul {
	display: none;
}
.navbar li ul li {
	float: none;
	list-style: none outside none;
	min-width: 100%;
	padding: 0;
}
.nav_ttl{
		clear: both;
		font-size:60%;
}
/* To Bottom */
.hvr-bounce-to-bottom {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	-webkit-transition-property: color;
	transition-property: color;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}
.hvr-bounce-to-bottom:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #999933;
	-webkit-transform: scaleY(0);
	transform: scaleY(0);
	-webkit-transform-origin: 50% 0;
	transform-origin: 50% 0;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}
.hvr-bounce-to-bottom:hover, .hvr-bounce-to-bottom:focus, .hvr-bounce-to-bottom:active {
	color: white;
}
.hvr-bounce-to-bottom:hover:before, .hvr-bounce-to-bottom:focus:before, .hvr-bounce-to-bottom:active:before {
	-webkit-transform: scaleY(1);
	transform: scaleY(1);
	-webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
	transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
/*-- //header --*/

.full {
	background: url(../images/banner2.jpg) no-repeat 0px 0px;
	background-size: cover;
	-webkit-background-size: cover;
	-o-background-size: cover;
	-ms-background-size: cover;
	-moz-background-size: cover;
	min-height: 410px;
}

a.morebtn {
	text-decoration: none;
	font-size: 16px;
	color: #000;
	padding: 7px 50px;
	background: hsla(0,0%,100%,0.4);
	border:1px solid #333;
}
/*-- full --*/
.full {
	padding-top: 80px;
}
.full-left {
	float: left;
	width: 20%;
}
.full-right {
	float: left;
	width: 80%;
}
.full-left .glyphicon-music, .full-left .glyphicon-film, .full-left .glyphicon-play {
	font-size: 48px;
	color: #f4e14b;
}
.full-right h3 {
	margin: 8px 0;
	font-size: 18px;
	color: #333;
	font-weight: bold;
}
.full-grid p {
	font-size: 14px;
	margin: 20px 0 25px 0;
	color: #fff;
	line-height: 1.8em;
}

.full-grid .read-more2 {
	clear: both;
	text-decoration: none;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	padding: 7px 25px;
	background: #dab356;
	cursor: pointer;
	margin: 10px 0 0 0;
	float: right;
}
a.hvr-bounce-to-bottom.read-more2:before,
a.hvr-bounce-to-bottom.read-more:before {
	background: #919D9D;
}
/*-- //full --*/
/*-- footer --*/
.footer-grid input[type="email"] {
	background: #fff;
	border: none;
	width: 81%;
	outline: none;
	padding: 10px;
	font-size: 13px;
	color: #c4c4c4;
}
.footer {
	background: #e0e1e3;
	padding: 40px 0;
}
.footer-grid h4 {
	margin: 0 0 30px 0;
	font-size: 20px;
	color: #fff;
}
.footer-grid h3 {
	margin: 30px 0 0px 0;
	font-size: 32px;
	color: #fff;
}
.footer-grid h3 a {
	color: #fff;
	text-decoration: none;
}
.footer-grid h3 a:hover {
	color: #fff;
}
.footer-grid ul {
	margin: 0;
	padding: 0;
}
.footer-grid ul li {
	list-style-type: none;
	font-size: 14px;
	color: #333;
	line-height: 2em;
	font-weight: 600;
}
.footer-grid ul li a {
	text-decoration: none;
	color: #fff;
}
.footer-grid ul li a:hover {
	color: #333;
	text-decoration: underline;
}
.copy-right {
	background: #919D9D;
	padding: 17px 0;
}
.copy-right p {
	text-align: left;
	margin: 0 ;
	font-size: 13px;
	color: #fff;
}
.copy-right p a {
	text-decoration: none;
	color: #333;
}
.copy-right p a:hover {
	color: #40c8f4;
}
/*-- //footer --*/

.page-head {
	min-height: 128px !important;
}
.about-top, .main, .cam-top-top, .grid_4, .gallery ul, .map, .full, .president-message {
	margin-top: 80px;
}
.team {
	background: #FFF;
}

.cam-top iframe {
	height: 325px;
	width: 100%;
}
.subtitle.center {
	text-align: center;
	font-size: 14px;
	color: #A6A4A4;
}
/*---------メディアクエリここから----------*/
@media (min-width: 800px) {
.userinfo{
	clear: both;
	height: auto;
	position:absolute;
	top:116px;
	left:8px;
	color: #fff;
	font-weight: bold;
	z-index:100;
	font-size: 75%;
}

.page-head {
	min-height: 84px !important;
}
.header-left a {
	font-size: 26px;
}
.navbar-default .navbar-nav > li > a {
	padding: 5px 12px;
	font-size: 16px;
}
.navigation {
	margin-top: 4px;
}
.we-focus, .about, .team, .camps, .typrography, .gallery, .contact {
	padding: 60px 0;
}
.focus-grid h3, h3.tittle, .gallery h3, .contact-form h3 {
	font-size: 29px;
}

.focus-grid {
	float: left;
	width: 50%;
}
.focus-grid {
	float: left;
	width: 50%;
}
.focus-grid:nth-child(4), .focus-grid:nth-child(5), .focus-grid:nth-child(6), .focus-grid:nth-child(7), .focus-grid:nth-child(3) {
	margin: 30px 0 0 0;
}
.focus-grid p {
	font-size: 13px;
}
.full {
	padding-top: 60px;
}

.full-grid p {
	font-size: 13px;
}
.full-left .glyphicon-music, .full-left .glyphicon-film, .full-left .glyphicon-play {
	font-size: 28px;
}
.full-left {
	float: left;
	width: 16%;
}
.full-right {
	float: left;
	width: 84%;
}
.full-right h3 {
	margin: 7px 0 0 0;
	font-size: 15px;
}
.full {
	min-height: 350px;
}
.footer-grid {
	float: left;
	width: 25%;
}
.footer-grid h4 {
	margin: 0 0 30px 0;
	font-size: 16px;
}
.footer-grid ul li {
	font-size: 11px;
}
.footer-grid {
	float: left;
	width: 25%;
	padding: 0 5px;
}
.footer-grid input[type="email"] {
	padding: 8px;
	width: 74%;
}

.footer-grid h3 {
	font-size: 20px;
}
.footer {
	padding: 45px 0;
}
.full-grid p {
	margin: 10px 0 14px 0;
}
.about-top, .main, .cam-top-top, .grid_4, .gallery ul, .map {
	margin-top: 35px;
}

.about-top-right p {
	font-size: 13px;
}
.about-top-right h4 {
	font-size: 17px;
}
.view-grid {
	float: left;
	width: 25%;
	padding-top: 10px;
}
.fifth-effect .mask {
	border: none
}
.cam-top {
	float: left;
	width: 50%;
}
.cam-top-text {
	float: left;
	width: 50%;
}
.sub-img {
	float: left;
	width: 19%;
}
.sub-text {
	width: 78%;
}
.sub-text a {
	font-size: 15px;
}
.sub-text p {
	font-size: 12px;
}
.cam-top iframe {
	height: 259px;
}
.da-thumbs li a div h5 {
	margin: 1.2em 0 0 0;
}
.da-thumbs li a div span {
	margin: 0px 9px 0px 9px;
	font-size: 13px;
}
}

/*---------メディアクエリここから----------*/
@media (min-width: 768px) {
.navigation {
	margin-top: 9px;
	float: none;
	z-index: 1;
}
.navigation:after{
	clear:both;
}
.newsbox ul li:nth-child(3){
	height:96px;
}
.newsbox ul li{
	margin: 0;
	padding: 0;
}
.userinfo{
	clear: both;
	height: 2em;
	position:absolute;
	bottom:10px;
	left:8px;
	color: #fff;
	font-weight: bold;
	font-size: 75%;
}
.header-fixed .userinfo{
	clear: both;
	height: auto;
	position:absolute;
	top:60px;
	left:8px;
	color: #fff;
	font-weight: bold;
	z-index:100;
	font-size: 75%;
}
.nav{
    margin-top: 32px;
    width: 100%;
}
.collapse.in {
    display: block !important;
    float: none !important;
    width: 667px !important;
}
.h-grid3-all{
	width:12%;
	height: 74px;
	box-sizing: border-box;
}
.col-lg-12 {
	padding: 3px;
}
.newsbox h4{
	color: #555;
	font-size: 20px;
	font-weight: bold;
	padding: 5px 0;
}
}
/*---------メディアクエリここから----------*/
@media (min-width: 800px) {
.navigation {
	margin-top: 9px;
	float: right;
	z-index: 1;
}
.userinfo{
	clear: both;
	height: auto;
	position:absolute;
	top:100px;
	left:8px;
	color: #fff;
	font-weight: bold;
	z-index:100;
	font-size: 75%;
}
.header-fixed .userinfo{
	clear: both;
	height: auto;
	position:absolute;
	top:60px;
	left:8px;
	color: #fff;
	font-weight: bold;
	z-index:100;
	font-size: 75%;
}
.newsbox h4{
	color: #555;
	font-size: 20px;
	font-weight: bold;
	margin: 5px 0;
	padding: 0;
}
}
/*---------メディアクエリここから----------*/
@media (min-width: 980px) {
.navigation {
	margin-top: 9px;
	float: right;
	z-index: 1;
}
.userinfo{
	clear: both;
	height: auto;
	position:absolute;
	top:60px;
	left:8px;
	color: #fff;
	font-weight: bold;
	z-index:100;
	font-size: 75%;
}
.nav{width:700px;}
.newsbox h4{
	color: #555;
	font-size: 20px;
	font-weight: bold;
}
}
/*---------メディアクエリここから----------*/
@media (min-width: 1280px) {
.navigation {
	margin-top: 9px;
	float: right;
	z-index: 1;
}
.newsbox{
   height: auto;
}
.h-grid3-all{
		width:13.4%;
	    box-sizing: border-box;
}
.newsbox ul li:nth-child(3){
	height:80px;
}
}
/*---------メディアクエリここから----------*/
@media (min-width: 1920px) {
.navigation {
	margin-top: 9px;
	float: right;
	z-index: 1;
}
.newsbox{
   height: auto;
}
.newsbox h4{
	height:2em;
}
.userinfo{
	clear: both;
	height: auto;
	position:absolute;
	top:60px;
	left:8px;
	color: #fff;
	font-weight: bold;
	z-index:100;
	font-size: 75%;
}
.h-grid3-all{
	width:13.7%;
	box-sizing: border-box;
}
.newsbox h4{
	color: #555;
	font-size: 20px;
	font-weight: bold;
	height: 2.4em;
	overflow: hidden;

}
}
/*---------メディアクエリここまで----------*/
.newsbox{
	width:100%;
	margin: 0;
	padding:0;
}

.newsbox ul{
	margin:0 0 10px 0;
	padding:0;
	color: #333;
	border: 1px solid #ccc;
	position: relative;
	overflow: hidden;
}
.newsbox ul li{
	margin:0;
	padding:0;
	color: #333;
}


.newsbox img {
width:100% ;
max-width: 100% ;
height: auto;
margin: 0;
}

.notices{
  /* 2020rn edit
	position: relative;
	width: 100%;
	height: 100px;
	background: red;
	text-align: center;
	vertical-align: middle;
	margin-right: 10px;
  */
  position: relative;
  width: 100%;
  background: #be0909;
  color: #fff;
  text-align: center;
}
/* 2020rn add s */
.notices .top_contents_link {
  position: relative;
  display: block;
  padding: 20px;
}
@media screen and (max-width: 640px) {
  .notices .top_contents_link{
    padding: 4%;
  }
}
/* 2020rn add e */
.notices_ttl{
	color: #fff;
	font-weight: bold;
	font-size: 1.7em;
}
.notices_txt{
	color: #eee;
	font-size: 1.2em;
	margin-top: 10px;
	display: block;
}
.top_contents_link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #333 !important;
}
.top_contents_link_icon {
	margin: 10px auto 7px;
}
.top_contents_link h4 {
	font-size: 90%;
	padding: 0 5px;
	font-weight: initial;
}

.clear{
	clear:both;
}

html {
  min-height: 100%;
  position: relative;
}
body {
  margin-bottom: 5em;
}

.footer_bottom{
 width: 100%;
 height: 100%;
 min-height: 6em;
 height: auto;
 position: absolute;
}

.header {
	position: relative;
	background: #6D712E;
	padding: 10px 0px 40px 0;
	border-bottom:4px solid #999933;
}
.header-fixed{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}

.animated{
	position:relative;
}
.link a i{
	display: block;
	position: absolute;
	top:10px;
	left:0;
	width: 100%;
	min-height: 64px;
	height: 100%;
	cursor:pointer;
}

.link h4 a{
	display: block;
	padding-top:40px;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	cursor:pointer;
	font-size: 90%;
}

.newsbox h4{
	width: 100%;
	margin: 10px 0;
	padding: 0;
}

.newsbox img {
    height: auto;
    margin: 0;
    max-width: 100%;
    width: 100%;
}

.newsbox{
	width: 100%;
	height: auto;
}
.full-grid .read-more {
	text-decoration: none;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	padding: 7px 25px;
	background: #dab356;
	cursor: pointer;
	margin: 10px 0 0 0;
	position: absolute;
	right: 0;
	bottom: 0;
}

/* 2020rn add s #siteHeader */
#siteHeader{position:fixed;left:0;top:0;width:100%;z-index:1001;background:#fff;box-shadow:0 0 8px rgba(0,0,0,0.15);}
#siteHeader ul{padding:0;margin:0;list-style:none;}
#ccRegistrationLinkOuter{position:fixed;left:0;top:0;width:100%;text-align:center;height:40px;background:#be0909;z-index:1001;}
#ccRegistrationLinkOuter #ccRegistrationLink{position:absolute;left:0;top:0;color:#fff;font-weight:bold;line-height:40px;height:40px;width:100%;padding:0;border:none;background:#be0909;animation:none;outline:none;}
#siteHeader .headerUserinfo .info .name{font-weight:bold;}
@media screen and (min-width: 1000px) {
  #ccRegistrationLinkOuter #ccRegistrationLink{font-size:18px;}
  #headerArea{padding-top:160px;}
  #headerArea.onlyInfo{padding-top:90px;}
  body.dispCcRegistrationLink #headerArea{padding-top:200px;}
  body.dispCcRegistrationLink #headerArea.onlyInfo{padding-top:130px;}
  body.dispCcRegistrationLink #siteHeader{top:40px;}
  #siteHeader .headerUserinfo{height:45px;background:#f2f2f2;font-size:12px;}
  #siteHeader .headerUserinfo .info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:45px;width:1000px;margin:0 auto;line-height:1.2;}
  #siteHeader .headerUserinfo .info > p + p{padding-left:.5em;}
  #siteHeader .headerUserinfo .name{font-size:14px;white-space:nowrap;}
  #siteHeader .headerUserinfo .logoutBtn{white-space:nowrap;padding-left:.5em;margin-left:auto;}
  #siteHeader .headerUserinfo .logoutBtn a{display:block;padding:.2em .4em;background:#fff;color:#333;border-radius:4em;border:1px solid #707070;transition:background .15s linear;}
  #siteHeader .headerUserinfo .logoutBtn a:hover{background:#f2f2f2;}
  #siteHeader .headerID{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:45px;width:1000px;margin:0 auto;}
  #siteHeader .siteID{width:148px;}
  #siteHeader .siteID .logo{display:block;width:100%;padding-bottom:12.2%;background:url("../images/common/forever_logo.svg") no-repeat center center;background-size:100% auto;}
  #siteHeader .helperLink,
  #siteHeader .externalLink{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;}
  #siteHeader .helperLink a,
  #siteHeader .externalLink a{display:block;color:#333;transition:color .15s linear,background .15s linear;}
  #siteHeader .helperLink{padding-left:1em;}
  #siteHeader .helperLink.helperR{margin-left:auto;}
  #siteHeader .helperLink > li{position:relative;font-weight:bold;}
  #siteHeader .helperLink > li + li{border-left:1px dotted #707070;}
  #siteHeader .helperLink > li > a{padding:0 1em;}
  #siteHeader .helperLink > li > a:hover{color:#be0909;}
  #siteHeader .helperLink .down{display:block;position:relative;padding:0 1.8em 0 .8em;}
  #siteHeader .helperLink .down:after{content:"";display:block;position:absolute;right:.8em;top:50%;margin-top:-0.45em;width:.6em;height:.6em;border-bottom:2px solid #333;border-right:2px solid #333;transform:rotate(45deg);box-sizing:border-box;}
  #siteHeader .helperLink .down .icon{display:inline-block;width:1.6em;height:1.6em;vertical-align:middle;margin:0 .2em 0 -.2em;}
  #siteHeader .helperLink .down .icon.userconfig{background:url("../images/common/icon_user_config.svg") no-repeat center center;background-size:100% auto;}
  #siteHeader .helperLink .subLink{display:none;position:absolute;top:100%;left:50%;white-space:nowrap;transform:translateX(-50%);background:#fff;box-shadow:0 0 6px rgba(0,0,0,0.15);border-radius:4px;text-align:left;border:1px solid #707070;font-weight:400;overflow:hidden;}
  #siteHeader .helperLink .downMenu:hover .subLink{display:block;}
  #siteHeader .helperLink .subLink li + li{border-top:1px dotted #707070;}
  #siteHeader .helperLink .subLink a{padding:1em;}
  #siteHeader .helperLink .subLink a:hover{background:#f2f2f2;}
  #siteHeader .externalLink{margin-left:auto;border:1px solid #707070;border-radius:5px;background:#fafafa;overflow:hidden;}
  #siteHeader .externalLink li{position:relative;}
  #siteHeader .externalLink li:not('.hide') + li:before{content:"";display:block;position:absolute;left:0;top:10%;height:80%;border-left:1px dotted #707070;z-index:5;}
  #siteHeader .externalLink a{position:relative;display:block;padding:.2em 2.5em .2em 1em;}

/* 2024 mod s #siteHeader */ 
/*
  #siteHeader .externalLink a:after{content:"";display:block;position:absolute;right:1em;top:0;width:1em;height:100%;background:url("../images/common/icon_external.svg") no-repeat center center;background-size:100% auto;transition:transform .15s linear;}
 */
  #siteHeader .externalLink a:after{content:"";display:block;position:absolute;right:1.6em;top:60%;margin-top:-0.45em;width:.6em;height:.6em;border-right:2px solid #333;border-top:2px solid #333;transform:rotate(45deg);box-sizing:border-box;transition:right .15s linear;}
  #siteHeader .externalLink a:hover{background:#eee;}
/*
  #siteHeader .externalLink a:hover:after{transform:translateX(2px);}
 */
  #siteHeader .externalLink a:hover:after{transform:rotate(45deg);}
/* 2024 mod e #siteHeader */ 

  #siteHeader #gNav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:rgba(255,198,0,0.24);height:70px;}
  #siteHeader #gNav ul{width:1000px;margin:0 auto;display:table;font-size:14px;font-weight:bold;}
  #siteHeader #gNav ul li{display:table-cell;vertical-align:middle;text-align:center;padding:0 .5em;}
  #siteHeader #gNav ul li:first-of-type{padding-left:0;text-align:left;}
  #siteHeader #gNav ul li:last-of-type{padding-right:0;text-align:right;}
  #siteHeader #gNav ul li + li{border-left:1px solid rgba(93,61,50,0.52);}
  #siteHeader #gNav a{display:block;color:#5d3d32;transition:color .15s linear;}
  #siteHeader #gNav a:hover{color:#be0909;}
}
@media screen and (max-width: 999px) {
  #ccRegistrationLinkOuter{height:25px;}
  #ccRegistrationLinkOuter #ccRegistrationLink{line-height:25px;height:25px;}
  #headerArea{padding-top:80px;}
  body.dispCcRegistrationLink #headerArea{padding-top:105px;}
  body.dispCcRegistrationLink #siteHeader{top:25px;}
  #siteHeader .helperLink,
  #siteHeader .externalLink,
  #siteHeader .headerUserinfo .logoutBtn,
  #siteHeader #gNav{display:none;}
  #siteHeader .headerUserinfo{padding:0 0 0 150px;height:80px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
  #siteHeader .headerUserinfo .info{width:100%;}
  #siteHeader .headerUserinfo .info p{font-size:70%;max-width:100%;white-space:nowrap;overflow-x:auto;}
  #siteHeader .headerUserinfo .info p.name{font-size:100%;}
  #siteHeader .siteID{position:absolute;left:60px;top:0;width:90px;height:100%;}
  #siteHeader .siteID .logo{position:absolute;display:block;left:10px;top:50%;width:70px;height:70px;background:url("../images/common/footer_logo.svg") no-repeat center center;background-size:100% auto;margin-top:-35px;}
  #spMenuBtn{position:fixed;left:0;top:20px;width:66px;text-align:center;font-size:70%;font-size:0.7rem;z-index:2000;}
  body.dispCcRegistrationLink #spMenuBtn{top:40px;}
  #spMenuBtn .trigger{display:block;cursor:pointer;color:#333;}
  #spMenuBtn .trigger i{display:block;width:30px;height:30px;margin:0 auto;background:url("../images/common/icon_menu.svg") no-repeat center center;background-size:100% auto;}
  #spMenuBtn .trigger .text{display:block;}
  #spMenuBtn .trigger .text:before{content:"\30E1\30CB\30E5\30FC";/*メニュー*/}
  body.spMenu #spMenuBtn .trigger i{background-image:url("../images/common/icon_close.svg");}
  body.spMenu #spMenuBtn .trigger .text:before{content:"\9589\3058\308B";/*閉じる*/}
  body.spMenu:before{content:"";display:block;position:fixed;width:100%;height:100%;background:#fff;z-index:1500;}
}
/* 2020rn add e #siteHeader */

/* 2020rn add s #shortHeaderArea */
#shortHeaderArea{padding-bottom:80px;}
.shortHeader{position:fixed;left:0;top:0;width:100%;height:80px;z-index:1000;background:#fff;box-shadow:0 0 8px rgba(0,0,0,0.15);}
.shortHeader .headerID{position:relative;max-width:1000px;margin:0 auto;height:80px;}
#shortHeaderArea .siteLogo{position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:1px;text-indent:-999em;}
@media screen and (min-width: 1000px) {
  #shortHeaderArea .siteLogo{width:148px;}
  #shortHeaderArea .siteLogo span{display:block;width:100%;padding-bottom:12.2%;background:url("../images/common/forever_logo.svg") no-repeat center center;background-size:100% auto;}
}
@media screen and (max-width: 999px) {
  #shortHeaderArea .siteLogo{left:50%;transform:translate(-50%,-50%);}
  #shortHeaderArea .siteLogo span {display:block;width:70px;height:70px;background:url("../images/common/footer_logo.svg") no-repeat center center;background-size:100% auto;}
}
/* 2020rn add e #shortHeaderArea */

/* 2020rn add s #siteFooterNav, #siteCopy */
#siteFooterNav{clear:both;}
#siteFooterNav *{box-sizing:border-box;}
#siteFooterNav .toggle_check{display:none;}
#siteFooterNav .footerMainNav{color:#333;}
#siteFooterNav .footerMainNav.forSPMenu{display:none;}
#siteFooterNav .footerMainNav a{display:block;position:relative;color:#333;cursor:pointer;color:#333;}
#siteFooterNav .footerMainNav a:after{content:"";display:block;position:absolute;box-sizing:border-box;}
#siteFooterNav ul{padding:0;margin:0;list-style:none;}
.footerMainNav .externalLink li + li{border-top:1px solid #707070;}
.footerMainNav .externalLink li.hide + li{border-top:none;}
.footerMainNav .externalLink li + li.hide + li{border-top:1px solid #707070;}
.footerMainNav .externalLink a{padding:.6em 2em .6em 0;}
.footerMainNav .externalLink a:after{width:1em;height:1em;right:0;top:50%;margin-top:-0.5em;background:url("../images/common/icon_external.svg") no-repeat center center;background-size:100% auto;transition:transform .15s linear;}
#siteFooterNav .footerSubNav{background:#888;}
#siteFooterNav .footerSubNav ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;}
#siteFooterNav .footerSubNav a{color:#fff;}
#siteFooterNav .footerMainNav .snsLinks{padding-top:1em;}
.footerMainNav .snsLinks .ico {display:inline-block;width:1.5em;vertical-align:middle;margin-right:.5em;}
.footerMainNav .snsLinks .ico:before{content:"";display:block;width:100%;padding-bottom:100%;background-repeat:no-repeat;background-position:center center;background-size:100% auto;}
.footerMainNav .snsLinks .ico.insta:before{background-image:url("../images/common/ico_insta.svg");}
.footerMainNav .snsLinks .ico.fb:before{background-image:url("../images/common/ico_fb.svg");}
.footerMainNav .snsLinks .ico.yt:before{background-image:url("../images/common/ico_yt.svg");}
.footerMainNav .snsLinks .ico.ar:before{background-image:url("../images/common/ico_ar.png");}
#siteCopy{text-align:center;position: relative;}
#siteCopy .pmark {
  position: absolute;
  right: 20px; 
  top: 25px;
}
#siteCopy img{max-width:100%;height:auto;}
@media screen and (min-width: 1000px) {
  .brdCrb + #siteFooterNav{padding-top:40px;}
  #siteFooterNav .footerMainNav{font-size:16px;}
  #siteFooterNav a:hover{text-decoration:underline;}
  #siteFooterNav .footerNav{max-width:1000px;margin:0 auto;}
  #siteFooterNav .footerMainNav{padding:50px 30px;background:#f2f2f2;}
  .footerMainNav .footerNav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;}
  .footerMainNav .footerNav a{padding-top:.4em;padding-bottom:.4em;}
  .footerMainNav .footerNav .col:last-of-type{width:240px;}
  .footerMainNav .footerNav .link a{padding-left:2em;}
  .footerMainNav .footerNav .link a:after{width:.5em;height:.5em;left:0;top:.9em;border-top:2px solid #333;border-right:2px solid #333;transform:rotate(45deg);transition:left .15s linear;}
  .footerMainNav .footerNav .link a:hover:after{left:4px;}
  .footerMainNav .footerNav .home span{display:block;}
  .footerMainNav .link + .toggleMenu,
  .footerMainNav .link + .title,
  .footerMainNav .toggleMenu + .title{padding-top:1.5em;}
  .footerMainNav .title{display:block;font-weight:bold;margin:0;padding:.4em 0;}
  #siteFooterNav .footerMainNav .externalLink a:hover{text-decoration:none;}
  .footerMainNav .externalLink a:hover:after{transform:translateX(4px);}
  .footerMainNav .logOff{padding-top:2em;}
  .footerSubNav{font-size:75%;font-size:0.75rem;padding:10px 0;}
  .footerSubNav ul{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
  .footerSubNav ul li{padding:.8em 1.5em;}
  #siteCopy{position:relative;padding:40px 30px;font-size:56.25%;font-size:0.5625rem;max-width:1060px;margin:0 auto;}
  #siteCopy .logo{width:68px;margin:0 auto;height:auto;}
  #siteCopy .ssl_seal{position:absolute;right:30px;top:50%;transform:translateY(-50%);}
  #siteCopy .ssl_seal p input,
  #siteCopy .ssl_seal input[type="image"]{width:60px;}
  #siteCopy .pmark{position:absolute;right:110px;top:50%;transform:translateY(-50%);width:60px;padding-bottom:30px;}
  #siteCopy .copy{padding-top:25px;}
}
@media screen and (max-width: 999px) {
  .brdCrb + #siteFooterNav{padding-top:4%;}
  #siteFooterNav .footerMainNav{padding:0 4% 4%;line-height:1.65;font-size:114%;}
  .footerMainNav .footerNav .home span{display:none;}
  .footerMainNav .title,
  .footerMainNav .link a{border-bottom:1px dotted #707070;}
  .footerMainNav .home{border-top:1px dotted #707070;}
  .footerMainNav .link a{padding:.4em 2em .4em .4em;}
  .footerMainNav .toggle_content .link a{padding-left:1.4em;}
  .footerMainNav .link a:after{width:.8em;height:.8em;right:0.4em;top:50%;margin-top:-0.4em;border-top:2px solid #333;border-right:2px solid #333;transform:rotate(45deg);}
  .footerMainNav .title{position:relative;display:block;padding:.4em 3em .4em .4em;margin:0;font-weight:400;}
  .footerMainNav .title.userSettings{display:none;}
  .footerMainNav .title:after{content:"";display:block;position:absolute;right:.4em;top:50%;width:.8em;height:.8em;margin-top:-0.6em;border-right:2px solid #333;border-bottom:2px solid #333;transform:rotate(45deg);}
  .footerMainNav .toggle_content{overflow:hidden;max-height:0;opacity:0;transition:all .5s ease;}
  .footerMainNav .toggle_check:checked + .title:after{transform:rotate(-135deg);margin-top:-0.2em;}
  .footerMainNav .toggle_check:checked ~ .toggle_content{max-height:50em;opacity:1;}
  #siteFooterNav .footerMainNav .link.userSettings{padding:1.5em 0;}
  .footerMainNav .link.userSettings li + li{padding-top:.8em;}
  .footerMainNav .link.userSettings a{padding:.4em 1em;border-radius:5em;background:#fff;text-align:center;font-weight:bold;border:1px solid #707070;}
  #siteFooterNav .footerMainNav .link.userSettings a:after{display:none;}
  .footerMainNav .logOff{padding-top:.8em;text-align:center;}
  #siteFooterNav .footerMainNav .logOff a{display:inline-block;padding:.5em 3em;border-radius:5em;border:1px solid #333;}
  #siteFooterNav .footerMainNav .logOff a:after{display:none;}
  .footerMainNav .snsLinks{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
  .footerMainNav .snsLinks li{max-width:33.33%;font-size:11px;text-align:center;box-sizing:border-box;padding:0 1em;}
  .footerMainNav .snsLinks .ico{display:block;width:2rem;margin:0 auto .2rem;}
  .footerSubNav{font-size:85%;padding:4%;}
  .footerSubNav ul li{width:33.33%;padding:2%;}
  #siteCopy{padding:20px;font-size:64.28%;/*display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-orient: horizontal;-webkit-box-direction: reverse;-ms-flex-direction: row-reverse;flex-direction: row-reverse;*/display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-ms-flex-wrap:wrap;flex-wrap:wrap;}
  #siteCopy .logo, #siteCopy .pmark, #siteCopy .ssl_seal{box-sizing:border-box;padding:0 10px;}
  #siteCopy .logo{width:88px;/*margin:0 auto;*/height:auto;margin:0 auto;}
  #siteCopy .pmark, #siteCopy .ssl_seal{max-width:60px;}
  #siteCopy .pmark{margin-left:auto;}
  #siteCopy .ssl_seal p input,
  #siteCopy .ssl_seal input[type="image"]{width:40px;}
  #siteCopy .copy{padding-top:25px;width:100%;}
  
  body.spMenu #siteFooterNav{position:fixed;top:80px;left:0;width:100%;height:calc(100% - 80px);overflow-y:auto;z-index:1600;padding-top:0;}
  body.spMenu #siteFooterNav .footerMainNav.forSPMenu{display:block;}
  body.dispCcRegistrationLink.spMenu #siteFooterNav{top:105px;height:calc(100% - 105px);}
}
@media screen and (max-width: 640px) {
  .footerSubNav ul li{width:50%;padding:2%;}
}
/* 2020rn add e #siteFooterNav, #siteCopy */

/* 2020rn add s ダイアログボックス レスポンシブ */
.ui-dialog {
  z-index:10000!important;
  top: 0; left: 0;
  margin: auto;
  position: fixed;
  max-width: 90%;
  max-height: 90%;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.ui-dialog .ui-dialog-content {
  -webkit-box-flex:1;
  -ms-flex:1;
  flex: 1;
}
/* 2020rn add e ダイアログボックス レスポンシブ */

/* 2020rn add s Flex設定 */
.cmn_flex{display:-webkit-box;display:-ms-flexbox;display:flex;}
.flex_jsb{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;}
.flex_jc{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
.flex_je{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;}
.flex_ac{-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
.flex_ab{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;}
.flex_ae{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;}
.flex_wrap{-ms-flex-wrap:wrap;flex-wrap:wrap;}
@media screen and (max-width: 980px) {
  .tbBlock{display:block;}
  .cmn_flex.tbBlock{display:block;}
}
@media screen and (max-width: 640px) {
  .spBlock{display:block;}
  .cmn_flex.spBlock{display:block;}
}
/* 2020rn add e Flex設定 */

/* 2020rn add s パンくず */
.brdCrb.topBread{padding:20px 30px 20px;}
.brdCrb.footBread{padding:40px 30px 0;}
.brdCrb ul{max-width:1000px;margin:0 auto;padding:0;font-size:0;}
.brdCrb ul li{display:inline;font-size:12px;vertical-align:top;font-size: 0.8rem;}
.brdCrb ul li + li:before{content:">";display:inline-block;margin:0 .5em;vertical-align:top;}
.brdCrb a,
.brdCrb a:link,
.brdCrb a:hover,
.brdCrb a:visited{color:#333;text-decoration:none;}
@media screen and (min-width:981px) {
  .brdCrb a:hover{text-decoration:underline;}
}
@media screen and (max-width: 980px) {
  .brdCrb.topBread{
    padding: 2% 2% 0;
    margin-bottom: 2%;
  }
  .brdCrb.footBread{padding:2% 2% 0;}
  .brdCrb ul li{font-size:11px;}
}
@media screen and (max-width: 767px) {
  .brdCrb.topBread{
    padding: 4% 4% 0;
    margin-bottom: 4%;
  }
  .brdCrb.footBread{padding:4% 4% 0;}
}
@media screen and (max-width: 420px) {
  .brdCrb ul li{font-size:9px;font-size:0.7rem;}
}
/* 2020rn add e パンくず */

/* 2020rn add s footer shop banner */
.footerShopBnr {text-align:center;max-width:1000px;margin:0 auto;padding:40px 0 0 0;}
.footerShopBnr img{max-width:100%; border-radius:8px;}
@media screen and (min-width: 981px){
  .footerShopBnr a{display:block;transition:opacity .15s linear;}
  .footerShopBnr a:hover{opacity:.7;}
}
/* 2020rn add e footer shop banner */

/* 2020rn add s slick - Slider */
.slick-slider{position: relative;display: block;box-sizing: border-box;-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;-ms-touch-action: pan-y;touch-action: pan-y;-webkit-tap-highlight-color: transparent;}
.slick-slider *,
.slick-slider *:focus,
.slick-slider *:active{outline: none;}
.slick-list {position: relative;overflow: hidden;display: block;margin: 0;padding: 0;}
.slick-list.dragging {cursor: pointer;cursor: hand;}
.slick-slider .slick-track, .slick-slider .slick-list {-webkit-transform: translate3d(0, 0, 0);-moz-transform: translate3d(0, 0, 0);-ms-transform: translate3d(0, 0, 0);-o-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}
.slick-track {position: relative;left: 0;top: 0;display: block;margin-left: auto;margin-right: auto;}
.slick-track:before, .slick-track:after {content: "";display: table;}
.slick-track:after {clear: both;}
.slick-loading .slick-track {visibility: hidden;}
.slick-slide {float: left;height: 100%;min-height: 1px;display: none;}
[dir="rtl"] .slick-slide {float: right;}
.slick-slide img {display: block;}
.slick-slide.slick-loading img {display: none;}
.slick-slide.dragging img {pointer-events: none;}
.slick-initialized .slick-slide {display: block;}
.slick-loading .slick-slide {visibility: hidden;}
.slick-vertical .slick-slide {display: block;height: auto;border: 1px solid transparent;}
.slick-arrow.slick-hidden {display: none;}
.slick-dots {display: -webkit-flex;display: -ms-flexbox;display: flex;-webkit-justify-content: center;-ms-flex-pack: center;justify-content: center;-webkit-align-items: center;-ms-flex-align: center;align-items: center;-webkit-flex-wrap: wrap;-ms-flex-wrap: wrap;flex-wrap: wrap;}
.slick-dots button {-moz-appearance: none;-webkit-appearance: none;appearance: none;padding: 0;border: 1px solid #707070;background: #fff;border-radius: 50%;text-indent: -999em;outline: none;transition: all .3s ease;cursor: pointer;}
.slick-dots .slick-active button {background: #707070;}
@media (min-width: 798px) {
  .slick-dots li {padding: 1rem .5rem 0;}
  .slick-dots button {width: 9px;height: 9px;}
  .slick-dots .slick-active button {transform: scale(1.66);}
}
@media (max-width: 797px) {
  .slick-dots li {padding: 1rem .5rem 0;}
  .slick-dots button {width: 6.5px;height: 6.5px;width: 1.73vw;height: 1.73vw;}
  .slick-dots .slick-active button {transform: scale(1.77);}
}
.slick-arrow {position: absolute;-moz-appearance: none;-webkit-appearance: none;appearance: none;padding: 0;border: 1px solid #707070;background: transparent;border-radius: 50%;text-indent: -999em;outline: none;cursor: pointer;transition: all .3s ease;background: rgba(255, 255, 255, 0.7);z-index: 100;}
.slick-arrow:before {content: "";position: absolute;top: 50%;left: 50%;margin-top: -.3rem;width: .6rem;height: .6rem;transform: rotate(45deg);}
.slick-arrow.slick-next:before {border-top: 2px solid #333;border-right: 2px solid #333;margin-left: -.4rem;}
.slick-arrow.slick-prev:before {border-left: 2px solid #333;border-bottom: 2px solid #333;margin-left: -.2rem;}
@media (min-width: 797px) {
  .slick-arrow {width: 44px;height: 44px;}
  .slick-arrow.slick-next:hover {transform: translateX(0.2rem);}
  .slick-arrow.slick-prev:hover {transform: translateX(-0.2rem);}
}
@media (max-width: 798px) {
  .slick-arrow {width: 30px;height: 30px;width: 8vw;height: 8vw;}
}
/* 2020rn add e slick - Slider */

/* 2020rn add s カテゴリ表示用 */
.postMeta {line-height:1.2;font-size:12px;}
.postMeta p{display:inline-block;padding:.5em 0;vertical-align:middle;}
.postMeta .date{padding:0 .6em 0 0;border-right:1px solid #707070;line-height:1;}
.postMeta .category span{display:inline-block;padding:.1em .5em;border-radius:.3em;margin-left:.3em;}
.postMeta .category .cat{border:1px solid #707070;background:#fff;}
.postMeta .category .file{background:#ffc600;color:#be0909;font-weight:bold;border:1px solid #ffc600;}
.postMeta .category .important{background:#be0909;color:#fff;font-weight:bold;border:1px solid #be0909;}
@media screen and (max-width:420px) {
  .postMeta{font-size:9px;font-size:2.4vw;}
}
/* 2020rn add e カテゴリ表示用 */

/* 2020rn add s カテゴリセレクトメニュー用 */
.categoryToggle *{box-sizing:border-box;}
.categoryToggle {position:relative;}
.categoryToggle .toggle_check{display:none;}
.categoryToggle .title{position:relative;display:block;max-width:345px;margin:0 auto;padding:.5em 3em;cursor:pointer;text-align:center;background:#f0f0f0;border:1px solid #bbb;border-radius:10px;transition:background .15s linear;}
.categoryToggle .title:after{content:"";display:block;position:absolute;right:1em;top:50%;width:.8em;height:.8em;margin-top:-0.6em;border-right:2px solid #333;border-bottom:2px solid #333;transform:rotate(45deg);}
.categoryToggle .toggle_content{overflow:hidden;max-height:0;opacity:0;transition:all .5s ease;}
.categoryToggle .toggle_check:checked + .title:after{transform:rotate(-135deg);margin-top:-0.2em;}
.categoryToggle .toggle_check:checked ~ .toggle_content{max-height:50em;opacity:1;padding:.5em 0;}
.categoryToggle .toggle_content ul{padding:0;margin:0;list-style:none;}
.categoryToggle .toggle_content li{border-bottom:1px dotted #707070;}
.categoryToggle .toggle_content a{display:block;position:relative;padding:.4em 2em .4em .4em;color:#333;}
.categoryToggle .toggle_content a:after{content:"";display:block;position:absolute;width:.8em;height:.8em;right:0.4em;top:50%;margin-top:-0.4em;border-top:2px solid #333;border-right:2px solid #333;transform:rotate(45deg);transition:right .15s linear;}
@media print,screen and (min-width: 981px) {
  .categoryToggle .title:hover{background:#dedede;}
  .categoryToggle .toggle_content a{transition:background .15s linear;}
  .categoryToggle .toggle_content a:hover{background:#f2f2f2;}
  .categoryToggle .toggle_content a:hover:after{right:0.2em;}
}
/* 2020rn add s カテゴリセレクトメニュー用 */

/* 2020rn add s コンテンツバック用ボタン */
.contentsBackBtns{max-width:1000px;margin:0 auto;}
.contentsBackBtns .prev a{position:relative;display:block;max-width:345px;margin:0 auto;padding:.5em 3em;cursor:pointer;text-align:center;background:#f0f0f0;border:1px solid #f0f0f0;border-radius:6em;color:#333;font-weight:bold;transition:background .15s linear;}
.contentsBackBtns .prev a:link,
.contentsBackBtns .prev a:visited{color:#333;}
.contentsBackBtns .prev a:after{content:"";display:block;position:absolute;left:1em;top:50%;width:.8em;height:.8em;margin-top:-0.4em;border-bottom:2px solid #333;border-left:2px solid #333;transform:rotate(45deg);transition:left .15s linear;}
.contentsBackBtns.cat-c08mail .select{display:none;}
.contentsBackBtns.cat-c01voice .prev.cattop a:before{content:"\30E1\30C3\30BB\30FC\30B8";/*メッセージ*/}
.contentsBackBtns.cat-c02campaign .prev.cattop a:before{content:"\30AD\30E3\30F3\30DA\30FC\30F3\30FB\30A4\30D9\30F3\30C8";/*キャンペーン・イベント*/}
.contentsBackBtns.cat-c03event .prev.cattop a:before{content:"\30A4\30D9\30F3\30C8";/*イベント*/}
.contentsBackBtns.cat-c04video .prev.cattop a:before{content:"\52D5\753B\30B3\30F3\30C6\30F3\30C4";/*動画コンテンツ*/}
.contentsBackBtns.cat-c05download .prev.cattop a:before{content:"\30C0\30A6\30F3\30ED\30FC\30C9";/*ダウンロード*/}
.contentsBackBtns.cat-c06help .prev.cattop a:before{content:"FAQ";}
.contentsBackBtns.cat-c07business .prev.cattop a:before{content:"FBO\30BB\30DF\30CA\30FC";/*FBOセミナー*/}
.contentsBackBtns.cat-c09letter .prev.cattop a:before{content:"\30D3\30B8\30CD\30B9\30EC\30BF\30FC";/*ビジネスレター*/}
.contentsBackBtns.cat-c10other .prev.cattop a:before{content:"\305D\306E\4ED6";/*その他*/}
.contentsBackBtns.cat-c06help .select{display:none;}
@media print,screen and (min-width: 981px) {
  .contentsBackBtns.top{padding:4rem 0 2rem;}
  .contentsBackBtns.btm{padding:2rem 0 2rem;}
  .contentsBackBtns{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;}
  .contentsBackBtns .prev,
  .contentsBackBtns .select{width:345px;}
  .contentsBackBtns .prev a:hover{background:#dedede;}
  .contentsBackBtns .prev a:hover:after{left:0.8em;}
  .contentsBackBtns.cat-c06help .prev,
  .contentsBackBtns.noCategory .prev,
  .contentsBackBtns.cat-c08mail .prev{margin:0 auto;}
}
@media screen and (max-width:980px) {
  .contentsBackBtns.top{display:none;}
  .contentsBackBtns.btm{display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-orient: vertical;
  	-webkit-box-direction: reverse;
  	-ms-flex-direction: column-reverse;
  	flex-direction: column-reverse;}
  .contentsBackBtns.btm.cat-c08mail .select{display:none;}
  .contentsBackBtns{padding:6% 4%;}
  .contentsBackBtns .prev,
  .contentsBackBtns .select{width:100%;font-size: 0.95rem;}
  .contentsBackBtns .select{padding-bottom:4%;}
}
/* 2020rn add e コンテンツバック用ボタン */

.contentsFrame iframe{vertical-align:bottom;}

/* 2020rn add s TOPページ用スタイル */
#topContentsFrame{max-width:1060px;margin:0 auto;padding:30px;}
#topContentsFrame a,
#topContentsFrame a:link,
#topContentsFrame a:visited{color:#333; cursor:pointer;}
#topContentsFrame img{max-width:100%;}
.topHeading{text-align:center;position:relative;margin-bottom:1.5em;}
.topHeading h1{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
.topHeading h1 .siteTitle{padding-left:.5em;text-align:left;}
.topHeading h1 .icon{width:1.8em;height:1.8em;background:url("../images/common/icon_user.svg") no-repeat center center;background-size:90% auto;}
.topHeading h1 .en{display:block;color:#ffc600;font-weight:normal;font-size:10px;padding-bottom:.5em;}
.topHeading h1 .ja{display:block;font-weight:bold;}
.topHeading .shoppingBtn{position:absolute;right:0;top:50%;transform:translateY(-50%);}
.topHeading .shoppingBtn a{display:block;color:#333;background:#ffc600;transition:color .15s linear, background .15s linear;}
.topHeading .shoppingBtn .icon{display:inline-block;background-repeat:no-repeat;background-position:center center;background-size:100% auto;vertical-align:middle;}
.topHeading .shoppingBtn .icon.cart{width:1.4em;height:1.4em;background-image: url("../images/common/icon_cart.svg");}
#topContentsFrame h2{font-weight:bold;font-size: 1rem;padding:0 0 .8em;margin:0;}
@media screen and (min-width:981px) {
  .topHeading h1 {font-size:24px;}
  .topHeading .shoppingBtn a{border-radius:4px;padding:.4em 1em;font-weight:bold;font-size:114%;line-height:1.8;}
  .topHeading .shoppingBtn .icon.cart{margin-right:.5em;}
  .topHeading .shoppingBtn .icon.external{width:1em;height:1em;margin-left:.5em;background-image: url("../images/common/icon_external.svg");}
  .topHeading .shoppingBtn a:hover{background:#dadada;}
}
@media screen and (max-width:980px) {
  #topContentsFrame{padding:6% 4% 4%;}
  .topHeading{margin-left:-4.34%;margin-right:-4.34%;}
  .topHeading h1 {font-size:22px;}
  .topHeading .shoppingBtn a{padding:1em;font-size:10px;}
  .topHeading .shoppingBtn a span{display:none;}
  .topHeading .shoppingBtn .icon.cart{display:block;margin:0 auto .5em;width:2em;height:2em}
  .topHeading .shoppingBtn .icon.external{display:none;}
}
@media screen and (max-width:420px) {
  .topHeading h1 {font-size:1.2rem;}
  .topHeading h1 .en{font-size:2.6vw;}
  .topHeading .shoppingBtn .icon.cart{width:6.4vw;height:6.4vw;}
  .topHeading .shoppingBtn a{padding:1em;font-size:2vw;}
}
/*topCampaign, topEntry*/
#topContentsFrame .slick-track,
#topContentsFrame .slick-track .slick-slide,
#topContentsFrame .slider .item a{display:-webkit-box;display:-ms-flexbox;display:flex;height:auto;box-sizing:border-box;}
#topContentsFrame .slider .item a{width:100%;background:#fff;box-sizing:border-box;border:1px solid #ddd;border-radius:5px;overflow:hidden;transition:opacity .15s linear;}
#topContentsFrame .slick-arrow{top:50%;}
#topContentsFrame .slider .info{padding:1em;line-height:1.375;}
#topContentsFrame .slider .postTitle{padding-top:.8em;font-weight:bold;}
#topContentsFrame .slider .postTitle .s{font-weight:400;font-size:87.5%;}
#topEntry .slick-arrow.slick-prev{left:0;}
#topEntry .slick-arrow.slick-next{right:0;}
@media screen and (min-width:798px) {
  #topCampaign{margin:0 -1.5vw;}
  #topCampaign .item{padding:0 1.5vw;}
  #topContentsFrame .slick-arrow{margin-top:-22px;}
  #topContentsFrame .slick-arrow.slick-prev{margin-left:-22px;}
  #topContentsFrame .slick-arrow.slick-next{margin-right:-22px;}
  #topCampaign .slick-arrow.slick-prev{left:1.2vw;}
  #topCampaign .slick-arrow.slick-next{right:1.2vw;}
}
@media screen and (min-width:981px) {
  #topContentsFrame .slider .item a:hover{opacity:.7;}
}
@media screen and (min-width:1000px) {
  #topCampaign{margin:0 -15px;}
  #topCampaign .item{padding:0 15px;}
  #topCampaign .slick-arrow.slick-prev{left:15px;}
  #topCampaign .slick-arrow.slick-next{right:15px;}
  #topContentsFrame .slider .info{padding:1em 1.5em;}
}
@media screen and (max-width:797px) {
  #topCampaign{margin:0 -4.34% 0 0;}
  #topCampaign .slick-list{padding-right:4%;padding-right:8vw;}
  #topCampaign .slick-slide{margin-right:4vw;}
}
/*topPNewsEntry*/
#topPNewsEntry{padding:40px 0;}
#topPNewsEntry:after{content:"";display:block;clear:both;}
/*  remove 202301
@media screen and (min-width:798px) {
  #topPNews{width:66%;float:left;}
  #topEntry{width:31.4%;float:right;}
}
@media screen and (max-width:797px) {
  #topPNewsEntry{padding:8% 0;}
  #topEntry{padding-top:8%;}
}
*/

#topNews .newsHeading{padding-bottom:1em;}
#topContentsFrame .newsHeading h2{padding-bottom:0;}
#topNews .select .toggle_content{position:absolute;white-space:nowrap;right:0;top:100%;z-index:50;}
#topNews .select .toggle_content ul{padding:1em;background:#f0f0f0;}
#topNews .select .toggle_content ul li:first-of-type{border-top:1px dotted #707070;}
/*newsList*/
.newsList{padding:0;margin:0;list-style:none;border-top:1px solid #ccc; font-size: 0.8rem;}
@media screen and (min-width:768px) {
  .newsList{font-size: 1rem;}
}
#topContentsFrame .newsList + h2{padding-top:3em;}
.newsList li{border-bottom:1px solid #ccc;}
.newsList li a{position:relative;display:block;padding:.5em 2em .8em .5em;transition:background .15s linear;}
.newsList li a.not_link{outline: none;}
.newsList li a.with_link:after{content:"";display:block;position:absolute;right:.8em;top:50%;margin-top:-0.45em;width:.6em;height:.6em;border-right:2px solid #333;border-top:2px solid #333;transform:rotate(45deg);box-sizing:border-box;transition:right .15s linear;}
.newsList.priorityNews .category:after{content:"\91CD\8981"/*重要*/;display:inline-block;padding:.1em .5em;border-radius:.3em;margin-left:.3em;background:#be0909;color:#fff;font-weight:bold;border:1px solid #be0909;}
.moreBtn{text-align:center;padding-top:3em;}
.moreBtn a{display:block;max-width:345px;margin:0 auto;padding:.5em 3em;font-weight:bold;background:#f0f0f0;border:1px solid #bbb;border-radius:10px;transition:background .15s linear;}
@media screen and (min-width:981px) {
  .newsList li a.with_link:hover{background:#f2f2f2;}
  .newsList li a.with_link:hover:after{right:.6em;}
  .moreBtn a:hover{background:#dedede;}
}
@media screen and (max-width:797px) {
  .newsList li a{padding:.5em 3em .5em .5em;}
  .newsList li a:after{width:1em;height:1em;margin-top:-0.55em;}
  .moreBtn{padding-top:2em;}
}
/* 2020rn add e TOPページ用スタイル */

/* 2020rn add s メッセージ関連
（table.error-area、table.warning-area、table.infomation-area）の設定 */
table.error-area,
table.warning-area,
table.infomation-area{display:block;width:100%;max-width:1000px !important;margin:2rem auto;padding:.5em 0;}
table.error-area{color:#e31400;background:#faedeb;border:1px solid #e31400;}
table.warning-area{color:#333;background: #fffbec;border:1px solid #ffc602;}
table.infomation-area{color:#333;background:#ecf4e7;border:1px solid #74aa50;}
table.error-area tr,
table.warning-area tr,
table.infomation-area tr{display:-webkit-box;display:-ms-flexbox;display:flex;padding:.5em 1em;}
table.error-area td,
table.warning-area td,
table.infomation-area td{display:inline-block;vertical-align:top;}
.pip_bold{font-weight:bold;}
@media screen and (max-width:1060px) {
  table.error-area,
  table.warning-area,
  table.infomation-area{width:92%;}
}
/* 2020rn add e メッセージ関連 */

/* 2020rn add s その他汎用クラス等 */
h2.pageTtl{font-size:1rem; font-weight:bold;padding-bottom:0;}
@media screen and (min-width:768px) {
  h2.pageTtl{font-size:1.5rem;}
}


h2.pageTtl:after {
    content: none;
}
input::placeholder{color:#ddd;}
input:-ms-input-placeholder{color:#ddd;}
input::-ms-input-placeholder{color:#ddd;}

.ib{display:inline-block;}

.btn_primary{display:block;padding:.6em;color:#333;font-weight:700;background:#ffc602;border-radius:4em;max-width:340px;line-height:1.4;border:none;text-align:center;cursor:pointer;}
.btn_primary_center{display:block;padding:.6em;color:#333;font-weight:700;background:#ffc602;border-radius:4em;max-width:340px;line-height:1.4;margin:0 auto;border:none;text-align:center;cursor:pointer;}
.btn_primary_ib{display:inline-block;padding:.6em 2em;color:#333;font-weight:700;background:#ffc602;border-radius:4em;max-width:340px;line-height:1.4;border:none;text-align:center;cursor:pointer;}
.btn_secondary{display:inline-block;padding:.4em 1em;color:#333;font-weight:700;background:#e8e2e2;border-radius:4em;max-width:340px;line-height:1.4;border:none;text-align:center;cursor:pointer;}
@media print,screen and (min-width: 980px) {
  .btn_primary,
  .btn_secondary,
  .btn_primary_center,
  .btn_primary_ib {transition:background .15s linear, color .15s linear;}
  .btn_primary:hover,
  .btn_primary_center:hover,
  .btn_primary_ib:hover{background:#74aa50;color:#fff;}
  .btn_secondary:hover{background:#766b6b;color:#fff;}
}
.btn_next_white,
.btn_prev_white,
.btn_white{position:relative;display:block;padding:.6em 2em;color:#333;font-weight:700;background:#fff;border:1px solid #333;border-radius:4em;max-width:340px;line-height:1.4;text-align:center;cursor:pointer;}
.btn_next_white:link, .btn_prev_white:link, .btn_white:link,
.btn_next_white:hover, .btn_prev_white:hover, .btn_white:hover,
.btn_next_white:focus, .btn_prev_white:focus, .btn_white:focus,
.btn_next_white:active, .btn_prev_white:active, .btn_white:active,
.btn_next_white:visited, .btn_prev_white:visited, .btn_white:visited{color:#333;text-decoration:none;}
.btn_next_white:after{content:"";position:absolute;display:block;right:1.2em;top:50%;width:.6em;height:.6em;border-right:2px solid #333;border-top:2px solid #333;margin-top:-0.3em;transform:rotate(45deg);}
.btn_prev_white:after{content:"";position:absolute;display:block;left:1.2em;top:50%;width:.6em;height:.6em;border-left:2px solid #333;border-bottom:2px solid #333;margin-top:-0.3em;transform:rotate(45deg);}
@media print,screen and (min-width: 980px) {
  .btn_next_white,
  .btn_prev_white,
  .btn_white {transition:background .15s linear;}
  .btn_next_white:after{transition:right .15s linear;}
  .btn_prev_white:after{transition:left .15s linear;}
  .btn_next_white:hover,
  .btn_prev_white:hover,
  .btn_white:hover{background:#f2f2f2;}
  .btn_next_white:hover:after{right:1em;}
  .btn_prev_white:hover:after{left:1em;}
}
/* 2020rn add e その他汎用クラス等 */

/* 2021.07 add start - セミナー追加用 */
/* トップページ */
#topSeminarBtn a{display:block;position:relative;color:#333;background:#ffc600;transition:color .15s linear, background .15s linear;}
#topSeminarBtn a:after{content:"";display:block;position:absolute;right:1em;top:50%;margin-top:-0.3em;width:.6em;height:.6em;box-sizing:border-box;border-top:2px solid #333;border-right:2px solid #333;transform:rotate(45deg);}
@media screen and (min-width:981px) {
  #topSeminarBtn a{position:absolute;left:0;top:0;padding:.4em 2em .4em 1.5em;font-weight:bold;font-size:114%;line-height:1.8;border-radius:4px;}
  #topSeminarBtn a:hover{background:#dadada;}
}
@media screen and (max-width:980px) {
  .topHeading{font-size:1.05rem;}
  #topSeminarBtn{position:absolute;width:100%;left:0;top:100%;box-sizing:border-box;padding:2rem 1rem 0;}
  #topSeminarBtn a{padding:.7em 0;max-width:420px;margin:0 auto;border-radius:10em;font-weight:700;}
}
/* コンテンツページ */
.contentsBackBtns.cat-c11seminar .select{display:none;}
.indexBlockList .postTitle-en{font-size:.875rem;padding-bottom:.5em;font-family:serif;}
@media screen and (min-width:981px) {
  .contentsBackBtns.cat-c11seminar .prev{margin:0 auto;}
}
@media screen and (max-width:980px) {
  .indexBlockList .info{display: none;}
  .indexBlockList {
      display: grid;
      grid-template-columns: 1fr;
      gap: 15px;
      padding-bottom:0;
  }

  .indexBlockList .item img {
      width: 100%;
      height: auto;
      display: block; 
  }
}
/* 2021.07 add end - セミナー追加用 */

.topCpBnr {
  max-width: var(--container-width);
  margin: 0 auto 34px;
  padding: 0 20px;
  display: flex;
  justify-content: center; 
  gap: 20px;
}

.topCpBnr a {
  flex: 1;
  display: block;
  transition: opacity 0.2s ease;
}

.topCpBnr a:only-child {
  flex: 0 1 calc(50% - 10px); 
}

.topCpBnr a:hover {
  opacity: 0.8;
}

.topCpBnr img {
  width: 100%;
  height: auto; 
  display: block;
  border-radius: 8px;
  border: 1px solid #ddd;
}

@media (max-width: 767px) {
  .topCpBnr {
    flex-direction: column;
    gap: 12px;
    padding: 0 16px; 
    margin-bottom: 24px;
  }
  .topCpBnr a:only-child {
    flex: auto;
    width: 100%;
  }
}

/* header footer リニューアル　202605 */

/* ==========================================================================
   Base & Utility
========================================================================== */
body:has(.l-header) {
  padding-top: 72px !important; 
}
@media (max-width: 767px) {
  :root {
    --header-height: 64px;
  }
  body:has(.l-header) {
    padding-top: 64px !important;
  }
}

body.is-fixed {
  overflow: hidden;
}

.u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.u-sp-only {
  display: none !important;
}
@media (max-width: 767px) {
  .u-sp-only {
    display: block !important;
  }
  .u-pc-only {
    display: none !important;
  }
}

/* ==========================================================================
   Layout (l-) : ページの大枠となるレイアウト
========================================================================== */
.l-site {
  min-height: 100vh;
}

.l-site a {
  color: #333;
  cursor: pointer;
}

.l-container {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 767px) {
  .l-container {
    padding: 0 16px;
  }
}
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: var(--color-primary);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

.l-header div:after {
  content: unset;
}

.l-header__inner {
  max-width: var(--container-width);
  min-height: var(--header-height);
  margin: 0 auto;
  padding: 0 16px;
  display: flex; 
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1250px) {
  .l-header__inner {
    justify-content: flex-start;
  }
}
@media (max-width: 1100px) {
  .l-header__inner { 
    padding: 0 12px; 
  }
}
@media (max-width: 767px) {
  .l-header__inner {
    height: 64px;
    padding: 0 8px;
    display: flex;
    justify-content: space-between;
    align-items: center; 
    flex-wrap: nowrap;
    gap: 4px;
  }
}

.l-header__inner img,
.c-member-box img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.l-header__inner a {
  color: inherit;
  text-decoration: none;
}

.l-header__inner button {
  font: inherit;
  color: inherit;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.l-header__left {
  display: flex;
  align-items: center;
  position: absolute; 
  left: 24px;
  flex-shrink: 0;
}
@media (max-width: 1250px) {
  .l-header__left {
    position: static;
    margin-right: 24px;
  }
}
@media (max-width: 1100px) {
  .l-header__left {
    margin-right: 20px;
  }
}
@media (max-width: 767px) {
  .l-header__left {
    position: static; 
    margin: 0; 
    flex-shrink: 0;
  }
}

.l-header__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .l-header__logo {
    flex: 1;
    min-width: 0;
    display: flex;
    justify-content: center;
    align-items: center; 
    padding: 0 4px;
  }
}

.l-header__right {
  display: flex;
  align-items: center;
  gap: 18px;
}
@media (max-width: 1250px) {
  .l-header__right {
    margin-left: auto;
  }
}
@media (max-width: 1100px) {
  .l-header__right {
    gap: 10px;
  }
}
@media (max-width: 767px) {
  .l-header__right { 
    margin-left: 0; 
    flex-shrink: 0; 
    transform: none !important;
    display: flex;
    align-items: center; 
    gap: 0;
  }
}

.l-main {
  padding: 20px 0 20px;
  overflow-x: hidden;
}

.l-footer {
  background: #f4f4f4;
  padding: 30px 20px;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .l-footer {
    padding: 32px 0;
  }
}

.l-footer__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}
@media (max-width: 767px) {
  .l-footer__top {
    flex-direction: column;
    align-items: stretch;
    /*gap: 32px;*/
    margin-bottom: 32px;
  }
}

.l-footer__brand,
.l-footer__sns {
  margin-bottom: 0; 
}

@media (max-width: 767px) {
  .l-footer__brand {
    align-self: flex-start;
  }
}

.l-footer__sns {
  display: flex;
  gap: 16px;
  margin-left: auto;
}
@media (max-width: 767px) {
  .l-footer__sns {
    align-self: center;
    margin-left: 0;
  }
}

.l-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .l-footer__links {
    display: block;
    column-count: 2;
    column-gap: 40px;
    width: fit-content;
    margin: 0 auto;
  }
}

.l-footer__links::before,
.l-footer__links::after {
  display: none !important;
}

.l-footer__links li {
  margin: 0;
}
@media (max-width: 767px) {
  .l-footer__links li {
    break-inside: avoid;
    margin-bottom: 20px;
  }
}

.l-footer__links a {
  font-size: 0.75rem; 
  color: #333;
  line-height: 1.5;
  display: block;
  text-decoration: none;
  transition: opacity 0.2s;
  cursor: pointer;
}
.l-footer__links a:hover {
  opacity: 0.6;
}
@media (max-width: 1100px) {
  .l-footer__links a {
    font-size: 0.65rem;
  }
}
@media (max-width: 767px) {
  .l-footer__links a {
    font-size: 0.8rem;
  }
}


/* ==========================================================================
   Component (c-) : 再利用可能な小さなパーツ群
========================================================================== */
/* --- Overlay --- */
.c-overlay {
  position: fixed;
  inset: 0;
  background: var(--color-overlay);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition), visibility var(--transition);
  z-index: 10000;
}
.c-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

/* --- Logo --- */
.c-logo {
  display: inline-flex;
  flex-direction: column;
  line-height: 1.1;
}

.c-logo__main {
  top: 2px;
  position: relative;
}

.c-logo__main img {
  width: 180px;
  max-width: 100%;
  margin-bottom: 5px;
  margin-top: 0;
}
@media (max-width: 1100px) {
  .c-logo__main img {
    width: 190px;
  }
}
@media (max-width: 767px) {
  .c-logo__main img {
    width: 100%;
    max-width: 140px;
    margin-bottom: 2px;
  }
}

.c-logo__sub {
  margin-top: 2px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  color: #333;
}
@media (max-width: 767px) {
  .c-logo__sub { 
    font-size: 0.7rem;
    white-space: nowrap;
    margin-top: 3px;
  }
}

.l-footer__top .c-logo__main {
  top: 0;
}

/* --- Menu Button --- */
.c-menu-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .c-menu-button {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 44px;
    height: 44px;
    padding: 0;
  }
}

.c-menu-button__icon {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 2px;
  background: #222;
}

.c-menu-button__icon::before,
.c-menu-button__icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 18px;
  height: 2px;
  background: #222;
}

.c-menu-button__icon::before {
  top: -6px;
}

.c-menu-button__icon::after {
  top: 6px;
}

.c-menu-button__text {
  font-size: 0.95rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .c-menu-button__text {
    display: none !important;
  }
}

/* --- Header Nav --- */
.c-header-nav {
  display: flex;
  align-items: center; 
  gap: 18px;
}
@media (max-width: 1100px) {
  .c-header-nav { 
    gap: 4px; 
  }
}
@media (min-width: 768px) and (max-width: 1100px) {
  .c-header-nav {
    align-items: center;
  }
}
@media (max-width: 767px) {
  .c-header-nav {
    display: flex !important;
    gap: 10px;
    align-items: center;
  }
  .c-header-nav > :nth-child(3) {
    transform: translateX(4px); 
  }
}

@media (max-width: 320px) {
  .c-header-nav {
    gap: 0;
  }
}

.c-header-nav__item,
.c-header-nav__button {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
}

.c-header-nav__item, 
.c-header-nav__dropdown {
  /* PC base settings are handled above/below, grouping specific responsive behavior here */
}
@media (max-width: 1100px) {
  .c-header-nav__item, 
  .c-header-nav__dropdown {
    min-width: 44px; 
  }
}
@media (max-width: 767px) {
  .c-header-nav__item,
  .c-header-nav__dropdown {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 38px;
    height: 38px;
    min-width: auto;
    padding: 0;
    gap: 0;
  }
}

.c-header-nav__item:hover {
  opacity: 0.6;
}

@media (max-width: 767px) {
  .c-header-nav__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
}

.c-header-nav__icon img {
  height: 28px;
  width: auto;
  display: block;
  margin: 0;
}
@media (min-width: 768px) and (max-width: 1100px) {
  .c-header-nav__icon img {
    height: 36px;
  }
}
@media (max-width: 767px) {
  .c-header-nav__icon img {
    max-width: 100%;
    max-height: 30px;
    object-fit: contain;
    margin: 0;
  }
}
@media (min-width: 768px) {
  .c-header-nav_aloe__icon img{
    height: 51px;
    width: 51px;
    top: -2px;
    position: relative;
  }
}
.c-header-nav__dropdown {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  position: relative;
}

.c-header-nav__button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  font-family: inherit;
  width: 100%;
}

.c-header-nav__text {
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
  line-height: 1;
}
@media (max-width: 1100px) {
  .c-header-nav__text { 
    display: none; 
  }
}
@media (max-width: 767px) {
  .c-header-nav__text {
    display: none;
  }
}

.c-header-nav__qr {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 2px;
}
@media (min-width: 768px) and (max-width: 1100px) {
  .c-header-nav__qr {
    margin-bottom: 0;
  }
}
@media (max-width: 767px) {
  .c-header-nav__qr {
    display: none !important;
  }
}

.c-header-nav__qr img {
  height: 43px;
  width: 43px;
  background: #fff;
  padding: 2px;
  border-radius: 4px;
}

/* --- Dropdown Menu --- */
.c-dropdown-menu {
  position: absolute;
  top: 100%;
  right: -20px;
  margin-top: 12px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  width: 260px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  z-index: 100;
  text-align: left;
}
@media (max-width: 767px) {
  .c-dropdown-menu {
    right: 2px;
    width: 240px;
    margin-top: 10px;
  }
}

.c-dropdown-menu::before {
  content: "";
  position: absolute;
  top: -6px;
  right: 36px;
  width: 10px;
  height: 10px;
  background: #fff;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  transform: rotate(45deg);
}
@media (max-width: 767px) {
  .c-dropdown-menu::before {
    right: 10px; 
  }
}

.c-dropdown-menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.c-dropdown-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-dropdown-menu__list li {
  border-bottom: 1px dotted #aaa;
}

.c-dropdown-menu__list li:last-child {
  border-bottom: none;
}

.c-dropdown-menu__list a {
  display: block;
  padding: 14px 16px;
  font-size: 0.85rem;
  color: #333;
  text-decoration: none;
  transition: background 0.2s;
}

.c-dropdown-menu__list a:hover {
  background: #f5f5f5;
}

.c-dropdown-menu__list li:first-child a:hover {
  background: #f5f5f5;
}

.c-dropdown-menu:has(.c-dropdown-menu__list li:first-child a:hover)::before {
  background: #f5f5f5;
}

/* --- Buttons --- */
.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: var(--radius-sm);
  font-weight: 700;
  transition: opacity var(--transition), transform var(--transition);
  font-size: 0.95rem;
}

.c-button:hover {
  opacity: 0.8;
}

.c-button--header {
  min-width: 160px;
  height: 44px;
  min-height: 44px;
  background: #e8ad07;
}
@media (max-width: 1100px) {
  .c-button--header {
    min-width: 110px;
    padding: 0 10px;
    font-size: 0.85rem;
  }
}
@media (max-width: 767px) {
  .c-button--header {
    display: none !important;
  }
}

.c-button--header-text {
  color: #fff;
}

.c-button--white {
  background: var(--color-white);
  color: var(--color-text);
}

.c-button--yellow {
  background: #e8ad07;
  color: var(--color-white) !important;
}

.c-button--outline {
  min-width: 186px;
  background: var(--color-white);
  border: 2px solid #666;
}

/* --- Member Box --- */
.c-member-box {
  margin-bottom: 22px;
  padding: 16px 18px;
  background: var(--color-surface-2);
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 767px) {
  .c-member-box {
    padding: 12px;
    align-items: flex-start;
  }
}

.c-member-box__greeting {
  margin: 0 0 8px;
  font-size: 1.05rem;
}
@media (max-width: 767px) {
  .c-member-box__greeting {
    font-size: 0.9rem;
    margin-bottom: 5px;
  }
}

.c-member-box__info {
  flex: 1;
}

.c-member-box__details {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 30px;
  justify-content: space-around;
}
@media (max-width: 767px) {
  .c-member-box__details {
    flex-direction: column;
    gap: 2px;
  }
}

.c-member-box__item {
  margin: 0;
  font-size: 0.98rem;
  flex: 1;
}

.c-member-box__label {
  margin-right: 8px;
  color: #d49c00;
  font-weight: 700;
}
@media (max-width: 767px) {
  .c-member-box__label {
    min-width: auto;
    font-size: 0.8rem;
  }
}

.c-member-box__val {
  /* SP adjustments added below */
}
@media (max-width: 767px) {
  .c-member-box__val {
    font-size: 0.9rem;
  }
}

.c-member-box__qrcode {
  background: #fff;
  padding: 10px;
  border-radius: 10px;
  text-align: center;
  box-shadow: var(--shadow-sm);
  min-width: 100px;
  display: none;
}
@media (max-width: 767px) {
  .c-member-box__qrcode {
    display: block !important;
    flex-shrink: 0;
    width: 90px;
    min-width: 90px;
  }
}

.c-member-box__qr-img {
  width: 64px;
  height: 64px;
  margin: 0 auto 4px;
  border: 1px solid #eee;
  display: grid;
  place-items: center;
  font-size: 0.7rem;
}
@media (max-width: 767px) {
  .c-member-box__qr-img {
    width: 50px;
    height: 50px;
    font-size: 0.6rem;
  }
}

.c-member-box__qr-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  color: #efbe13;
}
@media (max-width: 767px) {
  .c-member-box__qr-label {
    font-size: 0.6rem;
  }
}


/* --- Notice --- */
.c-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 18px;
  margin-bottom: 24px;
  max-width: 1000px;
}
@media (max-width: 1100px) {
  .c-notice {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
}
@media (max-width: 767px) {
  .c-notice {
    flex-direction: column !important;
  }
}

.c-notice__link {
  width: 100%;
}

.c-notice a:hover {
  opacity: 0.6;
}

.c-notice__main {
  display: flex;
  align-items: stretch;
  flex: 1;
  background: var(--color-white);
  border: 1px solid #333;
  overflow: hidden;
  min-height: 48px;
}
@media (max-width: 767px) {
  .c-notice__main {
    position: relative;
    padding-right: 15px;
  }
}

.c-notice__tag {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-danger);
  color: var(--color-white);
  font-weight: 700;
  padding: 0 10px;
  min-width: 55px;
}
@media (max-width: 767px) {
  .c-notice__tag {
    writing-mode: horizontal-tb !important;
    letter-spacing: normal !important;
    min-width: 50px !important;
    font-size: 0.85rem;
  }
}

.c-notice__content-wrap {
  display: flex;
  align-items: center;
  flex: 1;
}
@media (max-width: 767px) {
  .c-notice__content-wrap {
    flex-direction: column;
    align-items: flex-start;
    display: flex;
    justify-content: center;
    padding: 6px 8px;
    flex: 1;
    gap: 2px;
  }
}

.c-notice__date {
  padding: 0 16px;
  min-width: 120px;
  color: var(--color-muted);
}
@media (max-width: 767px) {
  .c-notice__date {
    padding: 0;
    font-size: 0.75rem;
    min-width: auto;
  }
}

.c-notice__title-row {
  display: flex;
  align-items: center;
  flex: 1;
}
@media (max-width: 767px) {
  .c-notice__title-row {
    display: block;
    width: 100%;
  }
}

.c-notice__title {
  flex: 1;
  padding: 0;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-notice__title {
    margin-bottom: 0 !important;
    font-size: 0.85rem;
  }
}

.c-notice__detail {
  display: flex;
  align-items: center;
  text-decoration: none;
  padding-right: 10px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-notice__detail {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    transform: translateY(-50%) !important;
    font-size: 0 !important;
    color: transparent !important;
    padding-right: 5px;
  }
}

.c-notice__detail::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  margin-left: 2px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (max-width: 767px) {
  .c-notice__detail::after {
    margin-left: 0 !important;
    width: 16px !important;
    height: 16px !important;
  }
}

.c-notice__all {
  flex: none;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px 0 24px;
  border-radius: 999px;
  background: #cc0000;
  color: #fff !important;
  white-space: nowrap;
  font-weight: 700;
  text-decoration: none;
}
@media (max-width: 1100px) {
  .c-notice__all {
    align-self: center;
    width: auto !important;
    margin-right: 0;
  }
}
@media (max-width: 767px) {
  .c-notice__all {
    height: 40px !important;
    border-radius: 999px !important;
    padding: 0 20px !important;
    font-size: 0.9rem;
  }
}

.c-notice__all::after {
  content: "";
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cc0000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='10 18 16 12 10 6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-left: 12px;
  flex-shrink: 0;
}

/* --- Banner --- */
.c-banner {
  display: block;
  overflow: hidden;
}

.c-banner__content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
}

.c-banner__content--center {
  text-align: center;
  align-items: center;
}

.c-banner__title {
  margin: 0 0 10px;
  font-size: 2.15rem;
  line-height: 1.2;
  font-weight: 800;
}

.c-banner__text {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.c-banner--campaign a:hover {
  opacity: 0.8;
}

/* --- Shortcut Card --- */
.c-shortcut-card {
  min-height: 152px;
  padding:16px 12px 16px;
  border: 1px solid #9d9d9d;
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  transition: transform var(--transition), box-shadow var(--transition);
}
@media (max-width: 767px) {
  .c-shortcut-card {
    padding: 14px 4px 6px;
    min-height: 100px;
    min-width: 0 !important;
    width: 100%;
    box-sizing: border-box;
  }
}

.c-shortcut-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.16);
}

.c-shortcut-card__icon {
  height: 90px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
}
@media (max-width: 767px) {
  .c-shortcut-card__icon {
    height: 44px;
    margin-bottom: 4px;
  }
}

.c-shortcut-card__icon img {
  max-width: 90px;
}
@media (max-width: 767px) {
  .c-shortcut-card__icon img {
    max-width: 50px;
  }
}

.c-shortcut-card__icon--entry {
  min-width: 84px;
  min-height: 38px;
  padding: 0 10px;
  background: #f2bf13;
  color: #fff;
  border-radius: 4px;
  font-size: 1rem;
}
@media (max-width: 767px) {
  .c-shortcut-card__icon--entry { 
    padding: 2px 6px; 
    font-size: 0.7rem; 
  }
}

.c-shortcut-card__label {
  margin-top: 10px;
  font-size: 1rem;
  line-height: 1.45;
  text-align: center;
  flex: 1; 
  display: grid;
  place-items: center; 
  width: 100%;
}
@media (max-width: 767px) {
  .c-shortcut-card__label {
    margin: 0;
    font-size: 0.65rem;
    line-height: 1.45;
    text-align: center;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .c-shortcut-card__label br {
    display: block;
  }
}

/* --- Drawer Menu --- */
.c-drawer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001;
  width: min(var(--drawer-width), 88vw);
  height: 100dvh;
  background: var(--color-primary);
  transform: translateX(-100%);
  transition: transform var(--transition);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
}

.c-drawer::-webkit-scrollbar {
  width: 6px;
}

.c-drawer::-webkit-scrollbar-track {
  background: transparent;
}

.c-drawer::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: 10px;
}

.c-drawer::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.25);
}

.c-drawer.is-open {
  transform: translateX(0);
  box-shadow: 8px 0 18px rgba(0, 0, 0, 0.18);
}

.c-drawer button {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.c-drawer__label {
  display: flex;
  align-items: center;
  gap: 12px;
}

.c-drawer__icon {
  font-size: 1.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
}

.c-drawer ul,
.c-drawer ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-drawer__inner {
  padding: 10px 12px 24px;
}

.c-drawer__head {
  margin-bottom: 10px;
}

.c-drawer__close {
  width: 40px;
  height: 40px;
  font-size: 2rem;
  line-height: 1;
}

.c-drawer__link,
.c-drawer__toggle,
.c-drawer__submenu a,
.c-drawer__close {
  transition: background-color 0.2s ease, opacity 0.2s ease, color 0.2s ease;
}

.c-drawer__close:hover {
  opacity: 0.5;
}

a.c-drawer__link::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  flex-shrink: 0;
  margin-right: 4px;
}

.c-drawer__member {
  margin-bottom: 14px;
  padding: 12px;
  border-radius: 8px;
  background: var(--color-surface-2);
}

.c-drawer__member-name {
  margin: 0 0 8px;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 6px;
}

.c-drawer__member-name span {
  color: var(--color-muted);
}

.c-drawer__member-icon {
  width: 16px;
  height: 16px;
  color: #dfaf00;
  flex-shrink: 0;
}

.c-drawer__member-row {
  display: flex;
  justify-content: space-between;
  gap: 3px;
  font-size: 0.8rem;
}

.c-drawer__member-row + .c-drawer__member-row {
  margin-top: 4px;
}

.c-drawer__member-label {
  color: #d49b00;
  font-weight: 700;
  flex:1;
}
.c-drawer__member-divider {
  border: 0; 
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1); 
  margin: 12px 0;
}
.c-drawer__menu {
  margin-bottom: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.16);
}

.c-drawer__menu--top .c-drawer__item {
  margin-top: 4px;
  overflow: hidden;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.12);
  box-shadow: var(--shadow-sm);
}

.c-drawer__menu--top .c-drawer__link::after {
  display: none !important;
}

.c-drawer__item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.16);
}

.c-drawer__link,
.c-drawer__toggle {
  width: 100%;
  min-height: 48px;
  padding: 0 10px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  font-size: 0.95rem !important;
  color: var(--color-text) !important;
}

.c-drawer__plus {
  font-size: 0;
  position: relative;
  width: 14px;
  height: 14px;
  display: inline-block;
  flex-shrink: 0;
}

.c-drawer__plus::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transform: translateY(-50%);
}

.c-drawer__plus::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  background-color: currentColor;
  transform: translateX(-50%);
  transition: transform 0.5s ease, opacity 0.5s ease;
}

.c-drawer__item.is-open .c-drawer__plus::after {
  transform: translateX(-50%) rotate(90deg);
  opacity: 0;
}

.c-drawer__item.is-open .c-drawer__submenu {
  max-height: 800px;
  opacity: 1;
  visibility: visible;
}
.c-drawer__item.is-open {
  border-bottom: none;
  margin-bottom: 8px;
}

.c-drawer__item.is-open .c-drawer__toggle {
  border-radius: 8px 8px 0 0 !important; 
  background-color: rgba(0, 0, 0, 0.03);
}
.c-drawer__item:has(+ .c-drawer__item.is-open) {
  border-bottom-color: transparent; 
}
.c-drawer__menu:has(> .c-drawer__item:first-child.is-open) {
  border-top-color: transparent;
}
.c-drawer__submenu {
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.5s ease, visibility 0.4s;
  padding: 0;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 0 0 8px 8px;
  overflow: hidden;
  margin-top: 0;
}
.c-drawer__submenu a {
  display: block;
  padding: 12px 12px 12px 20px;
  font-size: 0.88rem;
  background: var(--color-surface-2);
  color: var(--color-text);
}

.c-drawer__foot {
  margin-top: 22px;
  display: grid;
  gap: 12px;
}

.c-drawer__menu--top .c-drawer__link:hover,
.c-drawer__menu--top .c-drawer__toggle:hover {
  background-color: rgba(255, 255, 255, 0.15);
}

.c-drawer__menu:not(.c-drawer__menu--top) .c-drawer__link:hover,
.c-drawer__menu:not(.c-drawer__menu--top) .c-drawer__toggle:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.c-drawer__submenu a:hover {
  background-color: rgba(0, 0, 0, 0.04);
}

/* --- Social Link --- */
.c-social-link {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--color-white); 
  box-shadow: 
    0 0 0 2px #e0e0e0,
    0 0 0 calc(2px + 2px) var(--color-white); 
  display: grid;
  place-items: center;
  font-weight: 700;
}

.c-social-link img {
  max-width: 80%;
}

.c-external-icon {
  width: 18px;
  height: 18px;
  margin-left: 8px;
  flex-shrink: 0;
}

/* --- Page Top --- */
.c-page-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 100;
  width: 50px;
  height: 50px;
  background: #777;
  border-radius: 8px;
  display: grid;
  place-items: center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  opacity: 0;
  visibility: hidden;
  transition: background 0.3s, opacity 0.3s, transform 0.3s;
}
@media (max-width: 767px) {
  .c-page-top {
    width: 40px;
    height: 40px;
    right: 15px;
    bottom: 15px;
    border-radius: 6px;
  }
}

.c-page-top:hover {
  background: #555;
  transform: translateY(-2px);
}

.c-page-top::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 14px solid #fff;
  margin-bottom: 3px;
}
@media (max-width: 767px) {
  .c-page-top::after {
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 12px solid #fff;
  } 
}


/* ==========================================================================
   Project (p-) : 特定のページやコンテキストに依存するスタイル
========================================================================== */
/* --- Hero Slider --- */
.p-home-hero {
  position: relative;
  margin-bottom: 25px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}

.p-home-hero__viewport {
  width: 100%;
  overflow: visible; 
}

.p-home-hero__track {
  display: flex;
  will-change: transform;
}

.p-home-hero__track.is-animating {
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.p-home-hero__slide {
  flex: 0 0 740px;
  width: 740px;
  padding: 0 30px;
  opacity: 0.4; 
  transition: opacity 0.6s ease;
}
@media (max-width: 767px) {
  .p-home-hero__slide {
    flex: 0 0 85vw;
    width: 85vw;
    padding: 0 5px; 
  }
}

.p-home-hero__slide.is-active {
  opacity: 1; 
}

.p-home-hero__slide img {
  width: 100%; 
  height: auto;
  margin: 0 auto;
  display: block;
}

.p-home-hero__arrow {
  width: 36px;
  height: 36px;
  border-radius: 47%;
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 48% !important;
  transform: translateY(-50%) !important;
  z-index: 10;
  border: none;
  cursor: pointer;
  padding: 0;
  font-size: 0 !important;
  color: transparent !important;
  line-height: 1;
  text-indent: -9999px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  transition: background 0.3s ease;
}

.p-home-hero__arrow:hover {
  background: rgba(0, 0, 0, 0.6);
}

.p-home-hero__arrow::after,
.p-home-hero__arrow::before {
  content: "" !important;
  display: none !important;
}

.p-home-hero__arrow svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #fff;
  stroke-width: 2.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
  position: static;
  transform: none;
  pointer-events: none;
}

.p-home-hero__arrow--prev {
  left: calc(50vw - 385px) !important;
  right: auto !important;
}
@media (hover: hover) and (pointer: fine) {
  .p-home-hero__arrow--prev {
    left: calc(50vw - 385px) !important;
  }
}
@media (max-width: 860px) {
  .p-home-hero__arrow--prev {
    left: 10px !important;
  }
}
@media (max-width: 767px) {
  .p-home-hero__arrow--prev {
    left: 8px !important;
  }
}

.p-home-hero__arrow--next {
  right: calc(50vw - 385px) !important;
  left: auto !important;
}
@media (hover: hover) and (pointer: fine) {
  .p-home-hero__arrow--next {
    right: calc(50vw - 400px) !important;
  }
}
@media (max-width: 860px) {
  .p-home-hero__arrow--next {
    right: 10px !important;
  }
}
@media (max-width: 767px) {
  .p-home-hero__arrow--next {
    right: 8px !important;
  }
}

.p-home-hero__dots {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 5px;
}
@media (max-width: 767px) {
  .p-home-hero__dots {
    margin-top: 10px;
  }
}

.p-home-hero__dot {
  width: 20px;
  height: 4px;
  background: #ccc;
  border: 0;
  transition: background 0.3s;
}

.p-home-hero__dot.is-active {
  background: var(--color-primary);
}

/* --- Shortcut Grid --- */
.p-home-shortcut__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px 24px;
  margin-bottom: 42px;
}
@media (max-width: 1100px) {
  .p-home-shortcut__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .p-home-shortcut__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px; 
    margin-bottom: 24px;
    width: 100%;
  }
}

.p-home-shortcut__bottom {
  text-align: left;
}

/* --- Home List --- */
.p-home-list {
  display: block;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-border);
}
@media (max-width: 767px) {
  .p-home-list {
    display: block !important;
    margin-bottom: 24px;
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
  }
}

.p-home-list__item {
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .p-home-list__item {
    display: block;
    border-bottom: none;
    margin-bottom: 12px;
  }
}

.p-home-list__item:last-child {
  border-bottom: none;
}
@media (max-width: 767px) {
  .p-home-list__item:last-child {
    margin-bottom: 0;
  }
}

.p-home-list__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--color-text);
}
@media (max-width: 767px) {
  .p-home-list__link {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #dcdcdc;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-text);
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
  }
}

.p-home-list__link::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #ccc;
  border-right: 2px solid #ccc;
  transform: rotate(45deg);
  margin-left: 10px;
}
@media (max-width: 767px) {
  .p-home-list__link::after {
    display: none;
  }
  .p-home-list__link::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #555;
    border-right: 2px solid #555;
    transform: rotate(45deg);
    flex-shrink: 0;
  }
}

/* 各種変更手続きページ (.p-procedure) */
.p-page-header {
  margin-bottom: 32px;
  text-align: center; 
}
@media (max-width: 767px) {
  .p-page-header {
    margin-bottom: 24px;
  }
}

.p-page-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #333;
  margin: 0;
  padding-bottom: 8px;
  display: inline-block;
  border-bottom: 3px solid #dfaf00; 
}
@media (max-width: 767px) {
  .p-page-title {
    font-size: 1.25rem;
  }
}

.p-procedure-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); 
  gap: 24px; 
}
@media (max-width: 767px) {
  .p-procedure-grid {
    grid-template-columns: 1fr; 
    gap: 16px;
  }
  .p-procedure-grid .c-shortcut-card {
    min-height: auto;
    padding: 16px 20px;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center; 
  }
  .p-procedure-grid .c-shortcut-card__icon {
    width: 60px;
    height: 60px;
    margin: 0 10px 0 0;
    flex-shrink: 0;
    display: flex ;
    justify-content: center;
    align-items: center; 
  }
  .p-procedure-grid .c-shortcut-card__label {
    text-align: left ;
    font-size: 0.95rem;
    margin: 0;
    flex: 1; 
    display: block; 
  }
}

/* トップページの中にある戻るボタンだけを非表示にする */
body#top .contentsBackBtns.btm.noCategory {
  display: none !important;
}

/* 住所・電話番号・口座変更 */
	@media screen and (min-width: 768px) {
    a[href^="tel:"] {
      pointer-events: none;
      cursor: default;
      text-decoration: none !important;
      color: inherit;
    }
	}
	.authCautionBox { 
		max-width: 1000px; 
		margin: 0 auto 1.5em; 
		padding: 1em; 
		border: 1px solid #707070; 
		background: #f2f2f2; 
		cursor: pointer;
	}

	.authCautionBox h2 { font-size: 112.5%; }
	.authCautionBox p { font-size: 93.75%; line-height: 1.6; }
	.authCautionBox .cautionMore { 
		overflow: hidden; 
		max-height: 0px; 
		opacity: 0; 
		transition: all .5s ease; 
	}

	.authCautionBox.active .cautionMore { 
		max-height: 100em; 
		opacity: 1; 
		padding-top: 1.5em; 
	}
  .authCautionBox .authCautionContent {
    width: fit-content;
    max-width: 100%; 
    margin: 0 auto;
    text-align: left; 
  }
  @media screen and (min-width: 768px) {
    .authCautionBox .authCautionContent {
      width: max-content;
      max-width: 75%;
    }
  }
	.authCautionBox .toggleButton {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;  
    margin-top: 1em;
    font-weight: bold;
    font-size: 0.9rem;
    color: #333;
}

.authCautionBox .toggleButton::before {
    content: "詳細を見る"; 
    height: auto;
    visibility: visible;
}

.authCautionBox.active .toggleButton::before {
    content: "閉じる";
    height: auto;
    visibility: visible;
}

.authCautionBox .toggleButton::after {
    content: "";
    display: block;
    width: 0.6em;
    height: 0.6em;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    margin-bottom: 0.1em;
    visibility: visible;
}

.authCautionBox.active .toggleButton::after {
    transform: rotate(-135deg);
    margin-top: 0.2em;
    margin-bottom: 0;
}