html {
scroll-behavior: smooth;
}
body {
font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Meiryo", "MS PGothic", sans-serif;
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
	color:#474B46;
	pointer-events: none;
	text-decoration: none;
	}
	
}
@media (max-width: 767px) {
	a[href^="tel:"] {
		text-decoration:underline;
	}
}
/*ページ上部ボタンのいち変更*/
.scroll-top {
bottom: 100px !important;
z-index: 10;
}   


@media (min-width: 768px) {
#container {
width:100%;
color:#333;
margin-top:-24px;
}
}
@media (max-width: 767px) {
#container {
margin-top:-24px;
width:100%;
color:#333;
background:#fff;
}
}

/*contents*/
@media (min-width: 768px) {
.contents{
width: 100%;
display:table;
border-radius: 40px 40px 0 0;
background: #fff;
}
}
@media (max-width: 767px) {
.contents{
width: 100%;
display:table;
border-radius: 20px 20px 0 0;
background: #fff;
}
}
/*contents*/
@media (min-width: 768px) {
.contentsmain{
width: 100%;
max-width: 1100px;
margin	: 20px auto 100px;
color: #333;
display:table;
}
}
@media (max-width: 767px) {
.contentsmain{
width: 90%;
margin	: 20px auto 80px;
color: #333;
display:table;
}
}
@media (min-width: 768px) {
.contentsmain h2 {
margin	: 60px auto 30px;
text-align:center;
font-size:40px;
font-weight:bold;
padding:10px;
letter-spacing:2px;
}
.contentsmain h2 span{
display:block;
font-size:16px;
line-height: 160%;
color:#77a8c4;
font-weight:normal;
letter-spacing:2px;
}
.contentsmain h2.line {
position: relative;
margin	: 60px auto 30px;
text-align:center;
font-size:40px;
font-weight:bold;
padding:10px;
letter-spacing:2px;
}
.contentsmain h2.line:before {
  content: '';
  position: absolute;
  bottom:-10px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #77a8c4;
  border-radius: 2px;
}
.contentsmain p {
margin-bottom: 0px;
}
.contentsmain p.maintext {
margin	: 0px auto 30px;
text-align:center;
font-size:120%;
font-weight:bold;
padding:10px;
letter-spacing:2px;
}
.contentsmain p.subtext {
margin	: 10px auto 30px;
text-align:center;
font-size:110%;
padding:10px;
letter-spacing:2px;
}
.contentsmain p.equipment {
margin	: 10px auto 30px;
padding: 24px;
text-align:center;
font-size:110%;
letter-spacing:2px;
background: #ebf2f6;
}

.contentsmain h3 {
font-size:35px;
font-weight: bold;
letter-spacing: 1px;
padding: 0 3em;
width: fit-content;
margin: 100px auto 50px;
text-align: center;
position: relative;
}
.contentsmain h3::before, .contentsmain h3::after {
content: '';
background: #6785b5;
width: 2em;
height: 1px;
position: absolute;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
}
.contentsmain h3::before {
left:0;
}
.contentsmain h3::after {
right: 0;
}
}

@media (max-width: 767px) {
.contentsmain h2 {
margin	: 30px auto 30px;
text-align:center;
font-size:26px;
font-weight:bold;
padding:0 10px;
letter-spacing:2px;
}
.contentsmain h2 span{
display:block;
font-size:14px;
color:#77a8c4;
font-weight:normal;
letter-spacing:2px;
}
.contentsmain h2.line {
position: relative;
margin	: 30px auto 30px;
text-align:center;
font-size:26px;
font-weight:bold;
padding:10px;
letter-spacing:2px;
}
.contentsmain h2.line:before {
  content: '';
  position: absolute;
  bottom:-10px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #77a8c4;
  border-radius: 2px;
}
.contentsmain p {
margin-bottom: 0px;
}

.contentsmain p.maintext {
margin	: 0px auto 20px;
text-align:center;
font-size:120%;
font-weight:bold;
padding:10px;
letter-spacing:2px;
}
.contentsmain p.subtext {
margin	: 10px auto 30px;
text-align:center;
font-size:110%;
font-weight:bold;
padding:10px;
letter-spacing:2px;
}
.contentsmain p.equipment {
margin	: 10px auto 30px;
padding: 15px;
text-align:center;
background: #ebf2f6;
}
.contentsmain h3 {
font-size:20px;
font-weight: bold;
letter-spacing: 1px;
padding: 0 3em;
width: fit-content;
margin: 80px auto 50px;
text-align: center;
position: relative;
}
.contentsmain h3::before, .contentsmain h3::after {
content: '';
background: #6785b5;
width: 2em;
height: 1px;
position: absolute;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
}
.contentsmain h3::before {
left:0;
}
.contentsmain h3::after {
right: 0;
}
}

/* align */
.ac {	text-align:center;}
.al {	text-align:left;}
.ar {	text-align:right;}

/* font
--------------------------*/
.fb{ font-weight:bold;}
.fn{ font-weight:normal;}
.fsm { font-size:110%; }
.fsl { font-size:120%; }
.fsll { font-size:150%; }
.fss { font-size:90%; }
.red{ color:#C62618;}
.blue{ color:#3387b4;}
.r_blue{color: #97abcc}
.fs10 { font-size:10px; }
.fs11 { font-size:11px; }
.fs12 { font-size:12px; }
.fs13 { font-size:13px; }
.fs14 { font-size:14px; }
.fs15 { font-size:15px; }
.fs16 { font-size:16px; }
.fs17 { font-size:17px; }
.fs18 { font-size:18px; }
.fs19 { font-size:19px; }
.fs20 { font-size:20px; }
.fs21 { font-size:21px; }
.fs22 { font-size:22px; }
.fs23 { font-size:23px; }
.fs24 { font-size:24px; }
.fs25 { font-size:25px; }
.fs26 { font-size:26px; }


.fr{float: right;}
.fl{float: left;}

@media (min-width: 768px) {
.sp {
display: none;
}
}

@media (max-width: 767px) {
.pc {
display: none;
}
}

a img:hover {
opacity: 0.7;
transition: all 0.3s ease;
}


@media (min-width: 768px) {
.btn {
position: relative;
display:inline-block;
width: 280px;
padding: 14px 0;
border: 1px solid #265195;
border-radius: 10px;
background-color: #fff;
font-size: 18px;
color: #265195;
font-weight: bold;
text-align: center;
}
.btn::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 20px;
width: 9px;
height: 9px;
margin: auto;
border-top: 2px solid #265195;
border-right: 2px solid #265195;
transform: rotate(45deg);
box-sizing: border-box;
}
.btn:hover {
color:#265195;
background:#becbdf;
transition: all 0.3s ease;
}
}
@media (max-width: 767px) {
.btn {
position: relative;
display:inline-block;
width: 90%;
padding: 12px 0;
border: 1px solid #265195;
border-radius: 10px;
background-color: #fff;
font-size: 16px;
color: #265195;
font-weight: bold;
text-align: center;
}
.btn::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 8px;
width: 6px;
height: 6px;
margin: auto;
border-top: 2px solid #265195;
border-right: 2px solid #265195;
transform: rotate(45deg);
box-sizing: border-box;
}
.btn:hover {
color:#265195;
background:#becbdf;
transition: all 0.3s ease;
}
}

.btn_pdf {
position: relative;
display:inline-block;
width: 280px;
padding: 12px 0;
line-height: 110%;
border: 1px solid #265195;
border-radius: 10px;
background-color: #fff;
font-size: 18px;
color: #265195;
font-weight: bold;
text-align: center;
background: url(../img/icon_pdf.png) 95% 50% no-repeat #fff;
}
.btn_pdf:hover {
color:#265195;
transition: all 0.3s ease;
background: url(../img/icon_pdf.png) 95% 50% no-repeat #becbdf;
}

.btn_pdfs {
position: relative;
display:inline-block;
width: 90%;
margin: 4px auto;
padding: 10px 30px 10px 10px;
border: 1px solid #265195;
border-radius: 10px;
background-color: #fff;
font-size: 15px;
line-height: 110%;
color: #265195;
font-weight: bold;
text-align: center;
background: url(../img/icon_pdf.png) 95% 50% no-repeat #fff;
}
.btn_pdfs:hover {
color:#265195;
transition: all 0.3s ease;
background: url(../img/icon_pdf.png) 95% 50% no-repeat #becbdf;
}

.btn_bc {
position: relative;
display:inline-block;
padding: 10px 40px 10px 20px;
border: 1px solid #3387b4;
border-radius: 10px;
background-color: #fff;
font-size: 18px;
color: #3387b4;
font-weight: bold;
text-align: center;
margin:0 auto;
}
.btn_bc::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 20px;
width: 9px;
height: 9px;
margin: auto;
border-top: 2px solid #3387b4;
border-right: 2px solid #3387b4;
transform: rotate(45deg);
box-sizing: border-box;
}
.btn_bc:hover {
color: #3387b4;
background:#b2d2e3;
transition: all 0.3s ease;
}

.btn_yy {
position: relative;
display:inline-block;
padding: 10px 40px 10px 20px;
border: 1px solid #d9715a;
border-radius: 10px;
background-color: #fff;
font-size: 18px;
color: #d9715a;
font-weight: bold;
text-align: center;
margin:0 auto;
}
.btn_yy::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 20px;
width: 9px;
height: 9px;
margin: auto;
border-top: 2px solid #d9715a;
border-right: 2px solid #d9715a;
transform: rotate(45deg);
box-sizing: border-box;
}
.btn_yy:hover {
color: #d9715a;
background:#f4d4cd;
transition: all 0.3s ease;
}

/*****グローバルメニュー****/
#menu{
    width: 100%;
    margin: 25px auto 0px;
	background:#253259;
	border-bottom:1px solid #005fb0;
}
#menu-inner{
    width: 1000px;
    height: 50px;
    margin: 0 auto;
	background:#253259;
}
#menu-btn{display: none;}
#menu-content{
    padding-left: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    list-style-type: none;
}
#menu-content > li{
    position: relative;
    float: left;
    height: 100%;
    text-align: center;
	width:16%;
	border-left:1px solid #6785b5;
}
#menu-content > li:last-child{
	border-right:1px solid #6785b5;
}
@media (min-width: 768px) {
#menu-content > li:nth-child(1),#menu-content > li:nth-child(2){
	width:26% !important;
}
}
#menu-content > li > a{
    position: relative;
    display: block;
    height: 100%;
	padding:15px 5px;
	background:#253259;
    color: #fff;
    font-size: 110%;
	font-weight:bold;
    text-decoration: none;
    z-index: 2;
}
#menu-content > li > a:hover{
	background:#265195;
    color: #fff;
}
#menu-content > li > a > .blogicon-chevron-down{margin-right: 5px;}

/*２階層目*/
#menu-content > li > ul.second-content{
    visibility: hidden;
    position: absolute;
    top: 0;
    margin: 0;
    padding-left: 0;
    list-style-type: none;
    z-index: -1;
}
#menu-content > li:hover > ul.second-content{
    visibility: visible;
    top: 50px;
    z-index: 1;
    transition: all .3s;
}
#menu-content > li > ul.second-content > li{
    text-align: center;
    width: 158px;
    height: 40px;
}
#menu-content > li:nth-child(1) > ul.second-content > li,#menu-content > li:nth-child(2) > ul.second-content > li{
    text-align: center;
    width: 258px;
    height: 40px;
}
#menu-content > li > ul.second-content > li > a{
    display: block;
    line-height: 40px;
    background: #265195;
    color: #fff;
	font-weight:bold;
    font-size: 100%;
    text-decoration: none;
	border-top:1px solid #4C90BE;
}
#menu-content > li > ul.second-content > li > a:hover{
    background: #555;
    color: #fff;
}

@media screen and (max-width:768px){
#menu-inner{
    width: 100%;
    height: auto;
}
#btn-content{text-align: center;}
#menu-btn{
    display: inline-block;
    padding: 8px 15px;
    margin: 5px;
    cursor: pointer;
    color: #fff;
    font-size: 90%;
}
#menu-content{
    display: none;
    width: 100%;
}
#menu-content > li{
    width: 100%;
    height: 40px;
    float: none;
}
#menu-content > li > a{
    width: 100%;
    line-height: 40px;
    padding: 0;
    text-decoration: none;
}
/*２階層目*/
#menu-content > li:hover > ul.second-content{display: none;}
#menu-content > li > a > .blogicon-chevron-down{display: none;}
}

/* ボタンのスタイル */
.hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 30px;
  cursor: pointer;
  z-index: 20;
}

#menu-btn span {
  display: block;
  height: 3px;
  width: 20px;
  background-color: #fff;
  margin: 5px 0;
  transition: 0.4s;
}

/*電話番号下線*/
a[href^="tel:"] {
  text-decoration: none;
}

/* バツ印に変化するスタイル */
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}



@media screen and (min-width: 768px), print {
.rccbc {
position: relative;
width: 100%;
height: 500px;
background: url(../rccbc/img/top_main.jpg) 50% 50% no-repeat; 
background-size: cover;
}
.rccbc p{
position:absolute;
font-size: 77px;
line-height: 100%;
text-align: center;
  right: 0;
  bottom: 28px;
  left: 0;
  color: #fff;
  margin: 0;
}
}

@media screen and (max-width: 767px) {
.rccbc {
position: relative;
width: 100%;
height: 300px;
background: url(../rccbc/img/top_main.jpg) 50% 50% no-repeat; 
background-size: cover;
}
.rccbc p{
position:absolute;
font-size: 30px;
font-weight: bold;
line-height: 100%;
text-align: center;
  right: 0;
  bottom: 35px;
  left: 0;
  color: #fff;
  margin: 0;
}
}

/*under page*/
@media screen and (min-width: 768px), print {
.path{
position:absolute;
  right: 0;
  bottom:0;
  left: 0;

  margin: 0;
padding: 0 ;
text-align:left;
border-radius: 40px 40px 0 0;
background: #fff;
}
.path ul{
width:950px;
margin:0 auto;
display: table;
list-style:none;
}
.path ul li{
float:left;
padding:8px;
}
.path a{
font-size: 14px;
line-height: 160%;
text-decoration:none;
color: #333;
}
.path li:before {
content: '>';
margin-right: 10px;
}
.path li:first-child::before {
content: none;
}
}
@media screen and (max-width: 767px) {
.path{
position:absolute;
  right: 0;
  bottom:0;
  left: 0;

  margin: 0;
padding: 0 ;
text-align:left;
border-radius: 40px 40px 0 0;
background: #fff;
}
.path ul{
width:95%;
margin:0 auto;
display: table;
list-style:none;
}
.path ul li{
float:left;
padding:8px 5px 10px;
}
.path a{
font-size: 13px;
line-height: 160%;
text-decoration:none;
color: #333;
}
.path li:before {
content: '>';
margin-right: 5px;
}
.path li:first-child::before {
content: none;
}
}

@media (min-width: 768px) {
ul.pagenav{
display:table;
width:100%;
border-collapse: separate;
border-spacing: 10px 0;
margin:5px auto 10px;
padding:0px
}
ul.pagenav li{
display:table-cell;
width:20%;
text-align:center;
}
ul.pagenav li a{
position: relative;
display:block;
width:100%;
max-width: 300px;
border-radius:10px;
padding:10px 30px 20px;
text-align:center;
font-weight:bold;
color:#333;
font-size:16px;
background:#ebf2f6;
margin:0 auto;
}
ul.pagenav li a::before {
content: "";
position: absolute;
bottom: 8px;
left: 50%;
vertical-align: middle;
line-height: 1;
width: 0.5em;
height: 0.5em;
border: 0.2em solid #77a8c4;
border-left: 0;
border-bottom: 0;
box-sizing: border-box;
transform: translateY(-25%) rotate(135deg);
}
ul.pagenav li a:hover{
color: #0069a1;
background:#bbd4e2;
transition: all 0.3s ease;
}
}

@media (max-width: 767px) {
ul.pagenav{
display:table;
width:100%;
border-collapse: separate;
border-spacing: 5px 0;
margin:0 auto 10px;
}
ul.pagenav li{
display:table-cell;
}
ul.pagenav li a{
position: relative;
display:block;
width:100%;
border-radius:10px;
padding:10px 5px 20px 5px;
text-align:center;
font-weight:bold;
color:#333;
font-size:15px;
background:#ebf2f6;
}
ul.pagenav li a::before {
content: "";
position: absolute;
bottom: 8px;
left: 50%;
vertical-align: middle;
line-height: 1;
width: 0.5em;
height: 0.5em;
border: 0.2em solid #77a8c4;
border-left: 0;
border-bottom: 0;
box-sizing: border-box;
transform: translateY(-25%) rotate(135deg);
}
ul.pagenav li a:hover{
color: #0069a1;
background:#bbd4e2;
transition: all 0.3s ease;
}
}



@media (min-width: 768px) {
ul.column3-2 {
display: flex;
flex-wrap: wrap;
list-style: none;
padding: 0;
margin: 0;
font-size: 16px;
}
ul.column3-2 li {
flex: 0 0 33.33%;
padding: 30px;
text-align: center;
}
ul.column3-2 li img{
width: 100%;
border-radius: 10px;
height: auto;
object-fit: cover;
object-position: 50% 50%;
font-family: 'object-fit: cover; object-position: 50% 50%;' /* IE・Edge対応 */;
}
ul.column3-2 li p{
margin: 10px auto;
}
ul.column3-2 li p span{
display: block;
font-size: 110%;
font-weight: bold;
}
ul.column3-2 li p span.bc {
display:inline !important;
background: #3387b4;
color: #fff;
font-weight: normal !important;
padding: 2px 8px !important;
text-align: center;
font-size: 12px !important;
margin: 5px 5px 2px;
}
ul.column3-2 li p span.yy {
display:inline !important;
background: #e18d7b;
color: #fff;
font-weight: normal !important;
padding: 2px 8px !important;
text-align: center;
font-size: 12px !important;
margin: 5px 5px 2px;
}
}

@media (max-width: 767px) {
ul.column3-2 {
display: flex;
flex-wrap: wrap;
list-style: none;
padding: 0;
margin: 0;
font-size: 15px;
line-height: 110%;
}
ul.column3-2 li {
flex: 0 0 50%;
padding: 10px;
text-align: center;
}
ul.column3-2 li img{
width: 100%;
border-radius: 10px;
height:auto;
object-fit: cover;
object-position: 50% 50%;
font-family: 'object-fit: cover; object-position: 50% 50%;' /* IE・Edge対応 */;
}
ul.column3-2 li p{
margin: 10px auto;
}
ul.column3-2 li p span{
display: block;
font-size: 110%;
line-height: 150%;
font-weight: bold;
}
ul.column3-2 li p span.bc {
display:inline !important;
background: #3387b4;
color: #fff;
font-weight: normal !important;
padding: 2px 8px !important;
text-align: center;
font-size: 12px !important;
margin: 5px 5px 2px;
}
ul.column3-2 li p span.yy {
display:inline !important;
background: #e18d7b;
color: #fff;
font-weight: normal !important;
padding: 2px 8px !important;
text-align: center;
font-size: 12px !important;
margin: 5px 5px 2px;
}
}

@media (min-width: 768px) {
ul.column3-2h {
display: flex;
flex-wrap: wrap;
list-style: none;
padding: 0;
margin: 0;
font-size: 16px;
}
ul.column3-2h li {
flex: 0 0 33.33%;
padding: 30px;
text-align: center;
}
ul.column3-2h li img{
width: 100%;
border-radius: 10px;
height: 220px;
object-fit: cover;
object-position: 50% 50%;
font-family: 'object-fit: cover; object-position: 50% 50%;' /* IE・Edge対応 */;
}
ul.column3-2h li p{
margin: 10px auto;
}
ul.column3-2h li p span{
display: block;
font-size: 110%;
font-weight: bold;
}
ul.column3-2h li p span.bc {
display:inline !important;
background: #3387b4;
color: #fff;
font-weight: normal !important;
padding: 2px 8px !important;
text-align: center;
font-size: 12px !important;
margin: 5px 5px 2px;
}
ul.column3-2h li p span.yy {
display:inline !important;
background: #e18d7b;
color: #fff;
font-weight: normal !important;
padding: 2px 8px !important;
text-align: center;
font-size: 12px !important;
margin: 5px 5px 2px;
}
ul.column3-2h h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #5174aa;
	font-size: 20px;
	margin: -20px auto 10px;
	padding: 0 20px;
}
ul.column3-2h h3::before,
ul.column3-2h h3::after {
    width: 3px;
    height: 20px;
	top:20%;
    background-color: #5174aa;
    content: '';
}
ul.column3-2h h3::before {
    transform: rotate(-35deg);
    margin-right: 20px;
}
ul.column3-2h h3::after {
    transform: rotate(35deg);
    margin-left: 20px;
}
}

@media (max-width: 767px) {
ul.column3-2h {
display: flex;
flex-wrap: wrap;
list-style: none;
padding: 0;
margin: 0;
font-size: 15px;
line-height: 110%;
}
ul.column3-2h li {
flex: 0 0 50%;
padding: 10px;
text-align: center;
}
ul.column3-2h li img{
width: 100%;
border-radius: 10px;
height:120px;
object-fit: cover;
object-position: 50% 50%;
font-family: 'object-fit: cover; object-position: 50% 50%;' /* IE・Edge対応 */;
}
ul.column3-2h li p{
margin: 10px auto;
}
ul.column3-2h li p span{
display: block;
font-size: 110%;
line-height: 150%;
font-weight: bold;
}
ul.column3-2h li p span.bc {
display:inline !important;
background: #3387b4;
color: #fff;
font-weight: normal !important;
padding: 2px 8px !important;
text-align: center;
font-size: 12px !important;
margin: 5px 5px 2px;
}
ul.column3-2h li p span.yy {
display:inline !important;
background: #e18d7b;
color: #fff;
font-weight: normal !important;
padding: 2px 8px !important;
text-align: center;
font-size: 12px !important;
margin: 5px 5px 2px;
}
ul.column3-2h h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #5174aa;
	font-size: 16px;
	line-height: 100%;
	margin: 0px auto 10px;
	padding: 0 20px;
}
ul.column3-2h h3::before,
ul.column3-2h h3::after {
    width: 3px;
    height: 20px;
	top:20%;
    background-color: #5174aa;
    content: '';
}
ul.column3-2h h3::before {
    transform: rotate(-35deg);
    margin-right: 20px;
}
ul.column3-2h h3::after {
    transform: rotate(35deg);
    margin-left: 20px;
}
}

@media (min-width: 768px) {
ul.column4-2h {
display: flex;
flex-wrap: wrap;
list-style: none;
padding: 0;
margin: 0;
font-size: 16px;
}
ul.column4-2h li {
flex: 0 0 25%;
padding: 30px;
text-align: center;
}
ul.column4-2h li img{
width: 100%;
border-radius: 10px;
height: 150px;
object-fit: cover;
object-position: 50% 50%;
font-family: 'object-fit: cover; object-position: 50% 50%;' /* IE・Edge対応 */;
}
ul.column4-2h li p{
margin: 10px auto;
}
ul.column4-2h li p span{
display: block;
font-size: 110%;
font-weight: bold;
}
ul.column4-2h li a{
color: #333;
}
}
@media (max-width: 767px) {
ul.column4-2h {
display: flex;
flex-wrap: wrap;
list-style: none;
padding: 0;
margin: 0;
font-size: 16px;
}
ul.column4-2h li {
flex: 0 0 50%;
padding: 10px;
text-align: center;
}
ul.column4-2h li img{
width: 100%;
border-radius: 10px;
height: 150px;
object-fit: cover;
object-position: 50% 50%;
font-family: 'object-fit: cover; object-position: 50% 50%;' /* IE・Edge対応 */;
}
ul.column4-2h li p{
margin: 10px auto;
}
ul.column4-2h li p span{
display: block;
font-size: 110%;
font-weight: bold;
}
ul.column4-2h li a{
color: #333;
}
}

@media (min-width: 768px) {
ul.column2 {
display: flex;
list-style: none;
justify-content: center;
align-items: center;
}
ul.column2 li {
display: inline;
}
ul.column2 li p{
padding: 30px;
border-radius: 10px;
background: #fff;
margin: 10px 50px;
width: 230px;
text-align: center;
font-size: 18px;
font-weight: bold;
}
ul.column2 li p img{
width: 110px;
}
ul.column2 li a{
color:#333;
}
}
@media (max-width: 767px) {
ul.column2 {
display: flex;
list-style: none;
justify-content: center;
align-items: center;
}
ul.column2 li {
display: inline;
}
ul.column2 li p{
padding: 20px;
border-radius: 10px;
background: #fff;
margin: 10px;
width: 150px;
text-align: center;
font-size: 16px;
font-weight: bold;
}
ul.column2 li p img{
width: 70%;
}
ul.column2 li a{
color:#333;
}
}

.tbl{
width:100%;
font-size: 15px;
letter-spacing: 1px;
margin: 10px auto;
background: #fff;
}
.tbl th {
padding:5px;
border: 1px solid #aaa;
vertical-align: middle;
}
.tbl td {
padding:5px;
border: 1px solid #aaa;
vertical-align: middle;
}


@media (min-width: 768px) {
footer{
position: sticky;
bottom: 0;
width: 100%;
background: #fff;
border-radius: 20px 20px 0px 0px;
padding: 10px;
border: 1px solid #253259;
z-index: 10;
}
footer ul.sp{
display: none;
}
footer ul.pc{
display: flex;
flex-wrap: wrap;
list-style: none;
}
footer ul.pc li{
text-align: center;
font-weight: bold;
}
footer ul.pc li:nth-child(1){
width: 38%;
}
footer ul.pc li:nth-child(1) a{
font-size: 24px;
line-height: 50px;
color: #253259;
background: url(../img/icon_serach.png) 5px 50% no-repeat;
padding:10px 0 10px  50px;
}
footer ul.pc li:nth-child(2){
width: 37%;
border-left: 1px solid #92a8ca;
border-right: 1px solid #92a8ca;
}
footer ul.pc li:nth-child(2) a{
font-size: 24px;
line-height: 50px;
color: #253259;
background: url(../img/icon_phone.png) 5px 40% no-repeat;
padding:10px 0 10px 50px;
}
footer ul.pc li:nth-child(2) a span{
font-weight: normal;
font-size: 14px;
}
footer ul.pc li:nth-child(3){
width: 25%;
}
footer ul.pc li:nth-child(3) a{
font-size: 15px;
line-height: 50px;
color: #253259;
background: url(../img/icon_qa.png) 8px 40% no-repeat;
padding:10px 0 10px 70px;
}
footer ul.pc li a:hover{
color: #6785b5;
transition: all 0.3s ease;
}
footer ul.pc li a span.none{
font-weight:bold;
}
footer ul.pc li a span.nonenone{
font-weight: normal;
}
}
@media (min-width: 768px) and (max-width: 1024px){
footer{
position: sticky;
bottom: 0;
width: 100%;
background: #fff;
border-radius: 20px 20px 0px 0px;
padding: 10px;
border: 1px solid #253259;
z-index: 10;
}
footer ul.sp{
display: none;
}
footer ul.pc{
display: flex;
flex-wrap: wrap;
list-style: none;
}
footer ul.pc li{
text-align: center;
font-weight: bold;
}
footer ul.pc li:nth-child(1){
width: 38%;
}
footer ul.pc li:nth-child(1) a{
font-size: 20px;
line-height: 50px;
color: #253259;
background: url(../img/icon_serach.png) 5px 50% no-repeat;
padding:4px 0 4px  50px;
}
footer ul.pc li:nth-child(2){
width: 37%;
border-left: 1px solid #92a8ca;
border-right: 1px solid #92a8ca;
}
footer ul.pc li:nth-child(2) a{
font-size: 20px;
line-height: 50px;
color: #253259;
background: url(../img/icon_phone.png) 5px 40% no-repeat;
padding:5px 0 5px 50px;
}
footer ul.pc li:nth-child(2) a span{
font-weight: normal;
font-size: 14px;
}
footer ul.pc li:nth-child(3){
width: 25%;
}
footer ul.pc li:nth-child(3) a{
font-size: 15px;
line-height: 50px;
color: #253259;
background: url(../img/icon_qa.png) 8px 40% no-repeat;
padding:10px 0 10px 70px;
}
footer ul.pc li a:hover{
color: #6785b5;
transition: all 0.3s ease;
}
footer ul.pc li a span.none{
display: none;
}
footer ul.pc li a span.nonenone{
display: none;
}
}
@media (max-width: 767px) {
footer{
position: sticky;
bottom: 0;
width: 100%;
background: #fff;
border-radius: 20px 20px 0px 0px;
padding: 10px;
border: 1px solid #253259;
z-index: 10;
}
footer ul.pc{
display: none;
}
footer ul.sp{
display: flex;
flex-wrap: wrap;
list-style: none;
}
footer ul.sp li{
text-align: center;
font-weight: bold;
}
footer ul.sp li:nth-child(1){
width: 45%;
}
footer ul.sp li:nth-child(1) a{
font-size: 15px;
line-height: 20px;
color: #253259;
background: url(../img/icon_serach.png) 5px 50% no-repeat;
background-size: 20px 20px;
padding:10px 0 10px 30px;
}
footer ul.sp li:nth-child(2){
width: 30%;
border-left: 1px solid #92a8ca;
border-right: 1px solid #92a8ca;
}
footer ul.sp li:nth-child(2) a{
font-size: 15px;
line-height: 20px;
color: #253259;
background: url(../img/icon_phone.png) 5px 50% no-repeat;
background-size: 20px 20px;
padding:10px 0 10px 30px;
}
footer ul.sp li:nth-child(2) a span{
font-weight: normal;
font-size: 14px;
}
footer ul.sp li:nth-child(3){
width: 25%;
}
footer ul.sp li:nth-child(3) a{
font-size: 15px;
line-height: 20px;
color: #253259;
background: url(../img/icon_qa.png) 8px 50% no-repeat;
background-size: 27px 20px;
padding:10px 0 10px 40px;
}
footer ul.sp li a span.none{
font-weight:bold;
}
footer ul.sp li a span.nonenone{
font-weight: normal;
}
}


@media (max-width: 767px) {
.scroll{
        overflow: auto;
        white-space: nowrap;
        max-width: 350px;
		width: 100%;
}
.scroll::-webkit-scrollbar{
 height: 5px;
}
.scroll::-webkit-scrollbar-track{
 background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {
 background: #BCBCBC;
}
}


@media (min-width: 768px) {
.area_blue{
background-color: #ebf2f6;
width: 50%;
padding:20px 30px;
border-radius: 10px;
margin: 20px 0;
font-size:16px;
line-height: 160%;
font-weight: bold;
letter-spacing: 1px;
}
.area_pink{
background-color: #fbf1ee;
padding:20px 30px;
border-radius: 10px;
margin: 50px auto;
font-size:16px;
line-height: 160%;
font-weight: bold;
letter-spacing: 1px;
}
.area_gray{
background-color: #e3e3e3;
padding:20px 30px;
border-radius: 10px;
margin: 20px auto;
font-size:16px;
line-height: 160%;
font-weight: bold;
letter-spacing: 1px;
}
}
@media (max-width: 767px) {
.area_blue{
background-color: #ebf2f6;
padding:10px 20px;
border-radius: 10px;
margin: 20px 0;
font-size:16px;
line-height: 160%;
font-weight: bold;
letter-spacing: 1px;
}
.area_pink{
background-color: #fbf1ee;
padding:10px 20px;
border-radius: 10px;
margin: 30px auto;
font-size:16px;
line-height: 160%;
font-weight: bold;
letter-spacing: 1px;
}
.area_gray{
background-color: #e3e3e3;
padding:10px 20px;
border-radius: 10px;
margin: 20px auto;
font-size:16px;
line-height: 160%;
font-weight: bold;
letter-spacing: 1px;
}
}

h4.blue{
margin: 0px auto 10px;
color: #3387b4;
border-bottom: solid 1px #3387b4;
font-weight: bold;
font-size: 120%;
letter-spacing: 2px;
padding:10px 0;
}
h4.pink{
margin: 0px auto 10px;
color: #d9715a;
border-bottom: solid 1px #d9715a;
font-weight: bold;
font-size: 120%;
letter-spacing: 2px;
padding:10px 0;
}
h4.bg_blue{
display: inline-block;
background:#3387b4;
color:#fff;
font-size:18px;
font-weight:bold;
padding: 8px 10px;
margin: 10px auto;
letter-spacing: 1px;
}

h4.title{
margin: 50px auto 30px;
color: #3387b4;
border-bottom: solid 1px #3387b4;
font-weight: bold;
font-size: 150%;
padding:20px 0;
letter-spacing: 2px;
}
h5.line_blue{
display: inline-block;
border-top: 1px solid #3387b4;
border-bottom: 1px solid #3387b4;
color:#3387b4;
font-size:16px;
font-weight:bold;
padding: 5px 0px;
margin: 20px auto 10px;
letter-spacing: 1px;
}

ul.list li{
font-size:16px;
line-height: 160%;
text-indent: -1em !important;
padding-left: 1em !important;
margin: 8px auto 8px;
font-weight: bold;
letter-spacing: 1px;
}

ul.list_normal li{
font-size:16px;
line-height: 160%;
text-indent: -1em !important;
padding-left: 1em !important;
margin: 8px auto 8px;
font-weight:normal;
letter-spacing: 0.5px;
}
a.txtlink{
color: #265195 !important;
text-decoration: underline;
}
a.txtlink:hover{
color: #265195 !important;
background: #f2f2bc;
transition: all 0.3s ease;
}


@media (min-width: 768px) {
.top_rccbc{
width:100%;
display: table;
}
.top_rccbc_copy {
float: left;
}
.top_rccbc_copy02 {
float: right;
margin: 20px auto 0;
}
.top_rccbc_copy p{
position: relative;
width:456px;
margin: 15px auto;
font-size: 20px;
padding: 20px;
text-align: center;
font-weight: bold;
}
.top_rccbc_copy02 p {
position: relative;
width:580px;
margin: 15px auto;
font-size: 20px;
padding: 20px;
text-align: center;
font-weight: bold;
}
.top_rccbc_copy p span,.top_rccbc_copy02 p span{
font-size: 200%;
margin: 10px auto 10px;
color: #3387b4;
font-weight: bold;
background:linear-gradient(transparent 80%, #e6e679 80%);
}
.top_rccbc_copy p::before,.top_rccbc_copy02 p::before,
.top_rccbc_copy p::after,.top_rccbc_copy02 p::after {
position: absolute;
width: 40px;
height: 40px;
content: '';
}
.top_rccbc_copy p::before,.top_rccbc_copy02 p::before {
border-left: solid 1px #77a8c4;
border-top: solid 1px #77a8c4;
top: 0;
left: 0;
}
.top_rccbc_copy p::after,.top_rccbc_copy02 p::after {
border-right: solid 1px #77a8c4;
border-bottom: solid 1px #77a8c4;
bottom: 0;
right: 0;
}
.top_rccbc_photo {
margin: 0 auto;
float: right;
}
.top_rccbc_photo img{
width:580px;
}
.top_rccbc_photo02 {
margin: 30px auto 0;
float: left;
}
.top_rccbc_photo02 img{
width:460px;
}
}
@media (max-width: 767px) {
.top_rccbc{
width:100%;
display: table;
}
.top_rccbc_copy {
}
.top_rccbc_copy02 {
margin: 20px auto 0;
}
.top_rccbc_copy p{
position: relative;
width:100%;
margin: 15px auto;
font-size: 15px;
padding: 10px 5px;
text-align: center;
font-weight: bold;
}
.top_rccbc_copy02 p {
position: relative;
width:100%;
margin: 10px auto;
font-size: 15px;
padding: 10px 10px;
text-align: center;
font-weight: bold;
}
.top_rccbc_copy p span,.top_rccbc_copy02 p span{
font-size: 170%;
line-height: 120%;
margin: 10px auto 10px;
color: #3387b4;
font-weight: bold;
background:linear-gradient(transparent 80%, #e6e679 80%);
}
.top_rccbc_copy p::before,.top_rccbc_copy02 p::before,
.top_rccbc_copy p::after,.top_rccbc_copy02 p::after {
position: absolute;
width: 30px;
height: 30px;
content: '';
}
.top_rccbc_copy p::before,.top_rccbc_copy02 p::before {
border-left: solid 1px #77a8c4;
border-top: solid 1px #77a8c4;
top: 0;
left: 0;
}
.top_rccbc_copy p::after,.top_rccbc_copy02 p::after {
border-right: solid 1px #77a8c4;
border-bottom: solid 1px #77a8c4;
bottom: 0;
right: 0;
}
.top_rccbc_photo {
margin: 0 auto;
}
.top_rccbc_photo img{
width:90%;
}
.top_rccbc_photo02 {
margin: 30px auto 0;
}
.top_rccbc_photo02 img{
width:90%;
}
}


@media (min-width: 768px) {
.top_blue{
background: #ebf2f6;
width:100%;
padding:40px;
}
}

@media (max-width: 767px) {
.top_blue{
background: #ebf2f6;
width:100%;
padding:20px 0;
}
}

@media (min-width: 768px) {
.floormap {
display: flex;
flex-wrap: wrap;
gap: 0 10px;
max-width: 100%;
text-align: center;
margin: 0 auto;
}
.floormap > label {
flex: 1 1;
order: -1;
opacity: .5;
min-width: 70px;
max-width: 180px;
padding: 10px ;
border-radius: 5px 5px 0 0;
background-color: #77a8c4;
color: #fff;
text-align: center;
cursor: pointer;
margin: 0 auto;
font-size: 30px;
}
.floormap > label:hover {
opacity: .8;
}
.floormap input {
display: none;
}
.floormap > div {
display: none;
width: 100%;
padding: 40px 80px;
background-color: #fff;
}
.floormap > div img{
width: 90%;
margin: 0 auto;
}
.floormap label:has(:checked) {
opacity: 1;
}
.floormap label:has(:checked) + div {
display: block;
}

.floormap div table{
width: 100%;
border-collapse:collapse;
border-spacing: 0;
margin: 20px auto 0 !important;
}
.floormap div table td, .floormap div table th {
border:1px solid #aaa;
padding:10px;
line-height:100% !important;
text-align:center !important;
vertical-align:middle !important;
font-size: 15px;
white-space: nowrap;
}
.floormap > div table thead td {
background:#77a8c4;
text-align:center !important;
color: #fff;
border:1px solid #fff;
}
.floormap > div table tbody th {
width:20%;
background:#e3edf3;
text-align:center !important;
}
.floormap > div table tbody th a{
position: relative;
display:inline-block;
width:120px;
color: #77a8c4;
font-size: 120%;
font-weight: bold;
padding:2px 0;
}
.floormap > div table tbody th a::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 10px;
width: 9px;
height: 9px;
margin: auto;
border-top: 2px solid #77a8c4;
border-right: 2px solid #77a8c4;
transform: rotate(45deg);
box-sizing: border-box;
}
.floormap > div table tbody th a:hover {
color:#77a8c4;
background:#fff;
border-radius:10px;
transition: all 0.3s ease;
}
}
@media (max-width: 767px) {
.floormap {
display: flex;
flex-wrap: wrap;
gap: 0 10px;
max-width: 100%;
text-align: center;
margin: 0 auto;
}
.floormap > label {
flex: 1 1;
order: -1;
opacity: .5;
width: 100px;
padding: 10px ;
border-radius: 5px 5px 0 0;
background-color: #77a8c4;
color: #fff;
text-align: center;
cursor: pointer;
margin: 0 auto;
font-size: 30px;
}
.floormap > label:hover {
opacity: .8;
}
.floormap input {
display: none;
}
.floormap > div {
display: none;
width: 100%;
padding: 40px 20px;
background-color: #fff;
}
.floormap > div img{
width: 90%;
margin: 0 auto;
}
.floormap label:has(:checked) {
opacity: 1;
}
.floormap label:has(:checked) + div {
display: block;
}

.floormap div table{
width: 100%;
border-collapse:collapse;
border-spacing: 0;
margin: 20px auto 0 !important;
}
.floormap div table td, .floormap div table th {
border:1px solid #aaa;
padding:10px;
line-height:100% !important;
text-align:center !important;
vertical-align:middle !important;
font-size: 15px;
white-space: nowrap;
}
.floormap > div table thead td {
background:#77a8c4;
text-align:center !important;
color: #fff;
border:1px solid #fff;
}
.floormap > div table tbody th {
width:20%;
background:#e3edf3;
text-align:center !important;
}
.floormap > div table tbody th {
width:20%;
background:#e3edf3;
text-align:center !important;
}
.floormap > div table tbody th a{
position: relative;
display:inline-block;
width:60px;
color: #77a8c4;
font-size: 110%;
font-weight: bold;
padding:2px 0;
}
.floormap > div table tbody th a::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 3px;
width: 9px;
height: 9px;
margin: auto;
border-top: 2px solid #77a8c4;
border-right: 2px solid #77a8c4;
transform: rotate(45deg);
box-sizing: border-box;
}
.floormap > div table tbody th a:hover {
color:#77a8c4;
background:#fff;
border-radius:10px;
transition: all 0.3s ease;
}
}

@media (min-width: 768px) {
p.note{
	font-size:15px;
	line-height:140%;
	margin:10px 0;
	text-align: left;
}
p.note_blue{
	width:100%;
	font-size:15px;
	line-height:140%;
	margin:15px 0;
	text-align: left;
	color: #0069a1;
}
}

@media (max-width: 767px) {
p.note{
	font-size:14px;
	line-height:140%;
	margin:10px 0;
	text-align: left;
}
p.note_blue{
	width:100%;
	font-size:14px;
	line-height:140%;
	margin:15px 0;
	text-align: left;
	color: #0069a1;
	}
}








@media (min-width: 768px) {
.top_access{
background: #ebf2f6;
width:100%;
padding:20px;
margin: 0 auto;
}
.top_access .map {
float: left;
width: 50%;
padding:4% 3%;
}
.top_access .address {
float: right;
width: 50%;
padding:20px 3%;
}
.top_access .address div{
width: 100%;
margin:3px auto 0;
padding:10px 0;
}
.top_access .address div p{
margin:30px auto;
font-size: 16px;
font-weight: bold;
letter-spacing: 1px;
}
.top_access .address div span{
font-size:20px !important;
font-weight: bold;
}
.top_access iframe{
width:100%;
}
}

@media (max-width: 767px) {
.top_access{
background: #ebf2f6;
width:100%;
padding: 10px 0;
}
.top_access .map {
width: 100%;
padding:4% 3% 0;
}
.top_access .address {
width: 100%;
padding:10px 3%;
}
.top_access .address div{
width: 100%;
margin:3px auto 0;
}
.top_access .address div p{
margin:12px auto;
font-size: 15px;
font-weight: bold;
letter-spacing: 1px;
}
.top_access .address div span{
font-size:18px !important;
font-weight: bold;
}
.top_access iframe{
width:100%;
height:200px;
}
.top_access a{
letter-spacing: -1.5px;
}
}


@media (min-width: 768px) {
iframe{
	width:100%;
}
}
@media (max-width: 767px) {
iframe{
	width:100%;
	max-height:400px;
}
}

@media (min-width: 768px) {
.tb_access{
width:100%;
margin: 5px 0;
}
.tb_access th,.tb_access td {
padding:10px;
border-top: 1px solid #6785b5;
border-bottom: 1px solid #6785b5;
font-weight: bold;
font-size:16px;
line-height:140%;
}
.tb_access td p{
font-size:16px;
font-weight: bold;
letter-spacing: 1px;
}
}
@media (max-width: 767px) {
.tb_access{
width:100%;
margin: 5px 0;
}
.tb_access th,.tb_access td {
padding:10px;
border-top: 1px solid #6785b5;
border-bottom: 1px solid #6785b5;
font-weight: bold;
line-height:140%;
font-size:15px;
}
.tb_access th{
white-space: nowrap;
}
.tb_access td p{
font-size:15px;
font-weight: bold;
}
}
@media (min-width: 768px) {
.tb_hotel{
width:100%;
margin: 5px 0;
}
.tb_hotel th,.tb_hotel td {
padding:10px;
border: 1px solid #6785b5;
vertical-align: middle;
font-size:16px;
}
.tb_hotel th{
font-weight: bold;
}
.tb_hotel td p{
font-size:16px;
line-height:140%;
font-weight: bold;
letter-spacing: 1px;
}
}
.number {
display: inline-block;
margin-right: 5px;
width: 22px;
height: 22px;
background-color: #3399cc;
border-radius: 50%;
text-align: center;
box-sizing: border-box;
font-size: 16px;
font-weight:normal !important;
color: #fff;
}
@media (max-width: 767px) {
.tb_hotel{
width:100%;
margin: 5px 0;
border-bottom: 1px solid #6785b5;
}
.tb_hotel th,.tb_hotel td {
width:100%;
display: block;
padding:4px 10px;
vertical-align: middle;
font-size:15px;
border-bottom: none;
}
.tb_hotel th{
font-weight: bold;
border-top: 1px solid #6785b5;
margin-top: 10px;
}
.tb_hotel td p{
font-size:15px;
line-height:140%;
font-weight: bold;
letter-spacing: 1px;
}
}














