﻿/* 全体 */
.txt_color1{color: #1757A7}
.txt_color3{color: #EFEFEF} /* アクセントカラー1 */

.bg_color1{background-color: #ABE9F4}  /*メインカラー */
.bg_color3{background-color: #ff9900}  /*アクセントカラー1 */
.bg_color4{
    background-image: linear-gradient(180deg, rgba(171,233,244,1) 0%, rgba(0,138,255,1) 85%, rgba(0,22,200,1) 100%);
} /* アクセントカラー2 */

.border_color1{border-color: #1D2D51}
.border_color3{border-color: #ABE9F4}
.border_color4{border-color: #1563A1}


.font_en{
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif" !important;
}

#main_img h2{
	font-weight: 1000;
	font-size: 30px;
	color: #EFEFEF !important;
}
h2{
    font-weight: 1000;
    color: #1D2D51 !important;
}
p{
	font-weight: 700;
}
a{
	color: #1563A1;
	font-weight: 700;
}



/* ヘッダー */
.head_box{
	overflow-y: scroll;
    -ms-overflow-style: none;    /* IE, Edge 対応 */
    scrollbar-width: none;       /* Firefox 対応 */
}
.head_box::-webkit-scrollbar {  /* Chrome, Safari 対応 */
	display:none;
}

#main_menu{
	margin-top: 80px;
	margin-bottom: 60px;
}
#main_menu ul li a{
	font-weight: 700;
	color: #1D2D51 !important;
}
#main_menu ul li a::before{
	background-color: #1D2D51 !important;
}




/* ヘッダー　ボタン */
.contact_bt a{
	border-radius: 30px;
	border-color: #EFEFEF;
}
.contact_bt a:hover{
    box-shadow: inset 0 0 0 15em rgba(239,239,239,1.00);
    -webkit-box-shadow: inset 0 0 0 15em rgba(239,239,239,1.00);
	color: #1D2D51;
}
.tel_bt a{
	border-radius: 30px;
	border-color: #EFEFEF;
}
.tel_bt a:hover{
    box-shadow: inset 0 0 0 15em rgba(239,239,239,1.00);
    -webkit-box-shadow: inset 0 0 0 15em rgba(239,239,239,1.00);
    color: #1D2D51;
}

.button2:hover {
    -webkit-box-shadow: inset 0px 0px;
    box-shadow: inset 0px 0px;
}



/* メイン */

.txt1{
  text-shadow:2px 2px 2px #1563A1,2px 2px 2px #1563A1,-2px -2px 2px #1563A1,-1px -1px 1px #1563A1;
}

#contents1{
	background-color: #ABE9F4;
	text-align: center;
	max-width: none;
}
#contents1 h2{
	font-size: 25px;
	margin-bottom: 20px;
}
#contents1 p{
	padding: 30px;
	background-color: #FFF;
	border-radius: 5px;
	margin: 0 20px;
}

#contents_box h2{
	color: #1563A1 !important;
}

#contents2{
	max-width: none;
}

#curveUpColor path{
	fill: #ABE9F4;
    stroke: #ABE9F4;
}
#curveDownColor path{
	fill: #ABE9F4;
    stroke: #ABE9F4;
}
#contents3{
	max-width: none;
	position: relative;
}
#contents3::after {
    position: absolute;
    content: "";
    width: calc(100% + 100px);
    top: 150px;
    left: -100px;
    bottom: 0;
    z-index: -5;
    background-color: #ABE9F4;
}
#contents3 h3{
    color: #1757A7 !important;
	font-weight: 600;
    background-color: #fff;
	border-radius: 5px 5px 0 0;
    padding: 20px 30px 10px;
    text-align: center;
	width: 80%;
	margin: auto;
	margin-top: -40px;
	position: relative;
}
#contents3 p{
	background-color: #fff;
	border-radius: 0 0 5px 5px;
	padding: 5px 30px 20px;
	margin: auto;
	margin-top: -1px;
	width: 80%;
}

.top_cms_box h4{
	color: #1563A1 !important;
}

.more a{
	border-radius: 30px;
	color: #1D2D51;
}
.more a:hover{
	box-shadow: inset 0 0 0 15em rgba(29,45,81,1.00);
}

.cms_title{
    padding-left: 0 !important;
    text-align: center;
}
.cms_title p{
	color: #1563A1;
}
.cms_title::before{
	margin: 10px 0;
	left: 50% !important;
	top: 100% !important;/*線の上下位置*/
	display: inline-block !important;
	width: 500px !important;/*線の長さ*/
	height: 2px !important;/*線の太さ*/
	-webkit-transform: translateX(-50%) !important;
	transform: translateX(-50%) !important;/*位置調整*/
	background-color: #ff9900 !important;/*線の色*/
	border-radius: 2px !important;/*線の丸み*/
}

.swiper-button-prev i{
	color: #1D2D51;
}
.swiper-button-next i{
	color: #1D2D51;
}

.cms_6-b .cate_box .box_txt1{
	background-color: #1D2D51 !important;
}



/* フッター */
footer{
	clear: both;
}

.footer_cms{
	color: #1D2D51;
	font-size: 16px;
}
.foot_tel_bt a{
	border-radius: 30px;
	color: #1D2D51 !important;
}
.foot_tel_bt a:hover{
    box-shadow: inset 0 0 0 15em rgba(29,45,81,1.00);
    color: #EFEFEF !important;
    -webkit-box-shadow: inset 0 0 0 15em rgba(29,45,81,1.00);
}

#page-top i{
	color: #1563A1;
}
#page-top span{
	color: #1563A1;
}

#copyright a{
	font-weight: 300 !important;
}




/* CMS1 */
#page_title p{
	color: #1563A1;
}

#page_title .page_box::before{
	background-color: #1D2D51;
}

/* CMS2 */
.cate_list li a{
	color: #1D2D51;
	border-radius: 10px;
}
.cate_list li a:hover{
	background-color: #1D2D51;
	color: #EFEFEF;
}

#cms_6-b .cate_title{
	font-weight: 800;
	text-align: left;
	padding: 10px;
	border-radius: 0;
	color: #1563A1;
	border-left: 10px solid #1563A1;
	background-color: #ABE9F4 !important;
}

#cms_6-b .cate{
	border-color: #E4E2D5 !important;
}
#cms_6-b .cate_box .box_txt1{
	background-color: #1D2D51 !important;
}

/* CMS3 */
#cms_6-a h3{
	border-left: 10px solid #1563A1;
	color: #1563A1;
	font-weight: 800;
}
#cms_6-a .box_txt1{
	font-size: 20px;
}

/* CMS4 */
#cms_4-a h3{
	color: #1563A1;
	font-weight: 800;
}
#cms_4-a h4{
	color: #212121;
}

/* page7 */
#page7 h3{
	color: #1D2D51;
}


/* page8 */
.border_color2{
	border-color: #1563A1;
}
#page8 h3{
	color: #1563A1;
}

.banner a{
    background-color: #1563A1;
    color: #fff;
}


/* page10 */
#page10 ul li a{
	color: #1D2D51;
}
#page10 ul li a:hover{
	background-color: #1D2D51;
	color: #EFEFEF;
}

#cms_1-a a.linkStyle:hover{opacity: 0.7;}

.pager li a{
	color: #1563A1;
}
.pager li a:hover{
	opacity: 0.3;
}




/* バナー */
.btn{
	float: right;
}

.btn,
a.btn,
button.btn {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1.5rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #1D2D51;
  border-radius: 0.5rem;
}

a.btn-border-shadow--radius {
  border-radius: 100vh;
}
a.btn-border-shadow {
  padding: calc(1.5rem - 12px) 3rem 1.5rem;

  background: #ABE9F4;
}

a.btn-border-shadow:before {
  position: absolute;
  top: -10px;
  left: -10px;

  width: 100%;
  height: 100%;

  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;

  border: 3px solid #1D2D51;
  border-radius: 0.5rem;
}

a.btn-border-shadow--radius:before {
  border-radius: 100vh;
}

a.btn-border-shadow:hover {
  padding: calc(1.5rem - 6px) 3rem;
}

a.btn-border-shadow:hover:before {
  top: -2.5px;
  left: -2.5px;
}




/* IE */
@media all and (-ms-high-contrast: none){
.contact_bt a{padding-bottom: 15px !important;}

#contact_tel a{padding-bottom: 25px;}

#page10 ul li a{padding-bottom: 20px;}
}


/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
	.bg_color4{
    background-image: linear-gradient(180deg, rgba(171,233,244,1) 0%, rgba(0,138,255,1) 120%);
	} /* アクセントカラー2 */

	.head_box{
	padding: 5px 0 !important;
	}

	.head_box .logo{
	max-width: none !important;
	}

	.cms_title::before{
	width: 50% !important;
	}

	.fat-nav__wrapper ul li a{
	color: #1563A1;
	border-color: #1563A1;
	}

	.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after{
	background-color: #1D2D51 !important;
	}
	.hamburger.active .hamburger__icon {
	    background-color: transparent !important;
	}

	#main_img{
    max-height: 100% !important;
	} 

	#main_img h2{
    max-height: 100% !important;
	} 

	.pc_box{
    text-align: center;
	}

	#contents1 h2{
	font-size: 20px;
	}

	.cate_list li a{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	}
}


/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
	.cms_title::before{
	width: 50% !important;
	}

	.head_box .logo{
	max-width: 200px !important;
	}

	#top_cms .more a{
	width: 100% !important;
	}

	.hamburger{
    top: 11px;
	}  

	.pc_box{
    text-align: center;
	}  

	#main_img h2{
    font-size: 20px;
	} 

	#contents1 h2{
	font-size: 18px;
	} 

	.btn{
	float: none;
    position: absolute;
        top: 50px;
        left: 50%;
        margin-right: -50%;
        transform: translate(-50%, -50%);
	width: 70%;
	}

	.btn, a.btn, button.btn{
	font-size: 100%;
	}

	#cms_6-a .box_txt1 {
	    font-size: 17px;
	}

	#page_title .page_box {
	    padding-left: 35px;
	    margin-left: 10px;
	}

	#page_title .page_box::before {
	    width: 25px !important;
	}

	#page_title .page_box h2 {
	    font-size: 17px;
	}

	#contact_tel a {
	    letter-spacing:1px;
	}
}