@charset "UTF-8";
@import url("grid.css");

img {
	max-width:100%;
	height: auto;/*高さ自動*/
}
a {
    display:block;
    color: #001531;
    text-decoration-line: none;
}
a:hover { 
    color: #00367e;
}


/*ヘッダー
-------------------------------------*/
.header {
    display: flex;
    flex-direction: row;
    padding: 2rem 0 1rem 0;
    background-color: #052f5c; 
}
.header img{ 
    align-self: flex-start;
    width: 15vw;
    height: auto;
}
.header-box {
	margin-left: auto;
	margin-top: 8px;
}
.contact-button {
	padding: 1rem;
	border: 2px solid #000;
}
nav ul {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    list-style: none;
	margin: 0 0 0 0;
}
nav li {
	flex: 1 0 auto;
}
nav li a {
    text-decoration: none;
    text-align: center;
    margin: 1rem 1rem 0 0;
    width: 100%;
}
nav a:hover {
    background-color: #c4c3c3;    
}
nav a {
    padding: 0.5rem;
}

@media screen and (min-width: 751px){
    /* PC時はMENUボタンを非表示 */
    #s-menu {
        display: none !important;
    }
    #s-logo {
        display: none !important;
    }
    #navi {
        display: none !important;
    }
}

/*スマホ時はヘッダーを固定する*/
@media screen and (max-width: 750px){
    
    /* スマホ時はメニューを非表示 */
    #navi {
        display: none;
    }
    #s-logo {
        display: block !important;
    }

    header {
	flex-direction: column;
        margin-bottom: 0px;
    }
    nav ul {
        display: fixed;
	flex-direction: column;
    }
    .header {
        position: fixed;
	z-index: 999;
        padding: 0 0 0 0;
    }
    .header img{ 
        width: 150px;
        height: auto;
        padding: 1.5rem 0 1rem 0;
        align-self: flex-start;
    }
    /* スマホ時はMENUボタンを表示 */
    #s-menu {
	z-index: 1000; /* 他のアイテムに対して最上位のレイヤーになるように */
        display: block;
        width: 50px;
        border: none;
        position: fixed;
        top: 12px;
        right: 12px;
    }
    #navi {
	z-index: 998;
        position: fixed;
	overflow-y: scroll;
        justify-content: space-around;
        background-color: #ffffff;
        width: 100%;
	height: 100%;
        padding-top: 70px;
	webkit-overflow-scrolling: touch;
    }
    #navi li {
        flex: 1 0 auto;
    }
    #navi li a {
        text-align: center;
        width: 100%;
    }
}
/*PC用固定ヘッダー
-------------------------------------*/
.fix-header {
	background-color:#052f5c;
	line-height: 30px;
	left: 0;
	text-align: center;
	width: 100%;
	margin: 0 0;
	color: #000;
	padding-top:10px;
	position: fixed;
    z-index: 1000;/*　他のアイテムに対して最上位のレイヤーになるように */
    opacity:0.9; /* 透過 */
}
.fix-header-contents{
	width:100%;
	margin: 0 0;
}
.fix-header ul{
    list-style-type: none;
}
.fix-header li{
    float:left;
    margin-right:2rem;
}
.fix-header li a,.fix-header li a:visited{
    color: #fff;
    text-decoration: none;
}
.fix-header li:first-child{
    margin-left:2rem;
}
.fix-header li:last-child{
    margin-right:2rem;
}
#fix-header-logo{
    float:left;
}
#fix-header-logo img{
    width:130px;
}
#fix-header-menus{
    float:right;
    text-align: right;
}
    /* micro clearfx */
.cf:before, .cf:after {
    content:"";
    display:table
}
.cf:after { clear:both }
.cf { zoom:1 } 

/*750以下は固定ヘッダーを無くす*/
@media screen and (max-width: 750px){
    .fix-header {display:none;}
}

/* 幅によって文字の大きさを変更する */
@media screen and (max-width: 1078px){
    #fix-header-menus{font-size: 1.4rem;}
}
@media screen and (max-width: 994px){
    #fix-header-menus{font-size: 1.2rem;}
    .fix-header li{margin-right:0;}
    .fix-header li:first-child{margin-left:0;}
}
@media screen and (max-width: 790px){
    #fix-header-menus{font-size: 1.1rem;}
}

/*画像
-------------------------------------*/
/* Top画像 */
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
	.pc { display: none !important; }
	.sp { display: block !important;}
	.sp {
      		position:relative;
      		top:74px;
    	}
	.changing{height:130px;}
 }


/* 導入画像 */
    .introimg img {
        width: 15vw;
    }

/* メイン画像 */
.mainimg img {
    width: 100vw;
}

/* 特長画像 */
.featuresimg img {
    width: 40%;
}

/*メインコンテンツ
-------------------------------------*/
main {
    margin: 5rem 0 0 0;
}
section {
	margin: 5rem 0;
	padding: 2rem 0;
}
.gray-back {
	background-color: #ececec;
}
/*キャッチコピー
-------------------------------------*/
.catch {
    text-align: center;
}
.catch h2 {
    padding-bottom: 1rem;
}
.under {
    border-bottom: 0.4rem solid #000;
    padding:1rem 1rem 1rem 1rem;
}
.center {
	text-align: center;
	margin-bottom: 4rem;
}

@media screen and (max-width: 600px){
    .center2 {
	    text-align: center;
    }
}


/*導入
-------------------------------------*/
.flow.row {
	margin-bottom: 3rem;
}


/*フッター
-------------------------------------*/
footer {
    background-color: #052f5c;
    color:#fff;
    padding: 2rem 0;
}
footer h4 {
    border-bottom: 3px solid #ccc;
    color:#fff;
}
footer h5 {
    border-bottom: 3px solid #776a6a;
    color:#fff;
}
.footer a {
    color:#fff;
    font-size: 1.3rem;
}
.footer a:hover { 
    text-decoration: underline;
}


/*お問い合わせ
-------------------------------------*/
.contact-box {
	border: 1px solid #ccc;
	text-align: center;
	padding: 2rem 0;
}
.table {
	margin: 4rem 0;
}
.table th {
	width: 250px;
}


/*コピーライト
-------------------------------------*/
.copyright {
    text-align: center;
    border-top: 1px solid #ccc;
    padding: 1rem 0;
    background-color: #052f5c;
    color: #ffffff;
}
.copyright a {
    color: #fff;
    text-decoration: none;
	display: inline;
}


/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
}
#pagetop a {
    display: block;
    background: #362929;
    color: #fff;
    width: 50px;
    padding: 10px 5px;
    text-align: center;
}
#pagetop a:hover {
    background: #666;
}


/* 幅750px以下の表示
-------------------------------------*/
@media screen and (max-width: 750px){
	
    /*ヘッダー
    -------------------------------------*/
    .header-box {
    	display: none;
    }	
    /*お問い合わせ
    -------------------------------------*/
    .table th {
    	width: 100%;
    	display: block;
    }	
    .table td {
    	display: block;
    }
}


/* ロゴデモ用に追記した部分
-------------------------------------*/

/* ヘッダ部分のアイコン調整 */

.header img {
    margin-left: 36px;
}

.fix-header-contents {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fix-header img {
    margin-left: 20px;
}

/* ヘッダとメニューの背景色を入れ替え */

.header-re {
    display: flex;
    flex-direction: row;
    padding: 2rem 0 1rem 0;
    background-color: #fff; 
}
.header-re img {
    margin-left: 36px;
}
.menu-re {
    color: white;
    background-color: #052f5c;
}
.menu-re a {
    color: white;
}
.fix-header-re {
    color: black;
    background-color: white; 
}
.fix-header-re a {
    color: black !important;
}
.fix-header-re img {
    margin-left: 20px;
}

/* ロゴ50用の背景色に設定 */
.bg50 {
    background-color: #0068B7 !important; 
}

.logo-size-50 {
    width: 15vw;
}