/*------------------------------------------------------------------------
ルール
------------------------------------------------------------------------*/
@charset "utf-8";
:root {
    --main-color:#12335F;/*メインカラー*/
    --text-color:#4C4948;/*標準テキストカラー*/
    --bold-color:#111;/*太字テキストカラー*/
    --caption-color:#555;/*注釈やキャプションなどの目立つ必要のない場合のテキストカラー*/
    --blue-color:#00599B;/*色文字　青*/
    --skyblue-color:#2080C8;/*色文字　青*/
    --red-color:#E6353B;/*色文字　赤*/
    --link-color:#4C4948;/*リンクテキストカラー*/
    --hover-color:#0000B0;/*hoverテキストカラー*/
    --background-color:#fff;/*白背景色*/
    --background-blue-color:#F9F8FD;/*青背景色*/
	--gray-color:#eeeaea;
	--inquiry-color:#EFF6F8;
	--must-color:#CB2020;
	
	--gradation-blue:linear-gradient(90deg, #2080C8 0%, #12335F 100%);
	--gradation-skyblue:linear-gradient(90deg, #DDEBF3 0%, #DDEBF3 100%);
    
	--header-height:92px;
	--min-width:980px;
	--max-width:1920px;
	--contents-wide:980px;
	
    --button-default:#e9ecf3;/*通常ボタンhoverの背景色*/
    --button-action:#1d245f;/*アクションボタンカラー*/
    --button-action-hover:#314fa2;/*アクションボタンhoverカラー*/
    --button-sub:#426ed2;/*サブのボタンカラー*/
	--button-orange:#d93e12;/*JAFを呼ぶ*/
	--button-orange-hover:#b13515;/*JAFを呼ぶ*/
    --icon-background:#eff2f6;/*アイコンの背景カラー*/
    --line-color:#707070;/*罫線のカラー*/
    --table-line-color:#d0d1d3;/*表の罫線のカラー*/
    --table-head-color:#f0f2f8;/*表の標題の背景カラー*/
	
}
@media(max-width:767.99px){
	:root{
		--header-height:92px;
		--min-width:100%;
		--max-width:100%;
		--contents-wide:calc(100% - 20px);
	}
}
/*行間について
本文：1.8em
見出し、キャッチコピー、ラベルアイコン、ボタンテキストなど：1.3em
リード、注釈：1.5em
*/

/*画面幅について
PC：994px～1200px
モバイル：320px～767px
*/

/*見出し*/
h1, h2, h3, h4, h5, h6 {
	clear: both;
	font-weight: bold;
	color:var(--bold-color);
	line-height: 1.3em;
}
@media (min-width:768px){
    h1{font-size:40px;}
    h2{font-size:32px;}
    h3{font-size:24px;}
    h4{font-size:22px;}
    h5{font-size:20px;}
    h6{font-size:17px;}
}
@media (max-width:767px){
    h1{font-size:24px;}
    h2{font-size:21px;}
    h3{font-size:19px;}
    h4{font-size:17px;}
    h5{font-size:16px;}
    h6{font-size:15px;}
}
/*PCとモバイル*/
@media (min-width:768px){
    .mobile{
        display: none;
    }
}
@media (max-width:767px){
    .desktop{
        display: none;
    }
}
.tac{
	text-align: center !important;
}
.tar{
	text-align: right !important;
}
.tal{
	text-align: left !important;
}
.mt10{
    margin-top:10px !important;
}
.mb10{
    margin-bottom:10px !important;
}
.red{
	color:var(--red-color);
}

/*------------------------------------------------------------------------
リセット
------------------------------------------------------------------------*/

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, p, blockquote, table, th, td {
	margin:0;
	padding:0;
}
body{
	background-color:var(--background-color);
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-height);
}
@media (min-width:768px){
    body,
    /*form input{
        font:18px/2 YuGothic,Meiryo,"Yu Gothic","Hiragino Sans",sans-serif;
        -webkit-text-size-adjust: 100%;
    }*/
    form input{
        font:18px/2 "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        -webkit-text-size-adjust: 100%;
    }
}
@media (max-width:767px){
    body,
    form input{
        font:15px/1.8 YuGothic,"Yu Gothic","Hiragino Sans",Meiryo,sans-serif;
        -webkit-text-size-adjust: 100%;
    }
}
* html body {
	font-size: small;
	color:var(--text-color);
}
*:first-child+html body {
	font-size: small;
}
img {
	border: 0;
	vertical-align:top;
}
ul, dl, ol {
	text-indent:0;
}
ul li {
	list-style:none;
}
address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
	font-weight: normal;
}
sup {
	vertical-align:text-top;
}
sub {
	vertical-align:text-bottom;
}
input, textarea, select {
	font-family:inherit;
	font-size: inherit;
	font-weight:inherit;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input{
	height: 36px;
}

* html input, * html textarea, * html select {
	font-size: 100%;
}
*:first-child+html+input, *:first-child html+textarea, *:first-child+html select {
	font-size: 100%;
}
table {
	border-collapse:collapse;
	border-spacing:0;
	font-size:inherit;
}
th, td {
	text-align:left;
	vertical-align:top;
}
caption {
	text-align:left;
}
pre, code, kbd, samp, tt {
	font-family: monospace;
}
* html code, * html kbd, * html samp, * html tt {
	font-size: 100%;
	line-height: 100%;
}
*:first-child+html pre, *:first-child html+code, *:first-child html+kbd, *:first-child+html+samp, *:first-child+html tt {
	font-size: 108%;
	line-height: 100%;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
a:link {
	color:var(--blue-color);
	text-decoration: none;
}
a:visited {
	color:var(--blue-color);
	text-decoration: none;
}
a:active {
	color:var(--blue-color);
	text-decoration: none;
}
a:hover {
	color:var(--main-color);
	text-decoration: none;
}
a {
	outline : 0;
}
a img{
	border : none;
}
a[target]:not([target="_self"]):not([target=""])>span:after {
    font-family: 'jafglyph';
    content: '\e80f';
    color: inherit;
    display: inline-block;
    padding-left: 0.2em;
    speak: none;
    font-weight: normal;
    text-transform: none;
    line-height: 1;
}