@charset "utf-8";

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

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


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

container

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

.custom #container{
position:relative;
}

@media only screen  and (min-width: 901px){
.custom #container{	padding:0 0 40px;}	
}

@media only screen  and (max-width: 900px){
.custom #container{	padding:0 0 60px;}	
}

.custom.tour #container{	padding:0 0}	

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

main

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

.custom #main {}

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

Utility

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

/*block*/
.custom #main .block {width: 100%;}

/*ttb*/
.custom #main .ttb {}

@media only screen and (min-width: 1101px){
.custom #main .ttb {
margin:0 0 25px;
}	
}

@media only screen and (min-width: 851px) and (max-width: 1100px){
.custom #main .ttb {
margin:0 0 20px;
}	
}

@media only screen and (min-width: 769px) and (max-width: 850px){
.custom #main .ttb {
margin:0 0 25px;
}	
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom #main .ttb {
margin:0 0 20px;
}	
}

@media only screen and (max-width: 640px){
.custom #main .ttb {
margin:0 0 15px;
}	
}

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

list

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

.custom #main.list {}

.custom #main.list {
width: 100%;
margin:0 auto;
}

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

information

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

.custom.information #main.list {
width: 100%;
}

@media only screen  and (min-width: 851px){
.custom.information #main.list {
max-width: 70%;
}
}

@media only screen  and (max-width: 850px){
.custom.information #main.list {
padding: 0 0 30px;
}
}

.custom.information #main.list dl {}

@media only screen and (min-width: 601px){
.custom.information #main.list dl {
width:100%;
}
}

@media only screen and (max-width: 600px){
.custom.information #main.list dl {}
}

.custom.information #main.list dl > dt {}

@media only screen and (min-width: 1101px){
.custom.information #main.list dl > dt {
width:200px;
padding:0 20px 10px 0;
float:left;
clear:both;
}
}

@media only screen and (min-width: 601px) and (max-width: 1100px){
.custom.information #main.list dl > dt {
width:120px;
padding:0 20px 10px 0;
float:left;
clear:both;
}
}

@media only screen and (max-width: 600px){
.custom.information #main.list dl > dt {
width:100%;
padding:0 0 7px 0;
}
}

.custom.information #main.list dl > dd {}

@media only screen and (min-width: 1101px){
.custom.information #main.list dl > dd {
padding:0 0 20px 0;
border-bottom:#DDD solid 2px;
margin-bottom:20px;
float:none;
}
}

@media only screen and (min-width: 601px) and (max-width: 1100px){
.custom.information #main.list dl > dd {
padding:0 0 12px 0;
border-bottom:#DDD solid 1px;
margin-bottom:12px;
float:none;
}
}

@media only screen and (max-width: 600px){
.custom.information #main.list dl > dd {
width:100%;
border-bottom:#DDD solid 1px;
padding-bottom:10px; margin-bottom:10px;
}
}

.custom.information #main.list dl > dd span.tag {
width:80px;
display:inline-block;
text-align:center;
padding:3px 0;
color:#FFF;
-webkit-border-radius:5px;
border-radius:5px;
font-size:11px; font-size:1.1rem;
margin-right:10px;
}

.custom.information #main.list dl > dd span.tag.news_cat {
background-color:#496DAD;
}

.custom.information #main.list dl > dd span.tag.tour_cat {
background-color:#F15A24;
}

.custom.information #main.list dl > dd:nth-last-of-type(1) {
width:100%;
border-bottom:none;
padding-bottom:0; margin-bottom:0;
}

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

blog

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

.custom.blog #main.list {}

@media only screen  and (min-width: 851px){
.custom.blog #main.list {
max-width: 70%;
}
}

@media only screen  and (max-width: 850px){
.custom.blog #main.list {
padding: 0 0;
}
}

.custom.blog #main.list .blockttl {}

@media only screen  and (min-width: 769px){
.custom.blog #main.list .blockttl {
margin-bottom: 35px;
}
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.custom.blog #main.list .blockttl {
margin-bottom: 30px;
}
}

@media only screen  and (max-width: 640px){
.custom.blog #main.list .blockttl {
margin-bottom: 25px;
}
}

@media only screen  and (max-width: 640px){
.custom.blog #main.list .blockttl {
margin-bottom: 25px;
}
}

/*ttb*/
.custom.blog #main.list .ttb {}

@media only screen and (min-width: 641px){
.custom.blog #main.list .ttb {
margin:0 0 35px;
}	
}

@media only screen and (max-width: 640px){
.custom.blog #main.list .ttb {
margin:0 0 30px;
}	
}

/*btn*/
.custom.blog #main.list .btn {}

@media only screen  and (min-width: 601px){
.custom.blog #main.list .btn {
margin-top: 20px;
}
}

@media only screen  and (max-width: 600px){
.custom.blog #main.list .btn {
margin-top: 15px;
}
}

.custom.blog #main.list .flex {}

@media only screen  and (min-width: 401px){
.custom.blog #main.list .flex {
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; 
}
}

@media only screen  and (max-width: 400px){
.custom.blog #main.list .flex {}
}

.custom.blog #main.list .flex .item { 
position:relative;
}

@media only screen and (min-width: 769px){
.custom.blog #main.list .flex .item {
width:-webkit-calc((100% - 40px) / 3);
width:calc((100% - 40px) / 3);
margin:0 19.9px 25px 0;
}

.custom.blog #main.list .flex .item:nth-of-type(3n) {
margin-right:0;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.blog #main.list .flex .item {
width:-webkit-calc((100% - 20px) / 3);
width:calc((100% - 20px) / 3);
margin:0 9.9px 20px 0;
}

.custom.blog #main.list .flex .item:nth-of-type(3n) {
margin-right:0;
}
}

@media only screen and (min-width: 401px) and (max-width: 640px){
.custom.blog #main.list .flex .item {
width:49%;
margin-bottom:22px;
}

.custom.blog #main.list .flex .item:nth-of-type(odd) {
margin-right:1%;
}

.custom.blog #main.list .flex .item:nth-of-type(even) {
margin-left:1%;
}
}

@media only screen and (max-width: 400px){
.custom.blog #main.list .flex .item {
width:100%;
margin-bottom:22px;
}
}

.custom.blog #main.list .flex .item .ribbonArea {
position: absolute;
left: -4px; top: -10px;
z-index: 100;
}

.custom.blog #main.list .flex .item .ribbon {
position:relative;
width: auto;
max-width: 200px;
padding: 3px 8px;
background-color: #1C4898;
color: #FFF;
box-shadow:inset 0 0 50px rgba(0,0,0, 0.1), 0 2px 3px rgba(0, 0, 0, 0.3);
}

@media only screen and (min-width: 401px){
.custom.blog #main.list .flex .item .ribbon {
font-size: 11px; font-size: 1.1rem;
}
}

@media only screen and (max-width: 400px){
.custom.blog #main.list .flex .item .ribbon {
font-size: 10px; font-size: 1.0rem;
}
}

.custom.blog #main.list .flex .item .ribbon:after{  
content:' ';  
position:absolute;  
left:0px;  
bottom:-4px;  
border-top:2px solid #666;  
border-right:2px solid #666;  
border-bottom:2px solid transparent;  
border-left:2px solid transparent; 
z-index: -1;
}  

.custom.blog #main.list .flex .item .photo {
width:100%;
}

@media only screen  and (min-width: 769px){
.custom.blog #main.list .flex .item .photo {
margin-bottom:10px;
}	
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.custom.blog #main.list .flex .item .photo {
margin-bottom:7px;
}	
}

@media only screen and (max-width: 640px){
.custom.blog #main.list .flex .item .photo {
margin-bottom:5px;
}	
}

/*画像をトリミング*/
.custom.blog #main.list .flex .item .photo {
position: relative;
overflow: hidden;
padding-top: 71.4%;
}

.custom.blog #main.list .flex .item .photo img {
position: absolute;top: 0; left: 0;
width: 100%;
height: auto;
z-index: 10;
}

.custom.blog #main.list .flex .item .text {}

.custom.blog #main.list .flex .item .text .itemttl {}

@media only screen  and (min-width: 769px){
.custom.blog #main.list .flex .item .text .itemttl {
line-height: 1.6;
}
}

@media only screen and (max-width: 768px){
.custom.blog #main.list .flex .item .text .itemttl {
line-height: 1.5;
}
}

.custom.blog #main.list .flex .item .text time {
font-family: 'Tenali Ramakrishna', sans-serif;
line-height: 1;
display: block;
}

@media only screen  and (min-width: 769px){
.custom.blog #main.list .flex .item .text time {
font-size: 18px; font-size: 1.8rem;
margin: 12px 0 2px;
}
}

@media only screen and (max-width: 768px){
.custom.blog #main.list .flex .item .text time {
font-size: 16px; font-size: 1.6rem;
margin: 12px 0 2px;
}
}

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

digitalflyer

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

.custom.digitalflyer #main.list {
margin: 0 auto;
width: 100%;
}

@media only screen  and (min-width: 1151px){
.custom.digitalflyer #main.list {
max-width: 1100px;
padding: 0 0 0;
}
}

@media only screen  and (max-width: 1150px){
.custom.digitalflyer #main.list {
padding: 0 3%;
}
}

@media only screen and (min-width: 1001px) {
.custom.digitalflyer #main.list {
padding-bottom:55px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.digitalflyer #main.list {
padding-bottom:65px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.digitalflyer #main.list {
padding-bottom:65px;
}
}

@media only screen and (min-width: 451px) and (max-width: 640px0){
.custom.digitalflyer #main.list {
padding-bottom:65px;
}
}

@media only screen and (max-width: 450px){
.custom.digitalflyer #main.list {
padding-bottom:60px;
}
}

/*ttb*/
.custom.digitalflyer #main.list .ttb {}

@media only screen and (min-width: 641px){
.custom.digitalflyer #main.list .ttb {
margin:0 0 35px;
}	
}

@media only screen and (max-width: 640px){
.custom.digitalflyer #main.list .ttb {
margin:0 0 30px;
}	
}

.custom.digitalflyer #main.list .flex {
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; 
}

.custom.digitalflyer #main.list .flex .item {}

@media only screen  and (min-width: 769px){
.custom.digitalflyer #main.list .flex .item {
width: -webkit-calc((100% - 45px) / 4);
width: calc((100% - 45px) / 4);
margin:0 14.9px 15px 0;
}

.custom.digitalflyer #main.list .flex .item:nth-of-type(4n) {
margin:0 0 15px 0;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.digitalflyer #main.list .flex .item {
width: -webkit-calc((100% - 30px) / 3);
width: calc((100% - 30px) / 3);
margin:0 14.9px 15px 0;
}

.custom.digitalflyer #main.list .flex .item:nth-of-type(3n) {
margin:0 0 15px 0;
}
}

@media only screen and (min-width: 401px) and (max-width: 640px){
.custom.digitalflyer #main.list .flex .item {
width: 49%;
margin-bottom:15px;
}

.custom.digitalflyer #main.list .flex .item:nth-of-type(odd) {
margin-right:0.9%;
}

.custom.digitalflyer #main.list .flex .item:nth-of-type(even) {
margin-left:0.9%;
}
}

@media only screen and (min-width: 401px){
.custom.digitalflyer #main.list .flex .item {
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
-webkit-box-orient: vertical;	-webkit-box-direction: normal;	-webkit-flex-direction: column;	-ms-flex-direction: column;	flex-direction: column;
}
}

@media only screen and (max-width: 400px){
.custom.digitalflyer #main.list .flex .item {
width: 100%;
margin-bottom:15px;
}
}

.custom.digitalflyer #main.list .flex .item .photo {
position: relative;
overflow: hidden;
}

@media only screen and (min-width: 401px){
.custom.digitalflyer #main.list .flex .item .photo {
height: 190px;
}
}

@media only screen and (max-width: 400px){
.custom.digitalflyer #main.list .flex .item .photo {
width: 100%;
margin-bottom:10px;
}
}

.custom.digitalflyer #main.list .flex .item .photo img {
width: 100%;
}

@media only screen and (min-width: 401px){
.custom.digitalflyer #main.list .flex .item .photo img {
display: block;
height: 100%;
object-fit: cover;
}
}

/*IE11*/
_:-ms-lang(x), .custom.digitalflyer #main.list .flex .item .photo img {
font-family: 'object-fit: cover;';
}

.custom.digitalflyer #main.list .flex .item  p {}

@media only screen and (min-width: 401px){
.custom.digitalflyer #main.list .flex .item  p {
margin-top: auto;
position: relative;
padding-top: 10px;
}
}

@media only screen and (max-width: 400px){
.custom.digitalflyer #main.list .flex .item  p {
margin-top: 10px;
}
}

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

tour

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

.custom.tour #main.list {
margin: 0 auto;
width: 100%;
}

@media only screen  and (min-width: 1151px){
.custom.tour #main.list {
max-width: 1100px;
padding: 0 0 0;
}
}

@media only screen  and (max-width: 1150px){
.custom.tour #main.list {
padding: 0 3%;
}
}

@media only screen and (min-width: 1001px) {
.custom.tour #main.list {
padding-bottom:55px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.tour #main.list {
padding-bottom:65px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.list {
padding-bottom:65px;
}
}

@media only screen and (min-width: 451px) and (max-width: 640px0){
.custom.tour #main.list {
padding-bottom:65px;
}
}

@media only screen and (max-width: 450px){
.custom.tour #main.list {
padding-bottom:60px;
}
}

/*item*/
.custom.tour #main.list .item {
background-color: #FFF;
box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
margin-bottom: 30px;
}

@media only screen  and (min-width: 901px){
.custom.tour #main.list .item {
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
padding: 20px 20px;
}
}

@media only screen  and (min-width: 801px) and (max-width: 900px){
.custom.tour #main.list .item {
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
padding: 20px 20px;
}
}

@media only screen  and (min-width: 641px) and (max-width: 800px){
.custom.tour #main.list .item {
padding: 20px 20px;
}
}

@media only screen  and (max-width: 640px){
.custom.tour #main.list .item {
padding: 20px 20px;
}
}

.custom.tour #main.list .item .photo {}

@media only screen  and (min-width: 901px){
.custom.tour #main.list .item .photo {
width: 420px;
margin-right: 24.9px;
}
}

@media only screen  and (min-width: 801px) and (max-width: 900px){
.custom.tour #main.list .item .photo {
width: 450px;
margin-right: 19.9px;
}
}

@media only screen and (min-width: 801px){
.custom.tour #main.list .item .photo {
position: relative;
overflow: hidden;
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.list .item .photo {
width: 100%;
margin-bottom: 13px;
}
}

.custom.tour #main.list .item .photo img {width: 100%;}

@media only screen and (min-width: 801px){
.custom.tour #main.list .item .photo img {
position: absolute;top: 0; left: 0;
height: auto;
z-index: 10;
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.list .item .photo img {}
}

.custom.tour #main.list .item .text {}

@media only screen  and (min-width: 901px){
.custom.tour #main.list .item .text {
width: -webkit-calc(100% - 445px);
width: calc(100% - 445px);
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; 
-webkit-box-orient: vertical;	-webkit-box-direction: normal;	-webkit-flex-direction: column;	-ms-flex-direction: column;	flex-direction: column;
}
}

@media only screen  and (min-width: 801px) and (max-width: 900px){
.custom.tour #main.list .item .text {
width: -webkit-calc(100% - 470px);
width: calc(100% - 470px);
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; 
-webkit-box-orient: vertical;	-webkit-box-direction: normal;	-webkit-flex-direction: column;	-ms-flex-direction: column;	flex-direction: column;
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.list .item .text {
width: 100%;
}
}

.custom.tour #main.list .item .text .itemttl {
color: #1C4898;
font-weight: bold; font-weight: 700;
border-bottom: 2px solid #1C4898;
line-height: 1.5;
}

@media only screen  and (min-width: 1151px){
.custom.tour #main.list .item .text .itemttl {
padding: 0 0 10px;
margin: 0 0 8px;
font-size: 18px; font-size: 1.8rem;
}
}

@media only screen  and (min-width: 1001px) and (max-width: 1150px){
.custom.tour #main.list .item .text .itemttl {
padding: 0 0 10px;
margin: 0 0 8px;
font-size: 17px; font-size: 1.7rem;
}
}

@media only screen  and (min-width: 769px) and (max-width: 1000px){
.custom.tour #main.list .item .text .itemttl {
padding: 0 0 10px;
margin: 0 0 8px;
font-size: 16px; font-size: 1.6rem;
}
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.list .item .text .itemttl {
padding: 0 0 10px;
margin: 0 0 8px;
font-size: 15px; font-size: 1.5rem;
}
}

@media only screen  and (max-width: 640px){
.custom.tour #main.list .item .text .itemttl {
padding: 0 0 10px;
margin: 0 0 8px;
font-size: 14px; font-size: 1.4rem;
}
}

.custom.tour #main.list .item .text p {}

@media only screen and (min-width: 1151px){
.custom.tour #main.list .item .text p {
}
}

@media only screen  and (min-width: 641px)  and (max-width: 1150px){
.custom.tour #main.list .item .text p {
font-size: 90%;
}
}

@media only screen  and (max-width: 640px){
.custom.tour #main.list .item .text p {
font-size: 90%;
}
}

.custom.tour #main.list .item .text dl {
width:100%;
margin-top: 12px;
}

.custom.tour #main.list .item .text dl > dt {
width:80px;
text-align:center;
padding:3px 0;
color:#FFF;
-webkit-border-radius:5px;
border-radius:5px;
font-size:11px; font-size:1.1rem;
float:left;
clear:both;
}

@media only screen  and (max-width: 640px){
.custom.tour #main.list .item .text dl > dt {
margin-bottom: 3px;
}
}

.custom.tour #main.list .item .text dl > dt.date {
background-color:#496DAD;
}

.custom.tour #main.list .item .text dl > dt.thema {
background-color:#F15A24;
}

.custom.tour #main.list .item .text dl > dd {
padding:0 0 0 90px;
margin-bottom:10px;
float:none;line-height: 1.4;
}

@media only screen and (min-width: 1151px){
.custom.tour #main.list .item .text dl > dd {}
}

@media only screen  and (min-width: 641px)  and (max-width: 1150px){
.custom.tour #main.list .item .text dl > dd {
font-size: 90%;
}
}

@media only screen  and (max-width: 640px){
.custom.tour #main.list .item .text dl > dd {
font-size: 90%;
}
}

.custom.tour #main.list .item .text dl > dd > ul {
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; 
}

.custom.tour #main.list .item .text dl > dd > ul > li {
}

.custom.tour #main.list .item .text dl > dd > ul > li a {
margin-bottom: 10px;
padding-right: 10px;
}

.custom.tour #main.list .item .text dl > dd > ul > li + li a {
padding: 0 8px 0 8px;
word-break: break-all;
position: relative;
}

.custom.tour #main.list .item .text dl > dd > ul > li + li a::after {
content: "";
width: 1px; height: 80%;
display: block;
background-color: #888;
position: absolute; left: 0; top: 50%;
transform: translateY(-50%);
}

.custom.tour #main.list .item .text .bottom {
width:100%;
margin-top: auto;
/*
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
-webkit-box-pack: justify;	-webkit-justify-content: space-between;	-ms-flex-pack: justify;	justify-content: space-between;
-webkit-box-align: center;	-webkit-align-items: center;	-ms-flex-align: center;	align-items: center;
*/
}

.custom.tour #main.list .item .text .bottom .price {
color:#C20D23;
font-weight: bold; font-weight: 700;
}

@media only screen  and (min-width: 769px){
.custom.tour #main.list .item .text .bottom .price {
font-size: 18px;font-size:1.8rem;
}
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.list .item .text .bottom .price {
font-size: 17px;font-size:1.7rem;
}
}

@media only screen  and (max-width: 640px){
.custom.tour #main.list .item .text .bottom .price {
font-size: 16px;font-size:1.6rem;
}
}

.custom.tour #main.list .item .text .bottom .price span {
margin-right: 7px;
}

@media only screen  and (min-width: 769px){
.custom.tour #main.list .item .text .bottom .price span {
font-size: 14px;font-size:1.4rem;
}
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.list .item .text .bottom .price span {
font-size: 13px;font-size:1.3rem;
}
}

@media only screen  and (max-width: 640px){
.custom.tour #main.list .item .text .bottom .price span {
font-size: 12px;font-size:1.2rem;
}
}

.custom.tour #main.list .item .text .bottom .itembtn {}

@media only screen  and (min-width: 951px){
.custom.tour #main.list .item .text .bottom .itembtn {
width: 30%;
margin-left: auto;
margin-top: 10px;
}
}

@media only screen  and (min-width: 769px) and (max-width: 950px){
.custom.tour #main.list .item .text .bottom .itembtn {
width: 50%;
margin-left: auto;
margin-top: 10px;
}
}

@media only screen  and (max-width: 768px){
.custom.tour #main.list .item .text .bottom .itembtn {
width: 100%;
margin-top: 15px;
}
}

.custom.tour #main.list .item .text .bottom .itembtn a {
width: 100%;
display: block;
background-color:#2671BC;
border:#2671BC 2px solid;
color: #FFF;
font-weight: bold; font-weight: 700;
text-align: center;
-webkit-border-radius: 50px;
border-radius: 50px;
line-height: 1.5;
}

@media only screen  and (min-width: 769px){
.custom.tour #main.list .item .text .bottom .itembtn a {
font-size: 13px;font-size:1.3rem;
padding: 2px 25px;
}
}

@media only screen and (max-width: 768px){
.custom.tour #main.list .item .text .bottom .itembtn a {
font-size: 12px;font-size:1.2rem;
padding: 7px 25px;
}
}

.custom.tour #main.list .item .text .bottom .itembtn a:hover {
background-color:#FFF;
border:#2671BC 2px solid;
color: #2671BC;
}

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

office

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

.office #main.list {
width: 100%;
margin-left:auto;
margin-right:auto;
}

@media only screen  and (min-width: 1151px){
.office #main.list {
margin-bottom:35px;
}
}

@media only screen  and (min-width: 769px)  and (max-width: 1150px){
.office #main.list {
margin-bottom:30px;
}
}

@media only screen  and (max-width: 768px){
.office #main.list {
margin-bottom:25px;
}
}

.office #main.list .inner {
width: 100%;
margin:0 auto;
}

@media only screen  and (min-width: 1151px){
.office #main.list .inner {
max-width: 1100px;
padding: 0 0;
}
}

@media only screen  and (max-width: 1150px){
.office #main.list .inner {
padding: 0 3%;
}
}

/*block*/
.office #main.list .block {}

@media only screen and (min-width: 1001px) {
.office #main.list .block {
margin-bottom:40px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.office #main.list .block {
margin-bottom:30px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.office #main.list .block {
margin-bottom:25px;
}
}

@media only screen and (max-width: 640px){
.office #main.list .block {	
margin-bottom:25px;
}
}

/*subttl*/
.office #main.list .subttl {
font-weight: bold;font-weight: 700;
color: #1C4898;
}

@media only screen and (min-width: 1151px) {
.office #main.list .subttl {
font-size: 18px; font-size: 1.8rem;
margin-bottom: 5px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1150px){
.office #main.list .subttl {
font-size: 16px; font-size: 1.6rem;
margin-bottom: 5px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.office #main.list .subttl {
font-size: 15px; font-size: 1.5rem;
margin-bottom: 5px;
}
}

@media only screen and (max-width: 640px){
.office #main.list .subttl {
font-size: 14px; font-size: 1.4rem;
margin-bottom: 5px;
}
}

.office #main.list .subttl::before {
content:"\f024";
font-family: "FontAwesome";
line-height: 1;
margin-right: 5px;
text-transform: none;
}

/*table_outer*/
.office #main.list .block .table_outer {
width: 100%; 
}

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

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

.office #main.list .block .table_outer table {
width:100%;
}

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

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

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

.office #main.list .block table {
border-collapse: collapse;
border-spacing: 0;
width:100%;
}

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

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

.office #main.list .block table tr:nth-of-type(even) {
background-color: #EEE;
}

.office #main.list .block table tr:nth-of-type(odd) {}

.office #main.list .block table td {
vertical-align: middle;
margin: 0 auto;
}

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

@media only screen and (min-width: 801px) and (max-width: 900px){
.office #main.list .block table td {
border-top: #DDD solid 1px; 
border-left: #DDD solid 1px;
padding: 10px;
}
}

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

.office #main.list .block table tr td:nth-of-type(1) {
}

@media only screen and (min-width: 801px){
.office #main.list .block table tr td:nth-of-type(1) {
width: 280px;
}
}

@media only screen and (max-width: 800px){
.office #main.list .block table tr td:nth-of-type(1) {
min-width: 280px;
}
}

.office #main.list .block table tr td:nth-of-type(2) {}

@media only screen and (min-width: 801px){
.office #main.list .block table tr td:nth-of-type(2) {}
}

@media only screen and (max-width: 800px){
.office #main.list .block table tr td:nth-of-type(2) {
min-width: 280px;
}
}

.office #main.list .block table tr td:nth-of-type(3) {
text-align: center;
}

@media only screen and (min-width: 801px){
.office #main.list .block table tr td:nth-of-type(3) {
width: 170px;
}
}

@media only screen and (max-width: 800px){
.office #main.list .block table tr td:nth-of-type(3) {
min-width: 170px;
}
}

.office #main.list .block table tr td:nth-of-type(4) {
text-align: center;
}

@media only screen and (min-width: 801px){
.office #main.list .block table tr td:nth-of-type(4) {
width: 150px;
}
}

@media only screen and (max-width: 800px){
.office #main.list .block table tr td:nth-of-type(4) {
min-width: 150px;
}
}

.office #main.list .block table tr td .more {}

.office #main.list .block table tr td .more a {
display: block;
background-color:#1C4898;
color: #FFF;
border:#1C4898 solid 1px;
border-radius: 7px;
text-align: center;
padding: 5px 5px;
font-size: 90%;
line-height: 1.0;
}

.office #main.list .block table tr td .more a:hover {
background-color:#FFF;
color: #1C4898;
}



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

detail

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

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

各要素

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

.custom #main.detail {
}

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

information

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

.custom.information #main.detail {}

@media only screen  and (min-width: 851px){
.custom.information #main.detail {
/*max-width: 70%;*/
width: 70%;
}
}

@media only screen  and (max-width: 850px){
.custom.information #main.detail {
padding: 0 0 25px;
}
}

/*block*/
.custom.information #main.detail .block {}

.custom.information #main.detail .block:last-child {
margin-bottom: 30px;
}

@media only screen and (min-width: 1001px) {
.custom.information #main.detail .block {
margin-bottom:40px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.information #main.detail .block {
margin-bottom:30px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.information #main.detail .block {
margin-bottom:25px;
}
}

@media only screen and (max-width: 640px){
.custom.information #main.detail .block {
margin-bottom:25px;
}
}

/*btn*/
.custom.information #main.detail .btn {
text-align: center;
}

.custom.information #main.detail .btn a {
width: 100%;
margin: 0 auto;
border: 2px solid #2061A8;
background-color:#2061A8;
display: inline-block;
text-align: center;
text-decoration: none;
color: #FFF;
font-size: 110%;
}

@media only screen  and (min-width: 1001px){
.custom.information #main.detail .btn a {
line-height: 55px;
margin-top: 10px;
}
}

@media only screen  and (min-width: 641px) and (max-width: 1000px){
.custom.information #main.detail .btn a {
line-height: 50px;
margin-top: 5px;
}
}

@media only screen and (max-width: 640px){
.custom.information #main.detail .btn a {
width: 100%;
line-height: 45px;
margin-top: 8px;
}
}

.custom.information #main.detail .btn a:hover {
border-color: #2061A8;
background-color:#FFF;
color: #2061A8;
}

/*date*/
.custom.information #main.detail .date {
text-align:right;
}

@media only screen and (min-width: 1001px) {
.custom.information #main.detail .date {
margin-bottom:20px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.information #main.detail .date {
margin-bottom:20px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.information #main.detail .date {
margin-bottom:15px;
}
}

@media only screen and (max-width: 640px){
.custom.information #main.detail .date {
margin-bottom:12px;
font-size:1.1rem;
}
}

.custom.information #main.detail .block figure {
width:100%;
}

.custom.information #main.detail .block figure img {
width:100%;
}

.custom.information #main.detail .block figure + p {
width:100%;
margin-top:25px;
}

.custom.information #main.detail .block p {
line-height:2.0;
}

.custom.information #main.detail .block h4 {
border-left: 5px solid #316CB4;
color:#316CB4;
font-weight: bold;
padding: 0.01em 0 0.01em 0.9em;
letter-spacing:0.05em;
}

@media only screen and (min-width: 1001px) {
.custom.information #main.detail .block h4 {
font-size: 1.7rem;
margin: 0 0 20px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.information #main.detail .block h4 {
font-size: 1.6rem;
margin: 0 0 20px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.information #main.detail .block h4 {
font-size: 1.5rem;
margin: 0 0 15px;
}
}

@media only screen and (max-width: 640px){
.custom.information #main.detail .block h4 {
font-size: 1.4rem;
margin: 0 0 15px;
}
}

.custom.information #main.detail .block table {
width:100%;
}

@media only screen and (min-width: 769px) {
.custom.information #main.detail .block table {
margin:25px 0 0;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.information #main.detail .block table {
margin:20px 0 0;
}
}

@media only screen and (max-width: 640px){
.custom.information #main.detail .block table {
margin:15px 0 0;
}
}

.custom.information #main.detail .block table th {}

@media only screen and (min-width: 851px) {
.custom.information #main.detail .block table th {
width:240px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.information #main.detail .block table th {
width:240px;
}
}

@media only screen and (max-width: 640px){
.custom.information #main.detail .block table th {}
}

/*カレンダー*/
.custom.information #main.detail .block.layout07 {}

.custom.information #main.detail .block.layout07 .loop-calendar {
margin-bottom: 30px;
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-ttl{
color:#316CB4;
font-weight: bold;
padding: 0.01em 0 0.01em 0;
letter-spacing:0.05em;
}


@media only screen and (min-width: 1001px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-ttl{
font-size: 1.7rem;
margin: 0 0 20px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-ttl{
font-size: 1.6rem;
margin: 0 0 20px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-ttl{
font-size: 1.5rem;
margin: 0 0 15px;
}
}

@media only screen and (max-width: 640px){
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-ttl{
font-size: 1.4rem;
margin: 0 0 15px;
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-note {
margin-bottom: 20px;
display: block;
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner{
margin: 0 0;
display: flex;
flex-wrap: wrap;
/*border-top:#DDD solid 1px;*/
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item{
display: flex;
flex-direction: column;
flex-wrap: wrap;
/*flex: 1 0 auto;*/
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item{
width: calc(100% / 4);
background-color:rgba(57,171,225,0.1);
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item{
width: 50%;
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(4n){
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(4n){
border-right:#DDD solid 1px;
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(4n){
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(2n){
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(2n){
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(2n){
border-right:#DDD solid 1px;
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(odd) .loop-calendar-item:nth-of-type(odd){
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(odd) .loop-calendar-item:nth-of-type(odd){
background-color: #F4F4F4;
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(odd) .loop-calendar-item:nth-of-type(odd){
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(even) .loop-calendar-item:nth-of-type(even){
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(even) .loop-calendar-item:nth-of-type(even){
background-color: #F4F4F4;
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(even) .loop-calendar-item:nth-of-type(even){
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(1) .loop-calendar-item:nth-of-type(-n+4) {
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(1) .loop-calendar-item:nth-of-type(-n+4) {
border-top:#DDD solid 1px;
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(1) .loop-calendar-item:nth-of-type(-n+4) {
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(1) .loop-calendar-item:nth-child(-n+2) {
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(1) .loop-calendar-item:nth-child(-n+2) {
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner:nth-of-type(1) .loop-calendar-item:nth-child(-n+2) {
border-top:#DDD solid 1px;
}
}


.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item {
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item {
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item {
background-color: #F5F5F5;
}
}


.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(3n) {
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(3n) {
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(3n) {
background-color:rgba(57,171,225,0.1);
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(3n-1) {
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(3n-1) {
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-of-type(3n-1) {
background-color:rgba(57,171,225,0.1);
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item .calendar-item-header{
/*border-top:#DDD solid 1px;*/
border-bottom:#DDD solid 1px;
border-left:#DDD solid 1px;
padding: 1rem 1rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
line-height: 1.6;
flex-grow: 1;
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item .calendar-item-header{
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item .calendar-item-header{
/*background-color: #F4F4F4;*/
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-last-of-type(1) .calendar-item-header{
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-last-of-type(1) .calendar-item-header{
border-right:#DDD solid 1px;
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-last-of-type(1) .calendar-item-header{
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item .calendar-item-header .calendar-item-header01{
font-weight: 600;
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item .calendar-item-header .calendar-item-header02{
font-size: 90%;
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item .calendar-item-content{
border-bottom:#DDD solid 1px;
border-left:#DDD solid 1px;
padding: 1rem 1rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
line-height: 1.6;
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-last-of-type(1) .calendar-item-content{
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-last-of-type(1) .calendar-item-content{
border-right:#DDD solid 1px;
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item:nth-last-of-type(1) .calendar-item-content{
}
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item .calendar-item-content .calendar-item-content-txt{
font-size: 110%;
font-weight: 700;
}

.custom.information #main.detail .block.layout07 .loop-calendar .loop-calendar-inner .loop-calendar-item .calendar-item-content .calendar-item-content-inner{
font-weight: 700;
color: #316CB4;
font-size: 110%;
}


/*ボタン*/
.custom.information #main.detail .block.layout08 {}

.custom.information #main.detail .block.layout08 .loop-btn-outer {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout08 .loop-btn-outer {
gap:1rem;
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout08 .loop-btn-outer {
gap:1.5rem;
}
}

.custom.information #main.detail .block.layout08 .loop-btn-outer .loop-btn {
display: flex;
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout08 .loop-btn-outer .loop-btn {
width: calc(100% / 2 - 1rem * 1 / 2);
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout08 .loop-btn-outer .loop-btn {
width: 100%;
}
}

.custom.information #main.detail .block.layout08 .loop-btn-outer .loop-btn a {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
background-color: #39ABE1;
border: #39ABE1 solid 2px;
color: #FFF;
padding: 1rem 1rem;
line-height: 1.5;
}

@media only screen and (min-width: 641px) {
.custom.information #main.detail .block.layout08 .loop-btn-outer .loop-btn a {
min-height: 60px;
}
}

@media only screen and (max-width: 640px) {
.custom.information #main.detail .block.layout08 .loop-btn-outer .loop-btn a {
min-height: 50px;
}
}

.custom.information #main.detail .block.layout08 .loop-btn-outer .loop-btn a:hover {
background-color: #FFF;
border: #39ABE1 solid 2px;
color: #39ABE1;
}




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

blog

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

.custom.blog #main.detail {}

@media only screen  and (min-width: 851px){
.custom.blog #main.detail {
max-width: 70%;
}
}

@media only screen  and (max-width: 850px){
.custom.blog #main.detail {
padding: 0 0 25px;
}
}

/*block*/
.custom.blog #main.detail .block {}

.custom.blog #main.detail .block:last-child {
margin-bottom: 30px;
}

@media only screen and (min-width: 1001px) {
.custom.blog #main.detail .block {
margin-bottom:40px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.blog #main.detail .block {
margin-bottom:30px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.blog #main.detail .block {
margin-bottom:25px;
}
}

@media only screen and (max-width: 640px){
.custom.blog #main.detail .block {
margin-bottom:25px;
}
}

/*btn*/
.custom.blog #main.detail .btn {
text-align: center;
}

.custom.blog #main.detail .btn a {
width: 100%;
margin: 0 auto;
border: 2px solid #2061A8;
background-color:#2061A8;
display: inline-block;
text-align: center;
text-decoration: none;
color: #FFF;
font-size: 110%;
}

@media only screen  and (min-width: 1001px){
.custom.blog #main.detail .btn a {
line-height: 55px;
margin-top: 10px;
}
}

@media only screen  and (min-width: 641px) and (max-width: 1000px){
.custom.blog #main.detail .btn a {
line-height: 50px;
margin-top: 5px;
}
}

@media only screen and (max-width: 640px){
.custom.blog #main.detail .btn a {
width: 100%;
line-height: 45px;
margin-top: 8px;
}
}

.custom.blog #main.detail .btn a:hover {
border-color: #2061A8;
background-color:#FFF;
color: #2061A8;
}

/*date*/
.custom.blog #main.detail .date {
text-align:right;
}

@media only screen and (min-width: 1001px) {
.custom.blog #main.detail .date {
margin-bottom:20px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.blog #main.detail .date {
margin-bottom:20px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.blog #main.detail .date {
margin-bottom:15px;
}
}

@media only screen and (max-width: 640px){
.custom.blog #main.detail .date {
margin-bottom:12px;
font-size:1.1rem;
}
}

.custom.blog #main.detail .block figure {
width:100%;
}

.custom.blog #main.detail .block figure img {
width:100%;
}

.custom.blog #main.detail .block figure + p {
width:100%;
margin-top:25px;
}

.custom.blog #main.detail .block p {
line-height:2.0;
}

.custom.blog #main.detail .block h4 {
border-left: 5px solid #316CB4;
color:#316CB4;
font-weight: bold;
padding: 0.01em 0 0.01em 0.9em;
letter-spacing:0.05em;
}

@media only screen and (min-width: 1001px) {
.custom.blog #main.detail .block h4 {
font-size: 1.7rem;
margin: 0 0 20px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.blog #main.detail .block h4 {
font-size: 1.6rem;
margin: 0 0 20px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.blog #main.detail .block h4 {
font-size: 1.5rem;
margin: 0 0 15px;
}
}

@media only screen and (max-width: 640px){
.custom.blog #main.detail .block h4 {
font-size: 1.4rem;
margin: 0 0 15px;
}
}

.custom.blog #main.detail .block table {
width:100%;
}

@media only screen and (min-width: 769px) {
.custom.blog #main.detail .block table {
margin:25px 0 0;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.blog #main.detail .block table {
margin:20px 0 0;
}
}

@media only screen and (max-width: 640px){
.custom.blog #main.detail .block table {
margin:15px 0 0;
}
}

.custom.blog #main.detail .block table th {}

@media only screen and (min-width: 851px) {
.custom.blog #main.detail .block table th {
width:240px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.blog #main.detail .block table th {
width:240px;
}
}

@media only screen and (max-width: 640px){
.custom.blog #main.detail .block table th {}
}


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

tour

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

.custom.tour #main.detail {}

/*block*/
.custom.tour #main.detail .block {}

/*inner*/
.custom.tour #main.detail .inner {
width: 100%;
margin: 0 auto;
}

@media only screen  and (min-width: 1151px){
.custom.tour #main.detail .inner {
max-width: 1100px;
}
}

@media only screen and (max-width: 1150px){
.custom.tour #main.detail .inner {
padding: 0 3%;
}
}

/*btn*/
.custom.tour #main.detail .btn {}

.custom.tour #main.detail .btn a {
width: 100%;
display: block;
background-color:#2671BC;
border:#2671BC 2px solid;
color: #FFF;
font-weight: bold; font-weight: 700;
text-align: center;
-webkit-border-radius: 50px;
border-radius: 50px;
box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
}

@media only screen  and (min-width: 1151px){
.custom.tour #main.detail .btn a {
font-size: 18px; font-size: 1.8rem;
padding: 10px 0;
}
}

@media only screen  and (min-width: 769px) and (max-width: 1150px){
.custom.tour #main.detail .btn a {
font-size: 16px; font-size: 1.6rem;
padding: 10px 0;
}
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.detail .btn a {
font-size: 14px; font-size: 1.4rem;
padding: 8px 0;

}
}

@media only screen  and (max-width: 640px){
.custom.tour #main.detail .btn a {
font-size: 13px; font-size: 1.3rem;
padding: 7px 0;
}
}

.custom.tour #main.detail .btn a:hover {
background-color:#FFF;
border:#2671BC 2px solid;
color: #2671BC;
}

.custom.tour #main.detail .btn a::after {
content:"\f138";
font-family: "FontAwesome";
line-height: 1;
margin-left: 5px;
text-transform: none;
}

/*tourttl*/
.custom.tour #main.detail .tourttl {
color: #316CB4;
font-weight: bold; font-weight: 700;
}

@media only screen  and (min-width: 1151px){
.custom.tour #main.detail .tourttl {
font-size: 20px; font-size: 2.0rem;
margin-bottom: 15px;
}
}

@media only screen  and (min-width: 769px) and (max-width: 1150px){
.custom.tour #main.detail .tourttl {
font-size: 18px; font-size: 1.8rem;
margin-bottom: 10px;
}
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.detail .tourttl {
font-size: 16px; font-size: 1.6rem;
margin-bottom: 10px;
}
}

@media only screen and (max-width: 640px){
.custom.tour #main.detail .tourttl {
font-size: 15px; font-size: 1.5rem;
margin-bottom: 10px;
}
}

/*table_outer*/
.custom.tour #main.detail .block .table_outer {
width: 100%; 
}

@media only screen and (min-width: 801px){
.custom.tour #main.detail .block .table_outer {
overflow:visible;
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.detail .block .table_outer {
overflow: auto;
}
}

.custom.tour #main.detail .block .table_outer table {
width:100%;
}

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

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

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

.custom.tour #main.detail .block table {
border-collapse: collapse;
border-spacing: 0;
}

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

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

.custom.tour #main.detail .block table caption {
text-align: left;
font-weight: bold; font-weight: 700;
}

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

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

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

.custom.tour #main.detail .block table th {
vertical-align: middle;
margin: 0 auto;
background-color :#2671BC;
color: #FFF;
text-align: center;
}

@media only screen and (min-width: 901px){
.custom.tour #main.detail .block table th {
border-top: #DDD solid 1px; 
border-left: #DDD solid 1px;
padding:15px 20px 15px 20px;
}
}

@media only screen and (min-width: 801px) and (max-width: 900px){
.custom.tour #main.detail .block table th {
border-top: #DDD solid 1px; 
border-left: #DDD solid 1px;
padding: 10px;
}
}

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

.custom.tour #main.detail .block table tr th:nth-of-type(1) {
min-width: 150px;
}

.custom.tour #main.detail .block table tr th:nth-of-type(2) {
min-width: 300px;
}

.custom.tour #main.detail .block table tr th:nth-of-type(3) {
min-width: 100px;
}

.custom.tour #main.detail .block table td {
vertical-align: middle;
margin: 0 auto;
}

@media only screen and (min-width: 901px){
.custom.tour #main.detail .block table td {
border-top: #DDD solid 1px; 
border-left: #DDD solid 1px;
padding:12px 10px 12px 15px;
}
}

@media only screen and (min-width: 801px) and (max-width: 900px){
.custom.tour #main.detail .block table td {
border-top: #DDD solid 1px; 
border-left: #DDD solid 1px;
padding: 10px;
}
}

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

.custom.tour #main.detail .section01 table td {
min-width: 250px;
}
}

.custom.tour #main.detail .block table tr td:nth-of-type(1) {
background-color:#E6E6E6;
}

@media only screen and (min-width: 901px){
.custom.tour #main.detail .block table tr td:nth-of-type(1) {}

.custom.tour #main.detail .section01 table tr td:nth-of-type(1) {
width: 230px;
}

.custom.tour #main.detail .section02 table tr td:nth-of-type(1) {}
}

@media only screen and (min-width: 801px) and (max-width: 901px){
.custom.tour #main.detail .block table tr td:nth-of-type(1) {}

.custom.tour #main.detail .section01 table tr td:nth-of-type(1) {
width: 220px;
}

.custom.tour #main.detail .section02 table tr td:nth-of-type(1) {}
}

@media only screen and (max-width: 800px){
.custom.tour #main.detail .block table tr td:nth-of-type(1) {
}

.custom.tour #main.detail .section01 table tr td:nth-of-type(1) {
min-width: 200px;
}

.custom.tour #main.detail .section02 table tr td:nth-of-type(1) {}
}

.custom.tour #main.detail .block table tr td:nth-of-type(2) {
background-color:#FFF;
}

.custom.tour #main.detail .block table tr td:nth-of-type(3) {
background-color:#FFF;
}

.custom.tour #main.detail .section02 table tr td:nth-of-type(3) {
text-align: center;
}

/************************
section01
************************/

.custom.tour #main.detail .section01 {}

@media only screen and (min-width: 1151px) {
.custom.tour #main.detail .section01 {
margin-bottom:20px;
}
}

@media only screen and (min-width: 901px) and (max-width: 1150px){
.custom.tour #main.detail .section01 {
margin-bottom:20px;
}
}

@media only screen and (min-width: 641px) and (max-width: 900px){
.custom.tour #main.detail .section01 {
margin-bottom:15px;
}
}

@media only screen and (max-width: 640px){
.custom.tour #main.detail .section01 {
margin-bottom:15px;
}
}

/*separator*/
.custom.tour #main.detail .section01 .separator {}

.custom.tour #main.detail .section01 .separator .leftPart {}

@media only screen  and (min-width: 901px){
.custom.tour #main.detail .section01 .separator .leftPart {
width:100%;
padding-bottom:30px;
}
}

@media only screen and (min-width: 801px) and (max-width: 900px){
.custom.tour #main.detail .section01 .separator .leftPart {
width:100%;
padding-bottom:30px;
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.detail .section01 .separator .leftPart {
width:100%;
margin-bottom:20px;
}
}

.custom.tour #main.detail .section01 .separator .rightPart {
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; 
-webkit-box-orient: vertical;	-webkit-box-direction: normal;	-webkit-flex-direction: column;	-ms-flex-direction: column;	flex-direction: column;
}

@media only screen  and (min-width: 901px){
.custom.tour #main.detail .section01 .separator .rightPart {
width:100%;
}
}

@media only screen and (min-width: 801px) and (max-width: 900px){
.custom.tour #main.detail .section01 .separator .rightPart {
width:100%;
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.detail .section01 .separator .rightPart {
width:100%;
}
}

.custom.tour #main.detail .section01 .separator .rightPart.w100 {
width: 100%;
}

.custom.tour #main.detail .section01 .separator .rightPart table {}

@media only screen  and (min-width: 801px){
.custom.tour #main.detail .section01 .separator .rightPart table {
margin-bottom: 10px;
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.detail .section01 .separator .rightPart table {}
}

/*price*/
.custom.tour #main.detail .section01 .separator .rightPart .price {
text-align: right;
color: #CC0033;
font-weight: bold; font-weight: 700;
}

@media only screen  and (min-width: 801px){
.custom.tour #main.detail .section01 .separator .rightPart .price {
margin-top: auto;
font-size: 20px; font-size: 2.0rem;
}
}

@media only screen and (min-width: 641px) and (max-width: 800px){
.custom.tour #main.detail .section01 .separator .rightPart .price {
margin-top: 15px;
font-size: 18px; font-size: 1.8rem;
}
}

@media only screen and (max-width: 640px){
.custom.tour #main.detail .section01 .separator .rightPart .price {
margin-top: 15px;
font-size: 16px; font-size: 1.6rem;
}
}

.custom.tour #main.detail .section01 .separator .rightPart .price span {}

@media only screen  and (min-width: 801px){
.custom.tour #main.detail .section01 .separator .rightPart .price span {
font-size: 16px; font-size: 1.6rem;
}
}

@media only screen and (min-width: 641px) and (max-width: 800px){
.custom.tour #main.detail .section01 .separator .rightPart .price span {
font-size: 15px; font-size: 1.5rem;
}
}

@media only screen and (max-width: 640px){
.custom.tour #main.detail .section01 .separator .rightPart .price {
font-size: 12px; font-size: 1.2rem;
}
}

/************************
section02
************************/

.custom.tour #main.detail .section02 {}

@media only screen and (min-width: 1001px) {
.custom.tour #main.detail .section02 {
padding-bottom:55px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.tour #main.detail .section02 {
padding-bottom:35px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.detail .section02 {
padding-bottom:35px;
}
}

@media only screen and (min-width: 451px) and (max-width: 640px){
.custom.tour #main.detail .section02 {
padding-bottom:30px;
}
}

@media only screen and (max-width: 450px){
.custom.tour #main.detail .section02 {
padding-bottom:30px;
}
}

/*btn*/
.custom.tour #main.detail .section02 .btn {}

@media only screen and (min-width: 1001px){
.custom.tour #main.detail .section02 .btn {
margin-top: 45px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.tour #main.detail .section02 .btn {
margin-top: 35px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.detail .section02 .btn {
margin-top: 35px;
}
}

@media only screen and (min-width: 451px) and (max-width: 640px){
.custom.tour #main.detail .section02 .btn {
margin-top: 30px;
}
}

@media only screen and (max-width: 450px){
.custom.tour #main.detail .section02 .btn {
margin-top: 30px;
}
}

/************************
section03
************************/

.custom.tour #main.detail .section03 {
background-color:#F2F2F2;
}

@media only screen and (min-width: 1001px) {
.custom.tour #main.detail .section03 {
padding-top:45px;
padding-bottom:85px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.custom.tour #main.detail .section03 {
padding-top:40px;
padding-bottom:90px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.detail .section03 {
padding-top:35px;
padding-bottom:90px;
}
}

@media only screen and (min-width: 451px) and (max-width: 640px){
.custom.tour #main.detail .section03 {
padding-top:30px;
padding-bottom:90px;
}
}

@media only screen and (max-width: 450px){
.custom.tour #main.detail .section03 {
padding-top:30px;
padding-bottom:85px;
}
}

.custom.tour #main.detail .section03 .tabttl {
font-weight:bold; font-weight:700;
}

@media only screen and (min-width: 901px){
.custom.tour #main.detail .section03 .tabttl {
font-size: 18px; font-size: 1.8rem;
}
}

@media only screen and (min-width: 801px) and (max-width: 900px){
.custom.tour #main.detail .section03 .tabttl {
font-size: 16px; font-size: 1.6rem;
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.detail .section03 .tabttl {
font-size: 15px; font-size: 1.5rem;
}
}

.custom.tour #main.detail .section03 .item {
position: relative;
background-color: #FFF;
-webkit-border-radius: 8px;border-radius: 8px;
counter-increment: count;
}

.custom.tour #main.detail .section03 .item.type1 {}

@media only screen and (min-width: 801px){
.custom.tour #main.detail .section03 .item.type1 {
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; 
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.detail .section03 .item.type1 {}
}

.custom.tour #main.detail .section03 .item.type2 {}

@media only screen and (min-width: 1151px){
.custom.tour #main.detail .section03 .item {
margin-top: 20px;
padding: 45px 25px 30px 25px;
}

.custom.tour #main.detail .section03 .item:nth-of-type(1) {
margin-top: 12px;
}
}

@media only screen and (min-width: 641px) and (max-width: 1150px){
.custom.tour #main.detail .section03 .item {
margin-top: 20px;
padding: 45px 25px 25px 25px;
}

.custom.tour #main.detail .section03 .item:nth-of-type(1) {
margin-top: 12px;
}
}

@media only screen and (min-width: 451px) and (max-width:640px){
.custom.tour #main.detail .section03 .item {
margin-top: 18px;
padding: 40px 20px 20px 20px;
}

.custom.tour #main.detail .section03 .item:nth-of-type(1) {
margin-top: 8px;
}
}

@media only screen and (max-width: 450px){
.custom.tour #main.detail .section03 .item {
margin-top: 18px;
padding: 40px 20px 20px 20px;
}

.custom.tour #main.detail .section03 .item:nth-of-type(1) {
margin-top: 8px;
}
}

.custom.tour #main.detail .section03 .item .ribbonArea {
position: absolute;
left: -4px;
z-index: 100;
}

@media only screen and (min-width: 641px){
.custom.tour #main.detail .section03 .item .ribbonArea {
top: 15px;
}
}

@media only screen and (max-width: 640px){
.custom.tour #main.detail .section03 .item .ribbonArea {
top: 13px;
}
}

.custom.tour #main.detail .section03 .item .ribbon {
position:relative;
width: auto;
max-width: 230px;
padding: 3px 15px;
background-color: #1C4898;
color: #FFF;
box-shadow:inset 0 0 50px rgba(0,0,0, 0.1), 0 2px 3px rgba(0, 0, 0, 0.3);
border-top-right-radius:10px;
border-bottom-right-radius:10px;
}

@media only screen and (min-width: 401px){
.custom.tour #main.detail .section03 .item .ribbon {
font-size: 11px; font-size: 1.1rem;
}
}

@media only screen and (max-width: 400px){
.custom.tour #main.detail .section03 .item .ribbon {
font-size: 10px; font-size: 1.0rem;
}
}

.custom.tour #main.detail .section03 .item .ribbon:before{  
content:'';  
position:absolute;  
left:0px;  
bottom:-4px;  
border-top:2px solid #666;  
border-right:2px solid #666;  
border-bottom:2px solid transparent;  
border-left:2px solid transparent; 
z-index: -1;
}  

.custom.tour #main.detail .section03 .item .ribbon:after{  
content: "." counter(count, decimal); 
}  

.custom.tour #main.detail .section03 .itemttl {
font-weight:bold; font-weight:700;
}

@media only screen and (min-width: 901px){
.custom.tour #main.detail .section03 .itemttl {
font-size: 18px; font-size: 1.8rem;
margin-bottom: 10px;
}
}

@media only screen and (min-width: 801px) and (max-width: 900px){
.custom.tour #main.detail .section03 .itemttl {
font-size: 16px; font-size: 1.6rem;
margin-bottom: 5px;
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.detail .section03 .itemttl {
font-size: 15px; font-size: 1.5rem;
margin-bottom: 5px;
}
}

.custom.tour #main.detail .section03 .itemttl span {
background: linear-gradient(transparent 70%, #FFFF00 0%);
display: inline;
padding: 0 0;
}

.custom.tour #main.detail .section03 .item .photo {}

@media only screen and (min-width: 801px){
.custom.tour #main.detail .section03 .item .photo {
width: 350px;
margin-left: 20px;
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.detail .section03 .item .photo {
width: 100%;
margin-top: 15px;
}
}

.custom.tour #main.detail .section03 .item.type1 .text {}

@media only screen and (min-width: 801px){
.custom.tour #main.detail .section03 .item.type1 .text {
width: -webkit-calc(100% - 370px);
width: calc(100% - 370px);
}
}

@media only screen and (max-width: 800px){
.custom.tour #main.detail .section03 .item.type1 .text {
width: 100%;
}
}

.custom.tour #main.detail .section03 .item.type2 .text {
width: 100%;
}

.custom.tour #main.detail .section03 .inline {}

@media only screen and (min-width: 641px){
.custom.tour #main.detail .section03 .inline {
margin-top:45px;
}
}

@media only screen and (min-width: 451px) and (max-width: 640px){
.custom.tour #main.detail .section03 .inline {
margin-top:35px;
}
}

@media only screen and (min-width: 451px){
.custom.tour #main.detail .section03 .inline {
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; 
-webkit-box-pack: justify;	-webkit-justify-content: space-between;	-ms-flex-pack: justify;	justify-content: space-between;
}
}

@media only screen and (max-width: 450px){
.custom.tour #main.detail .section03 .inline {
margin-top:30px;
}
}

.custom.tour #main.detail .section03 .inline .btn {}

@media only screen and (min-width: 451px){
.custom.tour #main.detail .section03 .inline .btn {
width:49%;
}
}

@media only screen and (max-width: 450px){
.custom.tour #main.detail .section03 .inline .btn {
width:100%;
margin-top:15px;
}
}

.custom.tour #main.detail .section03 .separator {
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; 
}

.custom.tour #main.detail .section03 .separator .recommenditem {
position: relative;
background-color: #FFF;
box-shadow: 0 1px 7px #c1c1c1;
border-radius: 5px;
}

@media only screen and (min-width: 769px){
.custom.tour #main.detail .section03 .separator .recommenditem {
padding: 15px 15px 20px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.detail .section03 .separator .recommenditem {
padding: 12px 12px 17px;
}
}

@media only screen and (min-width: 431px) and (max-width: 640px){
.custom.tour #main.detail .section03 .separator .recommenditem {
padding: 10px 10px 15px;
}
}

@media only screen and (min-width: 431px){
.custom.tour #main.detail .section03 .separator .recommenditem {
width: calc((100% - 2rem) / 3);
margin: 0 .99rem 0 0;
}

.custom.tour #main.detail .section03 .separator .recommenditem:nth-of-type(3n) {
margin: 0 0 0 0;
}
}

@media only screen and (max-width: 430px){
.custom.tour #main.detail .section03 .separator .recommenditem {
width: calc((100% - 1rem) / 3);
margin: 0 .49rem 0 0;
padding: 8px 8px 13px;
}

.custom.tour #main.detail .section03 .separator .recommenditem:nth-of-type(3n) {
margin: 0 0 0 0;
}
}

.custom.tour #main.detail .section03 .separator .recommenditem .photo {
padding-top: 60%;
overflow: hidden;
position: relative;
}

@media only screen  and (min-width: 769px){
.custom.tour #main.detail .section03 .separator .recommenditem .photo {
margin-bottom:10px;
}	
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.detail .section03 .separator .recommenditem .photo {
margin-bottom:7px;
}	
}

@media only screen and (max-width: 640px){
.custom.tour #main.detail .section03 .separator .recommenditem .photo {
margin-bottom:5px;
}	
}
.custom.tour #main.detail .section03 .separator .recommenditem .photo img {
position: absolute; top: 0; left: 0;
width: 100%; height: auto;
}

.custom.tour #main.detail .section03 .separator .recommenditem .text .item-ttl {
color: #1C4898;
font-weight: bold; font-weight: 700;
line-height: 1.5;
}

@media only screen  and (min-width: 801px){
.custom.tour #main.detail .section03 .separator .recommenditem .text .item-ttl {
font-size: 15px; font-size: 1.5rem;
}
}

@media only screen  and (min-width: 641px) and (max-width: 800px){
.custom.tour #main.detail .section03 .separator .recommenditem .text .item-ttl {
font-size: 14px; font-size: 1.4rem;
}
}

@media only screen  and (min-width: 431px) and (max-width: 640px){
.custom.tour #main.detail .section03 .separator .recommenditem .text .item-ttl {
font-size: 13px; font-size: 1.3rem;
}
}

@media only screen  and (max-width: 430px){
.custom.tour #main.detail .section03 .separator .recommenditem .text .item-ttl {
font-size: 12px; font-size: 1.2rem;
}
}

.custom.tour #main.detail .section03 .recommend_ttl {
position: relative;
text-align: center;
color: #fff;
background:#1C4898;
font-weight: 700;
box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
}

@media only screen and (min-width: 851px){
.custom.tour #main.detail .section03 .recommend_ttl {
margin:45px 0 30px;
line-height: 55px;
height: 55px;
}
}

@media only screen and (min-width: 451px) and (max-width: 850px){
.custom.tour #main.detail .section03 .recommend_ttl {
margin:40px 0 30px;
line-height: 50px;
height: 50px;
}
}

@media only screen and (max-width: 450px){
.custom.tour #main.detail .section03 .recommend_ttl {
margin:25px 0;
line-height: 45px;
height: 45px;
}
}

#main.detail .section03 .recommend_ttl:before,
#main.detail .section03 .recommend_ttl:after {
position: absolute;
top: 0;
display: block;
content: '';
}

@media only screen and (min-width: 851px){
#main.detail .section03 .recommend_ttl:before,
#main.detail .section03 .recommend_ttl:after {
border: 27px solid #1C4898;
height: 55px;
}
}

@media only screen and (min-width: 641px) and (max-width: 850px){
#main.detail .section03 .recommend_ttl:before,
#main.detail .section03 .recommend_ttl:after {
border: 25px solid #1C4898;
height: 50px;
}
}

@media only screen and (max-width: 450px){
#main.detail .section03 .recommend_ttl:before,
#main.detail .section03 .recommend_ttl:after {
border: 22.5px solid #1C4898;
height: 45px;
}
}

.custom.tour #main.detail .section03 .recommend_ttl:before {
left: -2px;
border-left-width: 17px;
border-left-color:#F0F0F0;
}

.custom.tour #main.detail .section03 .recommend_ttl:after {
right: -2px;
border-right-width: 17px;
border-right-color:#F0F0F0;
}

.custom.tour #main.detail .section03 .recommend_ttl span {
position: relative;
display: block;
}

@media only screen  and (min-width: 769px){
.custom.tour #main.detail .section03 .recommend_ttl span {
font-size: 18px; font-size: 1.8rem;
}
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.detail .section03 .recommend_ttl span {
font-size: 16px; font-size: 1.6rem;
}
}

@media only screen  and (max-width: 640px){
.custom.tour #main.detail .section03 .recommend_ttl span {
font-size: 14px; font-size: 1.4rem;
}
}

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

office

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

.office #main.detail {
width: 100%;
margin-left:auto;
margin-right:auto;
}

@media only screen  and (min-width: 1151px){
.office #main.detail {
margin-bottom:35px;
}
}

@media only screen  and (min-width: 769px)  and (max-width: 1150px){
.office #main.detail {
margin-bottom:30px;
}
}

@media only screen  and (max-width: 768px){
.office #main.detail {
margin-bottom:25px;
}
}

.office #main.detail .inner {
width: 100%;
margin:0 auto;
}

@media only screen  and (min-width: 1151px){
.office #main.detail .inner {
max-width: 1100px;
padding: 0 0;
}
}

@media only screen  and (max-width: 1150px){
.office #main.detail .inner {
padding: 0 3%;
}
}

/*block*/
.office #main.detail .block {}

@media only screen and (min-width: 1001px) {
.office #main.detail .block {
margin-bottom:40px;
}
}

@media only screen and (min-width: 769px) and (max-width: 1000px){
.office #main.detail .block {
margin-bottom:30px;
}
}

@media only screen and (min-width: 641px) and (max-width: 768px){
.office #main.detail .block {
margin-bottom:25px;
}
}

@media only screen and (max-width: 640px){
.office #main.detail .block {	
margin-bottom:25px;
}
}

/*table_outer*/
.office #main.detail .block .table_outer {
width: 100%; 
}

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

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

.office #main.detail .block .table_outer table {
width:100%;
}

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

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

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

.office #main.detail .block table {
border-collapse: collapse;
border-spacing: 0;
width:100%;
}

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

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

.office #main.detail .block table td {
vertical-align: middle;
margin: 0 auto;
}

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

@media only screen and (min-width: 801px) and (max-width: 900px){
.office #main.detail .block table td {
border-top: #DDD solid 1px; 
border-left: #DDD solid 1px;
padding: 10px;
}
}

@media only screen and (max-width: 800px){
.office #main.detail .block table td {
border-right:#DDD solid 1px; 
border-left:#DDD solid 1px; 
border-bottom:#DDD solid 1px;
padding: 10px;
}
}

/*btn*/
.office #main.detail .btn {}

@media only screen and (min-width: 769px){
.office #main.detail .btn {
margin-top: 30px;
}
}

@media only screen and (max-width: 768px){
.office #main.detail .btn {
margin-top: 20px;
}
}

.office #main.detail .btn a {
width: 100%;
display: block;
background-color:#2671BC;
border:#2671BC 2px solid;
color: #FFF;
font-weight: bold; font-weight: 700;
text-align: center;
-webkit-border-radius: 50px;
border-radius: 50px;
box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
}

@media only screen  and (min-width: 1151px){
.office #main.detail .btn a {
font-size: 18px; font-size: 1.8rem;
padding: 10px 0;
}
}

@media only screen  and (min-width: 769px) and (max-width: 1150px){
.office #main.detail .btn a {
font-size: 16px; font-size: 1.6rem;
padding: 10px 0;
}
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.office #main.detail .btn a {
font-size: 14px; font-size: 1.4rem;
padding: 8px 0;

}
}

@media only screen  and (max-width: 640px){
.office #main.detail .btn a {
font-size: 13px; font-size: 1.3rem;
padding: 7px 0;
}
}

.office #main.detail .btn a:hover {
background-color:#FFF;
border:#2671BC 2px solid;
color: #2671BC;
}

.office #main.detail .btn a::after {
content:"\f138";
font-family: "FontAwesome";
line-height: 1;
margin-left: 5px;
text-transform: none;
}

/*tourttl*/
.office #main.detail .tourttl {
color: #316CB4;
font-weight: bold; font-weight: 700;
}


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

動画

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

.custom #main.detail .movieBox {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
margin: 0 0;/* スクロールエリアをmarginで調節*/
}

/* 親要素内100%で動画を表示 */
.custom #main.detail .movieBox iframe,
.custom #main.detail .movieBox object,
.custom #main.detail .movieBox embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.custom #main.detail .movieBox video {
width: 100%;
max-width: 100%;
}

.custom #main.detail .movieBox .yt_video {
position: absolute;
width:100%;
height:auto;
top:0;
}

.custom #main.detail .movieBox .yt_video img {
width:100%;
height:auto;
}

.custom #main.detail .movieBox .yt_video::before { /* FontAwesomeで再生ボタンを画像上に。*/
position: absolute;
font-family: "FontAwesome";
content: "\f16a";/*あるいはf04b*/
font-weight:900;
color: #fc0d1c;
font-size: 70px;
top: 50%;
left: 50%;
transform : translate(-50%,-50%);
opacity: .90;
transition:.5s;
z-index:5000;
}

.custom #main.detail .movieBox .yt_video:hover::before {
cursor: pointer;
}

.custom #main.detail .movieBox .yt_video img:hover{ /* ホバー時にカーソルを変化させる */
cursor: pointer;
width:100%;
height:auto;
box-sizing: border-box;
}

.custom #main.detail .movieBox .yt_video:hover::before { /* ホバー時アイコンの色変える */
color:#32cd32;
transition:.5s;
}

.custom #main.detail .movieBox + p {}

@media only screen  and (min-width: 769px){
.custom #main.detail .movieBox + p {
margin-top:25px;
}
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.custom #main.detail .movieBox + p {
margin-top:20px;
}
}

@media only screen and (max-width: 640px){
.custom #main.detail .movieBox + p {
margin-top:15px;
}
}

.custom #main.detail .videoBox + p {}

@media only screen  and (min-width: 769px){
.custom #main.detail .videoBox + p {
margin-top:25px;
}
}

@media only screen  and (min-width: 641px) and (max-width: 768px){
.custom #main.detail .videoBox + p {
margin-top:20px;
}
}

@media only screen and (max-width: 640px){
.custom #main.detail .videoBox + p {
margin-top:15px;
}
}




/*------------------------------------------------
満席表示（2026.10 追加）
------------------------------------------------*/
.custom.tour #main.detail .btn .btn-soldout {
width: 100%;
display: block;
background-color: #999;
border: #999 2px solid;
color: #FFF;
font-weight: bold; font-weight: 700;
text-align: center;
-webkit-border-radius: 50px;
border-radius: 50px;
cursor: default;
}

@media only screen and (min-width: 1151px){
.custom.tour #main.detail .btn .btn-soldout { font-size: 18px; font-size: 1.8rem; padding: 10px 0; }
}
@media only screen and (min-width: 769px) and (max-width: 1150px){
.custom.tour #main.detail .btn .btn-soldout { font-size: 16px; font-size: 1.6rem; padding: 10px 0; }
}
@media only screen and (min-width: 641px) and (max-width: 768px){
.custom.tour #main.detail .btn .btn-soldout { font-size: 14px; font-size: 1.4rem; padding: 8px 0; }
}
@media only screen and (max-width: 640px){
.custom.tour #main.detail .btn .btn-soldout { font-size: 13px; font-size: 1.3rem; padding: 7px 0; }
}

.soldout-badge {
display: inline-block;
background-color: #C20D23;
color: #FFF;
font-size: 12px; font-size: 1.2rem;
font-weight: bold;
line-height: 1.5;
padding: 2px 10px;
margin-right: 8px;
border-radius: 3px;
vertical-align: middle;
}

.soldout-txt {
display: inline-block;
background-color: #666;
color: #FFF;
font-weight: bold;
font-size: 13px; font-size: 1.3rem;
line-height: 1.5;
padding: 3px 12px;
margin-top: 5px;
border-radius: 3px;
}

