@charset "utf-8";

/* -----------------------------------------------------------
　共通・可変画像（親要素幅まで）
----------------------------------------------------------- */

.fluid_image {
  max-width:100%;
  height: auto;
  width /***/:auto;
}

.fcRed {
  color:#ff0000;
}

.fcBlue {
  color:#004ea2;
}

.fwBold {
  font-weight:bold;
}

.fs120 {
  font-size:120%;
}

.left {
  float: left;
}

.right {
  float: right;
}

.center {
  text-align: center;
}

.clear {
  clear: both;
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

address {
  font-style: normal;
}

.hidden {
  font-size: 0;
  text-indent: -999999px;
  height: 0;
}

.mb10{
  margin-bottom: 1rem;
}
.mb20{
  margin-bottom: 2rem;
}

/* :::::::::: テキストリンク :::::::::: */

section a {
  text-decoration:underline;
  color:inherit;
}

section a:hover {
  text-decoration:underline;
  color:inherit;
}

@media screen and (min-width: 769px){
  
  /* :::::::::: 【PC】全体 :::::::::: */
  
  body {
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック", "MS PGothic" ,sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size:16px;
    color:#212121;
	border-top:solid 20px #004ea2;
  }  
    
  .pc_cont {
  }
  
  .sp_cont {
    display:none;
  }
  
  figure {
    margin:0 auto 1.7em;
    text-align:center;
  }

  
  .min-right {
    text-align: right;
  }
  
  /* :::::::::: 【PC】画像・左寄せ回り込みなし :::::::::: */
  
  .pc_image_alignleft {
    width:100%;
    text-align:left;
  }
    
  /* :::::::::: 【PC】画像・右寄せ回り込み :::::::::: */
  
  .pc_image_right {
    margin:0 0 1.7em 1.7em;
    float:right;
  }
  
  /* :::::::::: 【PC】画像・左寄せ回り込み :::::::::: */
  
  .pc_image_left {
    margin:0 1.7em 1.7em 0;
    padding:0;
    float:left;
  }
  
  /* :::::::::: 【PC】画像・2つ並びサイズ :::::::::: */
  
  .pc_image_half {
    width:48%;
    margin:0 4% 1.7em 0;
    padding:0;
    float:left;
  }
  
  .pc_image_half:nth-child(2n) {
    margin:0 0 1.7em;
  }
  
  /* ::::::::::【PC】 画像・3つ並びサイズ :::::::::: */  
  
  .pc_image_onethird {
    width:32%;
    margin:0 2% 1.7em 0;
    float:left;
  }
  
  .pc_image_onethird:nth-child(3n) {  
    margin:0 0 1.7em;
  }
  
  /* ::::::::::【PC】 ホバー時opacity :::::::::: */        
  
  .hover_img {
    opacity:1;
    -webkit-transition: 0.5s;    
    -moz-transition: 0.5s;
    transition: 0.5s;
  }
  
  .hover_img:hover {
    opacity:0.6;
    -webkit-transition: 0.5s;    
    -moz-transition: 0.5s;
    transition: 0.5s;
  }
}

@media screen and (max-width: 768px){
  
  /* :::::::::: 【SP】全体・画像 :::::::::: */
  
  body {
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック", "MS PGothic" ,sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    font-size:4.375vw;
    color:#212121;
  }  

  .pc_cont {
    display:none;
  }
  
  .sp_cont {
  }
  
  figure {
    margin:0 auto 5%;
    text-align:center;
  }  
}


/* -----------------------------------------------------------
　ヘッダ
----------------------------------------------------------- */

@media screen and (min-width: 769px){
  
  /* :::::::::: 【PC】ヘッダー :::::::::: */
  
  header {
		position:absolute;
    width:100%;
    min-width:1050px;
    height:160px;
    margin:0;
		background:rgba(255,255,255,0.9);
		z-index:2;
  }
  
  header .header_box {
		position:relative;
    width:980px;
    height:110px;
    margin:0 auto;
		padding:15px 0 0;
  }
  
  header .header_box h1 {
		width:409px;
		height:59px;
    padding:0;
    margin:0 0 10px;
  }
  
  header .header_box .h_contact {
    font-size:14px;
		color:#f6a031; 
		width:190px;
		height:24px;
		line-height:24px;
		float:left;
		font-weight:bold;
  }
  
  header .header_box .h_tel {
    font-size:22px;
		color:#f6a031; 
		width:190px;
		padding:0 0 0 30px;
		height:24px;
		line-height:24px;
		float:left;
		font-weight:bold;
		background:url(../images/template/h_tel.png) no-repeat left center;
  }  

	header .header_box .freedial {
		clear: both;
		padding: 3px 0 0;
	}	
	header .header_box .freedial .h_contact {
		padding: 0.85em 0 0;
	}
  header .header_box .freedial .h_tel {
		height: auto;
		background:url(../images/template/h_tel.png) no-repeat left bottom;
  }  
	
  /* :::::::::: 【PC】メインナビ :::::::::: */
  
  nav {
		position:absolute;
    width:540px;
    height:85px;
		right:0;
		top:35px;
  }
  
  nav p {display:none;}
  
  nav ul {
    width:100%;
    height: 85px;
    margin:0;
  }
  
  nav ul li {
		box-sizing:border-box;  
		position:relative;
    width:100px;
		height:85px;
		overflow:hidden;
		border-radius:5px;
    float:left;
		font-size:16px;
    font-weight:bold;
		text-align:center;
		background:#004ea2;
		margin:0 10px 0 0;
		padding:2px;
  }
  
  nav ul li:last-child{margin:0;}
    
  nav ul li a {
	box-sizing:border-box;    
	position:relative;
	display:block;
	width:100%;
	height:100%;
	border-radius:3px;
	text-decoration:none;
	background:#FFF;
	color:#004ea2;
	line-height:20px;
	z-index:3;
	padding:32px 0 ;
  }
  
  nav ul li:nth-of-type(3) a,
  nav ul li:nth-of-type(4) a,
  nav ul li:nth-of-type(5) a {
	padding:22px 0;
  }
  
  nav ul li::after {
	position:absolute;
	display:block;
	content:"";
	width:100%;
	height:100%;
	background:#64d1f9;
	left:-100%;
	top:0;
	transition:0.4s;
	z-index:2;
  }
  
  nav ul li:hover::after {
	left:0;
	top:0;
	transition:0.4s;
  }  
	
    
  /* :::::::::: 【PC】キービジュアル :::::::::: */
  
  .keyvisual {
	position:relative;
	width:100%;
	min-width:1050px;
	height:527px; 
	margin:0 0 30px;
	overflow: hidden;
  }
  
  .keyvisual p.keytext {
	position:absolute;  
	z-index:100;
	font-size:24px;
	font-weight:bold;
	color:#FFF;
	text-align:center;
    text-shadow:
        0 2px 0 #0188c6,
        2px 0 0 #0188c6,
        0 -2px 0 #0188c6,
        -2px 0 0 #0188c6,
        -2px -2px 0 #0188c6,
        2px -2px 0 #0188c6,
        -2px 2px 0 #0188c6,
        2px 2px 0 #0188c6
        ;
    width:100%;
	bottom:1em;
	line-height:36px;
  }
  
  .keyvisual p.keytext span.opening {
	display:block;
	color:#0188c6;
	text-align:center;
    text-shadow:
        0 2px 0 #FFF,
        2px 0 0 #FFF,
        0 -2px 0 #FFF,
        -2px 0 0 #FFF,
        -2px -2px 0 #FFF,
        2px -2px 0 #FFF,
        -2px 2px 0 #FFF,
        2px 2px 0 #FFF
        ;	  
  }
  
  .keyvisual p.keytext span.opening span {font-size:1.4em;}
	
  #slider {
    position: relative;
    width: 100%;
    height:auto;		
  }
	
  #wrapper {
    width: 100%;
    overflow: hidden;
    height:auto;	
  }
	
  #carousel li {
    border: none;
    display: block;
    float: left;
    position:relative;
    height:auto;		
  }
	
  #carousel li img {
    width: 100%;
    max-width:980px;
    height: auto;
  }
  
  #prev, #next {
    background-color: #fff;
    opacity:0.4;
    filter: alpha(opacity=70);/* ie 6 7 */
    -ms-filter: "alpha(opacity=70)";/* ie 8 */
    zoom:1;
    display: block;
    height: 100%;
    width: 50%;
    top: 0;
    position: absolute;
  }
  
  #prev:hover, #next:hover {
    opacity:0.4;
    filter: alpha(opacity=40);/* ie 6 7 */
    -ms-filter: "alpha(opacity=40)";/* ie 8 */
    zoom:1;
  }
  
  #prev {
    left: -460px;/* スライドする画像の横半分の値 */
    background:url( ../images/arrow-left.png ) right bottom 180px no-repeat;
  }
  
  #next {
    background:url( ../images/arrow-right.png ) left bottom 180px no-repeat;
    right: -460px;/* スライドする画像の横半分の値 */
  }

  .keyvisual_sub {
	position:relative;
	width:100%;
	min-width:1050px;
	height:330px; 
	margin:0 0 30px;
	overflow: hidden;
	background:#0188c6;
  }  
  
  .keyvisual_sub .p_title p {
	position:absolute;
	display:block;
	width:980px;
	margin:auto;
	left:0;
	right:0;
	bottom:80px;
	text-align:center;
	color:#FFF;
	font-size:36px;
	font-weight:bold;
  }
}

@media screen and (max-width: 768px){
  
  /* :::::::::: 【SP】ヘッダー :::::::::: */  
  
  header {
    width:100%;
    height:auto;
    margin:2% auto 4%;
  }
  
  header h1 {
    width:96%;
	margin:2% auto;
	text-align:center;
  }
  
  header .h_info {
    width:100%;
	position:relative;
  }
  
  header .h_contact {display:none;}
  
  header .h_tel {
		box-sizing:border-box;
		width:55%;
		height:auto;
		padding:3%;
		background:url(../images/template/h_tel.png) no-repeat left 4% center,#fffad0;
		color:#f6a031;
		font-size:1.2em;
		line-height:1em;
		font-weight:bold;
		text-align:right;
		background-size:10%;
		border:solid 1px #f6a031;
		margin:0 0 0 2%;
  }	
	
  header .h_tel a {
		display:block;
    text-decoration:none;
		color:inherit;
  }
	
  header .freedial {
		padding: 10px 0 0;
	}
  header .freedial .h_tel {
		background:url(../images/template/h_tel.png) no-repeat left 4% bottom 35%,#fffad0;
	}

  /* :::::::::: 【SP】メインナビ :::::::::: */  
  
  nav {
    position:absolute;
    top:2.9em;
    width:100%;
    height:auto;
    margin:0;
    z-index:110;
	left:0;
	font-size:1.2em;
  }
  
  nav p {	
    box-sizing:border-box;
    position:absolute;
    width:38.5%;
    height:auto;
    padding:2.5% 3%;
    background:#e7f8ff;
    font-size:1.2em;
	font-weight:bold;
    right:2%;
    top:-2.4em;
    color:#0188c6;
    text-align:right;
	border:solid 1px #93d1eb;
  }
  
  nav p span::before {
    content:'';
    height:0.1em;
    width:1.2em;
    background:#0188c6;
    display:block;
    position:absolute;
	margin:auto;
    top:0.4em;
    left:0.4em;
    box-shadow:0 0.4em #0188c6;
    transition: 0.5s;
	border-radius:0.5em;
  }
	
  nav p span::after {
    content:'';
    height:0.1em;
    width:1.2em;
    background:#0188c6;
    display:block;
    position:absolute;
	margin:auto;
    top:1.2em;
    left:0.4em;
    transition: 0.5s;
	border-radius:0.5em;
  }	

  nav p.open span::before{
    width:1.2em;
    transform:rotate(315deg);
	margin:auto;
    top:0;
    box-shadow:none;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    transition: 0.5s;
    left:0.5em;
    bottom:0;
  }	
	
  nav p.open span::after{
    width:1.2em;
    transform:rotate(-315deg);
	margin:auto;
    top:0;
    box-shadow:none;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    transition: 0.5s;
    left:0.5em;
    bottom:0;
  }
	
  nav ul {
    display:none;
    background:#e7f8ff;
	width:100%;
	position:absolute;
	left:0;
	top:0;
	border-top:solid 1px #c5ebfb;
  }
	
  nav ul li {
    width:100%;
    height:auto;
    border-bottom:solid 2px #c5ebfb;
	text-align:center;
  }
  
  nav ul li a {
    box-sizing:border-box;
    display:block;
    width:100%;
    height:100%;
    padding:0.6em;
    color:#0188c6;
    text-decoration:none;
  }
  
  /* :::::::::: 【SP】キービジュアル :::::::::: */
  
  .keyvisual {
	width:100%;
  }
  
  .keyvisual p.keytext {
    position:absolute;
  }
  
  .keyvisual p.keytext {
	position:absolute;  
	z-index:100;
	font-size:0.9em;
	font-weight:bold;
	color:#FFF;
	text-align:left;
    text-shadow: 0px 2px 1px #0188c6,2px 2px 1px #0188c6, 2px 0px 1px #0188c6, 2px -2px 1px #0188c6,0px -2px 1px #0188c6,-2px -2px 1px #0188c6, -2px 0px 1px #0188c6, -2px 2px 1px #0188c6;    
    width:100%;
	top:0.5em;
	left:0.5em;
	line-height:1.5em;
  }
  
  .keyvisual p.keytext span.opening {
	display:block;
	color:#0188c6;
	text-align:left;
    text-shadow: 0px 2px 1px #FFF,2px 2px 1px #FFF, 2px 0px 1px #FFF, 2px -2px 1px #FFF,0px -2px 1px #FFF,-2px -2px 1px #FFF, -2px 0px 1px #FFF, -2px 2px 1px #FFF;
    margin:0 0 3.5em;	  
  }
  
  .keyvisual p.keytext span.opening span {font-size:1.4em;}  
  
  #slider {
    position: relative;
    height:auto;
	margin:0 auto 5%;
	overflow:hidden;  
  }
	
  #wrapper {
    width: 100%;
    overflow: hidden;
  }
	
  #carousel li {
    border: none;
    display: block;
    float: left;
    left:0;
    position:relative;
  }
	
  #carousel li img {
    width: 100%;
    height: auto;
  } 
  
  .keyvisual_sub .p_title {
	position:relative;
	width:100%;
	height:auto; 
	margin:0 0 5%;
	overflow: hidden;
	background:#0188c6;
	padding:0 0 26%;
	clear:both;
  }  
  
  .keyvisual_sub .p_title p {
	position:absolute;
	display:block;
	width:100%;
	margin:auto;
	left:0;
	right:0;
	top:1.5em;
	text-align:center;
	color:#FFF;
	font-size:1.3em;
	line-height:1.1em;
	font-weight:bold;
  }  
  
}

/* -----------------------------------------------------------
　メインコンテンツ
----------------------------------------------------------- */

@media screen and (min-width: 769px){
  
  /* :::::::::: 【PC】メインコンテンツ・共通要素 :::::::::: */  
  
  .main {
    display:block;
    width:980px;
    height:auto;
    overflow:hidden;
    margin:0 auto 40px;
  }

  #index .main {
    width: 100%;
	min-width:1050px;
  }
  
  .main section {
    height:auto;
    overflow:hidden;
    margin: 0 auto 60px;
    text-align:left;
    word-wrap: break-word;
  }
  
  .main section section.h3_box {
    margin: 0px auto 40px;
  }
  
  .main section section.h3_box section.h4_box {
    margin: 0px auto 30px;
  }  
  
  .main section section.h3_box section.h4_box section.h5_box {
    margin: 0px auto 20px;
  }
  
  .main section .box {padding:0 20px;margin:0 0 40px;}
  .main section section.h3_box .box {padding:0 20px;margin:0 0 40px;}
  .main section section.h3_box section.h4_box .box {padding:0 30px;margin:0 0 40px;}
    
  .main section h2 {
	box-sizing:border-box;
	position:relative;
	width:100%;
	height:auto;
	line-height:1.1em;
	padding:0.1em 0.5em 0.5em;
	border-bottom:dotted 3px #cccccc;
    margin:0 0 30px;
	color:#004ea2;
	font-size:26px;
  }
  
  .main section h2::before {
	position:absolute;
    display:block;
	content:"";
	width:2px;
	height:36px;
	background:#004ea2;
	border-radius:1px;
	top:0;
	left:0;
  }
  
  .main section section.h3_box h3 {
	position:relative;
	box-sizing:border-box;
	width:100%;
	height:auto;
	font-size:24px;
	line-height:1.1em;
	padding:0.5em;
	background:#FFF;
	border-radius:10px;
	border:solid 2px #004ea2;
	color:#004ea2;
	font-weight:normal;
    margin:50px 0 20px;
	z-index:auto;
  }
  
  .main section section.h3_box h3::after {
	position:absolute;
	display:block;
	content:"";
	width:79px;
	height:56px;
	background:url(../images/template/h3_bg.png) no-repeat;
    z-index:-5;
	margin:auto;
	left:0;
	right:0;
	top:-40px;
  }
  
  .main section section.h3_box section.h4_box h4 {
    padding:0 0 0 30px;
	position:relative;
	color:#f6a031;
	font-size:22px;
	line-height:1.1em;
	font-weight:normal;
	margin:0 auto 10px;
  }
  
  .main section section.h3_box section.h4_box h4::before {
	position:absolute;
	display:block;
	content:"";
	width:0.9em;  
	height:0.9em;
	border-radius:50%;
	background:#f6a031; 
	top:0.1em;
	left:0;
  }
  
  .main section section.h3_box section.h4_box h4::after {
	position:absolute;
	display:block;
	content:"";
	width:0;  
	height:0;
	border-left:solid 0.4em #FFF;
	border-top:solid 0.25em transparent;
	border-bottom:solid 0.25em transparent;
	top:0.3em;
	left:0.3em;
  }  

  .main section section.h3_box section.h4_box section.h5_box h5 {
	display:inline-block;
	width:auto;
	height:auto;
    font-size:20px;
	line-height:1.1em;
    color:#FFF;
	background:#004ea2;
	border-radius:0.6em;
	float:left;
	clear:both;
	padding:0.4em 0.7em;
	margin:0 0 15px;
  }
  
  .main section section.h3_box section.h4_box section.h5_box h5 + * {clear:both;}
    
  .main section:last-child ,
  .main section section.h3_box:last-child,
  .main section section.h3_box section.h4_box:last-child,
  .main section section.h3_box section.h4_box section.h5_box:last-child {  
    margin-bottom:0;
  }
    
  .main section p {
    margin:0 0 1.7em;
    font-size:1em;
    line-height:1.4em;
  }
  
  .main section ol {
    margin:0 0 1.7em 1.7em;
  }
  
  .main section ol li {
    list-style-type:decimal;
    font-size:1em;
    line-height:1.7em;
  }
  
  .main ul {
    margin:0 0 1.7em 1.7em;
  }
  
  .main ul li {
    list-style-type:disc;
    font-size:1em;
    line-height:1.7em;
  }
  
  .main dl {
    overflow:hidden;
    margin:0 0 1.7em;
  }
  
  .main dl dt{
    font-size:1em;
    line-height:1.7em;
  }
  
  .main dl dd{
    font-size:1em;
    line-height:1.7em;
  }
  
  .main .section_head {
    margin-bottom:2em;
  }
  
  .main section p:last-child,  
  .main section ul:last-child,  
  .main section ol:last-child,  
  .main section dl:last-child{ 
    margin-bottom:0;
  }  
    
}

@media screen and (max-width: 768px){

  /* :::::::::: 【SP】メインコンテンツ・共通要素 :::::::::: */
    
  .main {
    display:block;
    width: 96%;
    height:auto;
	margin:0 auto 8%;
    overflow:hidden;
  }
  
  #index .main {
    width: 100%;
  }  

  .main section {
    margin: 0 0 8%;
    text-align:left;
    word-wrap: break-word;
    height:auto;
    overflow:hidden;
  }
  
  .main section section.h3_box {
    margin: 0 0 6%;
  }
  
  .main section section.h3_box section.h4_box {
    margin: 0 0 5%;
  }
  
  .main section section.h3_box section.h4_box section.h5_box {
    margin: 0 0 4%;
  }  
  
  .main section .box {padding:0;margin:0 0 2em;}
  .main section section.h3_box .box {padding:0 ;margin:0 0 2em;}
  .main section section.h3_box section.h4_box .box {padding:0 1.4em;margin:0 0 2em;}  
  
  .main section h2 {
	box-sizing:border-box;
	position:relative;
	width:100%;
	height:auto;
	line-height:1.1em;
	padding:0.1em 0.3em 0.4em;
	border-bottom:dotted 3px #cccccc;
    margin:0 0 4%;
	color:#004ea2;
	font-size:1.2em;
  }
  
  .main section h2::before {
	position:absolute;
    display:block;
	content:"";
	width:0.1em;
	height:1.4em;
	background:#004ea2;
	border-radius:1px;
	top:0;
	left:0;
  }
  
  .main section section.h3_box h3 {
	position:relative;
	box-sizing:border-box;
	width:100%;
	height:auto;
	font-size:1.1em;
	line-height:1.1em;
	padding:0.3em 0.5em;
	background:#FFF;
	border-radius:10px;
	border:solid 2px #004ea2;
	color:#004ea2;
	font-weight:normal;
    margin:1.4em 0 4%;
	z-index:auto;
  }
  
  .main section section.h3_box h3::after {
	position:absolute;
	display:block;
	content:"";
	width:30%;
	height:1.8em;
	background:url(../images/template/h3_bg.png) no-repeat top center;
	background-size:auto 100%;
    z-index:-5;
	margin:auto;
	left:0;
	right:0;
	top:-1.4em;
  }
  
  .main section section.h3_box section.h4_box h4 {
    padding:0 0 0 1.4em;
	position:relative;
	color:#f6a031;
	font-size:1.1em;
	line-height:1.1em;
	font-weight:normal;
	margin:0 auto 3%;
  }
  
  .main section section.h3_box section.h4_box h4::before {
	position:absolute;
	display:block;
	content:"";
	width:1em;  
	height:1em;
	border-radius:50%;
	background:#f6a031; 
	top:0.1em;
	left:0;
  }
  
  .main section section.h3_box section.h4_box h4::after {
	position:absolute;
	display:block;
	content:"";
	width:0;  
	height:0;
	border-left:solid 0.4em #FFF;
	border-top:solid 0.25em transparent;
	border-bottom:solid 0.25em transparent;
	top:0.4em;
	left:0.4em;
  }  

  .main section section.h3_box section.h4_box section.h5_box h5 {
	box-sizing:border-box;
	width:100%;
	height:auto;
    font-size:1.1em;
	line-height:1.1em;
    color:#FFF;
	background:#004ea2;
	border-radius:0.6em;
	float:left;
	clear:both;
	padding:0.4em 0.7em;
	margin:0 0 3%;
  }
    
  .main section:last-child,
  .main section section.h3_box:last-child,
  .main section section.h3_box section.h4_box:last-child ,
  .main section section.h3_box section.h4_box section.h5_box:last-child {  
    margin-bottom:0;
  }
  
  .main section p {
    margin:0 0 3%;
    font-size:1em;
    line-height:1.3em;
  }
  
  .main section ol {
    margin:0 0 3% 1.7em;
  }
  
  .main section ol li {
    list-style-type:decimal;
    font-size:1em;
    line-height:1.7em;
  }
  
  .main ul {
    margin:0 0 3% 1.7em;
  }
  
  .main ul li {
    list-style-type:disc;
    font-size:1em;
    line-height:1.7em;
  }
  
  .main dl {
    overflow:hidden;
    margin:0 0 3%;
  }
  
  .main dl dt{
    font-size:1em;
    line-height:1.7em;
  }
  
  .main dl dd{
    font-size:1em;
    line-height:1.7em;
  }
  
  .main .section_head {
    margin-bottom:5%;
  }  
  
  .main section p:last-child,  
  .main section ul:last-child,  
  .main section ol:last-child,  
  .main section dl:last-child{ 
    margin-bottom:0;
  }    
}

/* -----------------------------------------------------------
　フッタ
----------------------------------------------------------- */

@media screen and (min-width: 769px){
  
  /* :::::::::: 【PC】フッタ :::::::::: */  
  
  footer {
    width: 100%;
    min-width:1050px;
    clear: both;
    height: 110px;
    overflow:hidden;
    text-align:left;
    background:#e7f8ff;
	padding:20px 0 0;
  }
  
  footer .footer_box {
    width:980px;
    height:110px;
    overflow:hidden;
    margin:0 auto;
  }
  
  
  footer .footer_box ul.f_nav{
    width:500px;
    height: auto;
    margin: 0 0 5px;
    overflow:hidden;
  }
  
  footer .footer_box ul.f_nav li{
    float: left;
    font-size:13px;
    height:1.1em;
    line-height:1em;
    margin:0 0.5em 0 0;
    padding:0 0.5em 0 0 ;
	border-right:solid 1px #0188c6;
  }
  
  footer .footer_box ul.f_nav li:last-child{
    border:none;
    padding:0 0.5em;
  }
  
  footer .footer_box ul.f_nav li a{
    text-decoration:none;
    color:#0188c6;
  }
  
  footer .footer_box ul.f_nav li a:hover {
    text-decoration:underline;
  }
  
  footer .copyright{
	clear:both;
    width:100%;
    height: 25px;
    text-align: left;
    font-size: 12px;
    line-height:25px;
    color:#0188c6;
    margin:40px 0 0;
  }
  
  footer .copyright a {
    color:#0188c6;
    text-decoration:none;
  }
  
  .Pagetop{
    width:63px;  
    height:86px;  
    position: fixed;
    bottom: 120px;
    right:20px;
  }
}
  
@media screen and (max-width: 768px){
  
  /* :::::::::: 【SP】フッタ :::::::::: */  
    
  footer {
    width: 100%;
    clear: both;
    height: auto;
	background:#e7f8ff;
  }
  
  footer .footer_box .f_nav {
    display:none;
  }
  
  footer .copyright{
    width:auto;
    height: auto;
    text-align: left;
    font-size: 0.7em;
    line-height:1.1em;
    color:#0188c6;
    margin:0;
    padding:1.5em 0.5em 1em;
    clear:both;
  }
  
  footer .copyright a {
    color:#0188c6;
    text-decoration:none;
  }
  
  .Pagetop{
    position: fixed;
    width:10%;
    bottom: 100px;
    right:10px;
    z-index:999;
  }
}


.reservation{
  background: rgba(35, 40, 30, 0.7);
  position: fixed;
  bottom: 0;
  width: 90%;
  display: flex;
  gap: 0.75rem;
  padding: 1em 1.2em 0.9em;
  z-index: 999;
}

.btn{
  display: flex;
  justify-content:center;
  text-align: center;
  align-items: center;
  text-decoration: none;
  max-width: 300px;
  font-size: 80%;
  font-weight: 700;
}

.reservation .btn_01{
  background-color:#004ea2;
}


.reservation .btn_02{
  background-color:#0188c6;
}

.btn.btn_01,.btn.btn_02{
  color:#fff;
  width: 100%;
  padding:0.75rem 0.5rem;
  text-decoration: none;
  display: inline-block;
  line-height: 1.2;
}

.btn svg{
  display: inline-block;
  padding-right: .5em;
}

.btn a:hover {
  text-decoration: none;
}


@media screen and (min-width: 769px){
  .reservation{
    gap: 1rem;
    width:100%;
    justify-content: center;
    padding-left: 0;
  }

  .btn{
    font-size: 100%;
  }

  .btn.btn_01{
    pointer-events: none;
  }

}