﻿/* color */
body,.txt_color_nomal{color: #4d4d4d;}
.txt_white{color: white;}
.txt_red{color: red;}
.txt_color1{color: #274a78} /* メインカラー */
.txt_color2{color: #8D9E97} /* サブカラー */
.txt_color3{color: #e9bc00} /* アクセントカラー1 */
.txt_color4{color: #E8E0BA} /* アクセントカラー2 */

/* background-color */
.bg_white{background-color: white} /* 白背景 */
.bg_black{background-color: black} /* 黒背景 */
.bg_color1{background-color: #274a78} /* メインカラー */
.bg_color2{background-color: #8D9E97} /* サブカラー */
.bg_color3{background-color: #e9bc00} /* アクセントカラー1 */
.bg_color4{background-color: #E8E0BA} /* アクセントカラー2 */
.bg_color_clear{background-color: transparent!important}

/* border-color ※!important */
.border_color1{border-color: #274a78}
.border_color2{border-color: #8D9E97}
.border_color3{border-color: #e9bc00}
.border_color4{border-color: #E8E0BA}

/* hover ---------------------------------------------------------------------------------------------*/
/* color */
.hvr_txt_color_nomal:hover{color: #4d4d4d;}
.hvr_txt_white:hover{color: white;}
.hvr_txt_red:hover{color: red;}
.hvr_txt_color1:hover{color: #274a78} /* メインカラー */
.hvr_txt_color2:hover{color: #8D9E97} /* サブカラー */
.hvr_txt_color3:hover{color: #e9bc00} /* アクセントカラー1 */
.hvr_txt_color4:hover{color: #E8E0BA} /* アクセントカラー2 */

/* background-color */
.hvr_bg_white:hover{background-color: white} /* 白背景 */
.hvr_bg_black:hover{background-color: black} /* 黒背景 */
.hvr_bg_color1:hover{background-color: #274a78} /* メインカラー */
.hvr_bg_color2:hover{background-color: #8D9E97} /* サブカラー */
.hvr_bg_color3:hover{background-color: #e9bc00} /* アクセントカラー1 */
.hvr_bg_color4:hover{background-color: #E8E0BA} /* アクセントカラー2 */
.hvr_bg_color_clear:hover{background-color: transparent!important}

/* border-color ※!important */
.hvr_border_color1:hover{border-color: #274a78}
.hvr_border_color2:hover{border-color: #8D9E97}
.hvr_border_color3:hover{border-color: #e9bc00}
.hvr_border_color4:hover{border-color: #E8E0BA}

body {
	font-size:18px;
}
header {
	background: rgba(255,255,255,0.7);
}
#logo {
	padding-top: 20px;
}
#logo .logo {
	width:240px;
}
#logo img {
	width:100%!important;
}
.catch1 {
	bottom: 0;
	right:0;
	z-index: 2;
	width: 25%;
	max-width: 500px;
}
.catch2 {
	bottom: 0;
	left:0;
	z-index: 2;
	width:50%;
	max-width: 700px;
}
.svg_box, .svg_box2 {
	display: none!important;
}

.catch_pare span.bg_color3, .catch_pare span.bg_white{
    display: block;
    z-index: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform-origin: center right;
}
.ani2trans{
animation: bg2 0.2s cubic-bezier(0.455, 0.03,  0.515, 0.955) forwards;
}
@keyframes bg2 {
    0% {transform: scaleX(1.0);}
  100% {transform: scaleX(0);}
}
.catch_pare span.bg_color3{
    animation-delay: 0.2s;
}

#intro_txt::before {
	content: "";
	position: absolute;
	width: calc( 100% - 50px);
	height: calc( 100% - 50px);
	border:10px double #274a78;
	top:25px;
	left:25px;
	box-sizing: border-box;	
}
#contents {
	max-width: 100%!important;
}
#contents .box_wrap {
	padding-top: 0px;
}
#contents .box_wrap .box {
	padding: 50px;
	position: relative;
	background-color:#efefef;
}
#contents .box_wrap .box:nth-of-type(2) {
	background-color:#fefefe;
}
#contents .box_wrap .box .flex_top-right {
	justify-content: flex-start;
}
#contents .box_wrap .box .d_flex .no img {
	height: 70px;
	width:auto;
}
#logo2 {
	width:350px;
}
#page_title { background-position: center;
}
@media (max-width:768px){
#header_menu ul li:first-of-type {
	display: none;
}
#main_img {
	margin-top:162px;
}
#intro_txt::before {
	width: calc( 100% - 20px);
	height: calc( 100% - 20px);
	top:10px;
	left:10px;	
}
#contents .box_wrap .box .d_flex .no img {
	height: 36px;
}
	#top_cms {
		margin-top:70px;
	}
#info .info_txt p { padding-right:10px;
}
}
@media (max-width:667px){
header {
    padding-bottom: 0px;
}
#logo {
	padding-top: 12px;
}
#logo .logo {
	width:200px;
}
#main_img {
	margin-top:60px;
}
#intro_txt::before {
	width: calc( 100% - 0px);
	height: calc( 100% - 0px);
	top:0px;
	left:0px;	
}
#contents .box_wrap .box .flex_top-right {
	justify-content: center;
}	
#contents .box_wrap .box {
	padding: 50px 0;
}
#logo2 {
	width:300px;
}
#top_cms { padding:0 20px;
}
#info .info_txt p { padding-right:0px;
}
.cate_list { text-align:left;
}
}
@media all and (-ms-high-contrast:none){}
@supports (-ms-ime-align:auto) {}
