﻿
/* =============================================
　　loading
============================================= */
#loading{
	position: fixed;
	height: 100%;
	width: 100%;
	z-index: 999999;
	background-color:#cf2e36;
top:0;
}
#loading_line{
	position: absolute;
	top: 0;
	margin: auto;
	width: 100%;
	height: 100%;
}
#loading_line .line{
	position: absolute;
	top: 0;
	width: 0;
	height: 100%;
	z-index: 1;
	background-color: #3f3b3a;
}
#loading_line .line2{
	position: absolute;
	top: 0;
	width: 0;
	height: 100%;
	z-index: 2;
	background-color: #cf2e36;
}
#loading_logo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 60%;
	max-width: 350px;
	z-index: 3;
}


.bg_color1 {
    background-color: #3f3b3a;
}
.hvr_bg_color1:hover {
    background-color: #3f3b3a;
}
.bg_color2 {
    background-color: #fff;
}
.bg_color3 {
    background-color: #cf2e36;
}
.border_color1 {
    border-color: #3f3b3a;
}
.border_color3 {
    border-color: #cf2e36;
}
.border_color4 {
    border-color: #d3d3d3;
}
.txt_red {
    color: #cf2e36;
}
.txt_color1 {
    color: #3f3b3a;
}
.txt_color3 {
    color: #3f3b3a;
}
.hvr_txt_color3:hover {
    color: #cf2e36;
}


/* ----------　全体共通部分　---------- */
.linkStyle{
	color:#cf2e36;
}
.linkStyle:hover{
	color:#cf2e36;
	opacity: 0.7;
	transition: all 0.5s;
}
body,.font_serif {
    font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
}
.index header #header {
    box-shadow: none;
}
footer{
    background-color: #f2f2f2!important;
}
#footer h3,#footer p,#footer span,#footer a,.footer_cms p{
color: #333;
}
#page-top a {
    background-color: #cf2e36;
}


/* ----------　TOP　---------- */
.index #main_nav{
background-color: #cf2e36;
}
/* ----------　.fixed{
	position: fixed;
	top: 0;
	padding: 0;
	width: 100%;
	z-index: 1000;
	margin-top: 104px;
}
.main_img{
	overflow: hidden;
	margin-top: 100px;
background-color: #fefff8;
}
#video{
	text-align: center;
    background-color: #f2f2f2;
}
.video_wrap .video {
	height: auto;
	max-height: 85vh;
	vertical-align: bottom;
	background-color: #fefff8;
width: auto !important;
}　---------- */
.index #main_nav {
	box-shadow: 0 5px 10px rgba(0,0,0,0.2);
}
#intro h2{
display: inline-block;
    position: relative;
}
#intro h2:before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -30px;
    display: inline-block;
    width: 100px;
    height: 2px;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%);
    background-color: #cf2e36;
}
#contents{
    margin: 280px auto;
    position: relative;
    background-color: #f2f2f2;
}
#contents:before {
    content: "";
    display: block;
    position: absolute;
    top: -100px;
    z-index: 1;
    width: 100%;
    height: 115%;
    background:#f2f2f2;
    transform: skewY(-5deg);
    left: 0;
    right: 0;
    margin: auto;
}
#contents .width_1280-1000{
    z-index: 2;
    position: relative;
}
#contents .square_box,#contents .square_box figure{
border-radius: 0%;
}
#contents .square_box {
    border-color: #cf2e36;
}
#contents .contents_box1 .txt_box1{
background-image: url(Dup/img/t_content1.png);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 35%;
    padding: 0px 20px 20px 20px;
}
#contents .contents_box2 .txt_box2{
background-image: url(Dup/img/t_content2.png);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 35%;
    padding: 0px 20px 20px 20px;
}
#contents .contents_box3 .txt_box3{
background-image: url(Dup/img/t_content3.png);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 35%;
    padding: 0px 20px 20px 20px;
}
#contents h3{
    border-bottom: 1px solid #cf2e36;
    padding: 10px;
    margin-bottom: 40px;
    color: #cf2e36;
    font-weight: bold;
}
#contents p{
    color: #333;
}
#top_cms h2{
    font-size: 20px;
    font-weight: bold;
}
#top_cms .more {
    height: 40px;
    border-radius: 0%;
}
#top_cms .more a {
    height: 30px;
    border-radius: 0%;
}


/* ----------　下層ページ　---------- */
#page_title h2{
    font-weight: bold;
}
#page_title p{
    color: #cf2e36;
    opacity: 1;
}
.cate_list li {
-webkit-transform: skewX(150deg);
    -moz-transform: skewX(150deg);
    transform: skewX(150deg);
    border-color: #cf2e36;
}
.cate_list li a {
display: block;
    transform: skewX(-150deg);
}
.cate_title{
border-top: none;
    border-bottom: none;
    padding: 10px 5px;
    font-weight: bold;
    text-align: left;
    position: relative;
display: inline-block;
}
.cate_title::before, .cate_title::after {
    position: absolute;
    display: block;
    width: 90%;
    height: 2px;
    background-color: #cf2e36;
    content: '';
}
.cate_title::before {
    top: 0;
    right: 0;
}
.cate_title::after {
    bottom: 0;
    left: 0;
}
#cms_1-c .date{
color: #cf2e36;
}
#page8 h3{
color: #cf2e36;
}
#page10 ul li:hover span:last-of-type {
    opacity: 1;
    color: #cf2e36;
}

/* ----------　IE　---------- */
@media all and (-ms-high-contrast: none){
#cms_4-b .cate_title{
padding: 13px 5px 5px;
}
.fixed {
    margin-top: 110px;
}
}


/* ----------　タブレット　---------- */
@media screen and (max-width: 768px){
#loading_logo {
width: 45%;
}
main {
	background-position: bottom 20px center;
	background-size: 200px;
}
header #header {
    padding: 10px 20px;
}
.logo h1 {
    max-width: 250px;
}
#menu_bt .bar {
    height: 3px;
    background-color: #cf2e36;
}
#menu_bt .bar::before, #menu_bt .bar::after {
    height: 3px;
    background-color: #cf2e36;
}
.video_wrap {
	height: auto;
}
.video_wrap .video {
	position: static;
	top: 0%;
	left: 0%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(0%,0%);
	height: auto;
	width: 100%!important;
	vertical-align: bottom;
}
#intro h2 {
    margin-bottom: 80px;
}
#contents {
    margin: 200px auto;
}
.sns_lins{
    justify-content: inherit;
    padding: 10px 20px!important;
}
}


/* ----------　スマホ　---------- */
@media screen and (max-width: 667px){
.main_img {
    margin-top: 80px;
}
.logo h1 {
    max-width: 200px;
}
#intro h2 {
    margin-bottom: 60px;
    font-size: 20px;
    font-weight: bold;
    padding-top: 20px;
}
#intro h2:before {
    bottom: -20px;
}
#contents {
    margin: 150px auto;
}
#contents:before {
    height: 110%;
}
#contents .width_1280-1000{
padding: 0px 10px;
}
#top_cms .more {
    width: 110px;
}
#top_cms .more a {
    width: 100px;
}
}