/*common_css*/
/* Box sizingの定義 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* デフォルトのpaddingを削除 */
ul,
li,
ul[class],
ol[class] {
  padding: 0;
}

/* デフォルトのmarginを削除 */
body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
ul,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/* bodyのデフォルトを定義 */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* class属性を持つul、ol要素のリストスタイルを削除 */
ul[class],
ol[class] {
  list-style: none;
}

/* classを持たない要素はデフォルトのスタイルを取得 */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* img要素の扱いを簡単にする */
img {
  max-width: 100%;
  display: block;
}

/* article要素内の要素に自然な流れとリズムを定義 */
article > * + * {
  margin-top: 1em;
}

/* inputやbuttonなどのフォントは継承を定義 */
input,
button,
textarea,
select {
  font: inherit;
}

/***幅指定***/
[data-w-width] {
    max-width: 100%;
}

/*コンテンツ幅での設置*/
[data-w-width="1"] {
    width: 1170px;
    width:1170px;
    margin: 0 auto;
}
@media (max-width: 1169px) {
    [data-w-width="1"] {
        width: calc(100% - 5%);
    } 
}
@media (max-width: 768px) {
    [data-w-width="1"] {
        width: calc(100% - 12%);
    } 
}
/*リソース設定無い場合とリソース設定がある場合。*/
/*margin設定はデザインによって変更OK*/

/*ウィンドウ幅での設置*/
[data-w-width="0"] {
    width: 100%;
}

/***基本設定***/
html {
    font-size: 62.5%;
}
/*パーツ内ではremで余白やフォントサイズの指定を行うため、この数値*/

body {
    background: #ffffff;
    background:#f5f5f5;
    color: #313131;
    color:#333333;
    line-height: 1.6;
    font-size: 1.6rem;
    font-feature-settings: "palt";
    -webkit-text-size-adjust: 100%;
}
@media (max-width: 768px) {
    body {
        font-size:3vw;
    }
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}



/***色指定***/
.-w-txt.-w-background {
    color: #fff;
    color:#f5f5f5;
}
.-w-txt.-w-background-r {
    color: #000;
    color:#333333;
}
.-w-txt.-w-main {
    color: #001754;
    color:#dc4d27;
}
.-w-txt.-w-main-r {
    color: #fff;
    color:#ffffff;
}
.-w-txt.-w-accent {
    color: #4f0506;
    color:#0074D7;
}
.-w-txt.-w-accent-r {
    color: #fff;
    color:#ffffff;
}
/*背景色＋テキスト色*/
.-w-bg.-w-background {
    background: #fff;
    background:#f5f5f5;
    color: #000;
    color:#333333;
}
.-w-bg.-w-main {
    background: #001754;
    background:#dc4d27;
    color: #fff;
    color:#ffffff;
}
.-w-bg.-w-accent {
    background: #4f0506;
    background:#0074D7;
    color: #fff;
    color:#ffffff;
}
/*反転ver*/
.-w-bg.-w-background-r {
    background: #000;
    background:#333333;
    color: #fff;
    color:#f5f5f5;
}
.-w-bg.-w-main-r {
    background: #fff;
    background:#ffffff;
    color: #001754;
    color:#dc4d27;
}
.-w-bg.-w-accent-r {
    background: #fff;
    background:#ffffff;
    color: #4f0506;
    color:#0074D7;
}
/*hover時背景色指定*/
a.-w-bg.-w-background:hover {
    background: #000;
    background:#333333;
    color: #fff;
    color:#f5f5f5;
}
a.-w-bg.-w-main:hover {
    background: #fff;
    background:#ffffff;
    color: #001754;
    color:#f5f5f5;
}
a.-w-bg.-w-accent:hover {
    background: #fff;
    background:#ffffff;
    color: #4f0506;
    color:#0074D7;
}
a.-w-bg.-w-background-r:hover {
    background: #fff;
    background:#f5f5f5;
    color: #000;
    color:#333333;
}
a.-w-bg.-w-main-r:hover {
    background: #001754;
    background:#dc4d27;
    color: #fff;
    color:#ffffff;
}
a.-w-bg.-w-accent-r:hover {
    background: #4f0506;
    background:#0074D7;
    color: #fff;
    color:#ffffff;
}

/***ボーダー色指定***/
.-w-bd.-w-background {
    border-color: #fff;
    border-color:#f5f5f5;
}
.-w-bd.-w-main {
    border-color: #001754;
    border-color:#dc4d27;
}
.-w-bd.-w-accent {
    border-color: #4f0506;
    border-color:#0074D7;
}
.-w-bd.-w-background-r {
    border-color: #000;
    border-color:#333333;
}
.-w-bd.-w-main-r {
    border-color: #fff;
    border-color:#ffffff;
}
.-w-bd.-w-accent-r {
    border-color: #fff;
    border-color:#ffffff;
}
/*hover時ボーダー色指定*/
a.-w-bd.-w-bg.-w-background-r:hover,
a.-w-bd.-w-background:hover {
    border-color: #000;
    border-color:#333333;
}
a.-w-bd.-w-bg.-w-main-r:hover,
a.-w-bd.-w-main:hover {
    border-color: #fff;
    border-color:#ffffff;
}
a.-w-bd.-w-bg.-w-accent-r:hover,
a.-w-bd.-w-accent:hover {
    border-color: #fff;
    border-color:#ffffff;
}
a.-w-bd.-w-bg.-w-background:hover,
a.-w-bd.-w-background-r:hover {
    border-color: #000;
    border-color:#f5f5f5;
}
a.-w-bd.-w-bg.-w-main:hover,
a.-w-bd.-w-main-r:hover {
    border-color: #001754;
    border-color:#dc4d27;
}
a.-w-bd.-w-bg.-w-accent:hover,
a.-w-bd.-w-accent-r:hover {
    border-color: #4f0506;
    border-color:#0074D7;
}


/*見出し設定*/
.-w-ttl_wrap {
    text-align: center;
}
.-w-section_inner h3.-w-general{
    text-align: center;
}
span.-w-general,
.-w-ttl-en.-w-font_en {
    font-size: 4.8rem;
    margin-bottom:1.0rem;
    display: block;
    line-height: 1.0;
    color:#313131;
    color:rgba(51,51,51,1);
}
h2.-w-general{
    font-size: 2.1rem;
    margin-bottom: 3.0rem;
    letter-spacing: -2px;
    color:#313131;
    color:rgba(51,51,51,1);
}
h3.-w-general{
    font-size: 2.1rem;
    margin-bottom: 3.0rem;
    letter-spacing: -2px;
    color:#EA7C5D;
    color:rgba(220,77,39,1);
}
h4.-w-general {
    font-size: 2.0rem;
    color:#313131;
    color:rgba(51,51,51,1);
    margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
    .-w-section_inner h3.-w-general{
        text-align: left;
    }
    span.-w-general,
    .-w-ttl-en.-w-font_en {
        font-size: 7.0vw;
        text-align: left;
        margin-bottom:1.0rem;
    }
    h2.-w-general {
        margin-bottom: 1.5rem;
        font-size: 6.0vw;
        text-align: left;
    }
    h3.-w-general{
        font-size: 5.3vw;
        text-align: left;
        margin-bottom: 1.5rem;
    }
    h4.-w-general {
        font-size: 3.1vw;
        text-align: left;
        margin-bottom: 1.5rem;
    }
}
/*フェード*/
@media (min-width: 1024px) {
    .-w-anime-fade {
    	opacity: 0;
    	transition: all .5s ease-in-out;
    	transform: translateY(50px);
    }
    .-w-anime-fade.active {
    	opacity: 1;
    	transform: translateY(0px);
    }
    
    .-w-anime-fade:nth-child(2){
        transition-delay:0.2s;
    }
    .-w-anime-fade:nth-child(3){
        transition-delay:0.4s;
    }
    .-w-anime-fade:nth-child(4){
        transition-delay:0.6s;
    }
    .-w-anime-fade:nth-child(5){
        transition-delay:0.8s;
    }
    .-w-anime-fade:nth-child(6){
        transition-delay:1s;
    }
    .-w-anime-fade:nth-child(n+7){
        transition-delay:1.2s;
    }
}

/*ボタン*/
.-w-more_btn{
    margin-top:3.0rem;
    text-align: center;
}    
.-w-more_btn a{
    display: inline-block;
	position: relative;
	text-decoration: none;
	border: 2px solid;
	-webkit-transition: all .3s;
	transition: all .3s;
	padding: 20px 5px;
    line-height: 1;
	text-align: center;
	min-width: 225px;
	background-color:#ffffff;
	color:#0074D7;
	border-color:#0074D7;
}
.-w-more_btn a.current,
.-w-more_btn a:hover{
	background-color:#0074D7;
	color:#ffffff;
	border-color:#0074D7;
}
.-w-more_btn a:before,
.-w-contact_btn a:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color:#0074D7;
    opacity: 0;
    -webkit-transition: all .5s cubic-bezier(.19,1,.22,1);
    transition: all .5s cubic-bezier(.19,1,.22,1);
    -webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
    transition-timing-function: cubic-bezier(.19,1,.22,1);
    -webkit-transform: scale(.8);
    transform: scale(.8);
}
.-w-more_btn a:after,
.-w-contact_btn a:after {
    content: '';
    position: absolute;
    right: 15px;
    top: 50%;
    width:24px;
    height:10px;
    margin-top: -5px;
    background:url(/images/btn_arrow.png) no-repeat;
    font-size: 18px;
    line-height: 1;
    -webkit-transition: all .4s cubic-bezier(.165,.84,.44,1);
    transition: all .4s cubic-bezier(.165,.84,.44,1);
    -webkit-transition-timing-function: cubic-bezier(.165,.84,.44,1);
    transition-timing-function: cubic-bezier(.165,.84,.44,1);
}
.-w-more_btn a:hover:after,
.-w-contact_btn a:hover:after {
    background:url(/images/btn_arrow_on.png) no-repeat;
}
.-w-more_btn a:hover:before {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}
.-w-contact_btn a:hover:before {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}
.-w-more_btn a span,
.-w-contact_btn a > span > span {
    position: relative;
    z-index: 2;
}
.-w-more_btn a span.material-icons::before {
    background-color:#0074D7!important;
    color:#ffffff!important;
}
.-w-more_btn a:hover span.material-icons::before {
    background-color:#ffffff!important;
    color:#0074D7!important;
}
#foot_fixed .-w-contact_btn a {
	background-color:#ffffff!important;
	color:#0074D7!important;
	border-color:#0074D7!important;
	padding: 20px 5px;
}
#foot_fixed .-w-contact_btn a:hover {
	background-color:#0074D7
!important;
	color:#ffffff!important;
	border-color:#0074D7!important;
}
#foot_fixed table td .-w-contact_btn a span.material-icons::before {
    background-color:#0074D7!important;
    color:#ffffff!important;
}
#foot_fixed table td .-w-contact_btn a:hover span.material-icons::before {
    background-color:#ffffff!important;
    color:#0074D7!important;
}
.-w-more_btn a span.material-icons::before,
#foot_fixed table td .-w-contact_btn span.material-icons::before {
    display: none!important;
}
@media (max-width: 768px) {
    .-w-more_btn a{
    	padding: 15px 10px;
    	min-width: 100%;
    	font-size: 4vw;
    }
    .-w-more_btn a:before,
    #foot_fixed .-w-contact_btn a:before {
        display: none;
    }
    #foot_fixed .-w-contact_btn a:after {
        right:5px;
    }
}


/*
 フォント
****************************************/


    body {
    	font-family: source-han-sans-cjk-ja, sans-serif;
    	font-weight: 300;
    	font-style: normal;
        
        font-family:vdl-v7mincho;
        font-style:normal;
        font-weight:300;
    }
        
    /*見出しフォント*/
	.-w-font_title1{
        font-family:vdl-v7mincho, vdl-v7mincho,sans-serif;
        font-style:normal;
        font-weight:500;
    }
    /*MVフォント*/
	.-w-font_title2{
        font-family:vdl-v7mincho, vdl-v7mincho,sans-serif;
        font-style:normal;
        font-weight:500;
    }
    /*英数字フォント*/
	.-w-font_en{
        font-family:escrow-banner, vdl-v7mincho, vdl-v7mincho,sans-serif;
        font-style:normal;
        font-weight:400;
    }
    .-w-font_en_after:after{
        font-family:escrow-banner, vdl-v7mincho, vdl-v7mincho,sans-serif;
        font-style:normal;
        font-weight:400;
    }
















@media (max-width: 768px) {
    
    /*
     フォント
    ****************************************/
    
    
        /*英数字フォント*/
    	.-w-font_en,
    	.-w-ttl_wrap span{
            font-family:escrow-banner, vdl-v7mincho, vdl-v7mincho,sans-serif;
        }
        .-w-font_en_after:after{
            font-family:escrow-banner, vdl-v7mincho, vdl-v7mincho,sans-serif;
        }
    
    
    
    
    
    
    
    
    
    
    
    
    
}

@media (max-width: 768px) {
    #google_translate_element select {
    font-size:28px;
    }
}