﻿@charset "UTF-8";

/* ---------------------
 * FONTSIZE MODEL * 
 * ---------------------
 *  63% ->	10pxに相当
 *  70% ->	11pxに相当
 *  75% ->	12pxに相当
 *  82% ->	13pxに相当
 *  88% ->	14pxに相当
 *  94% ->	15pxに相当
 * 100% ->	16pxに相当
 * 107% ->	17pxに相当
 * 113% ->	18pxに相当
 * 119% ->	19pxに相当
 * 125% ->	20pxに相当
 * --------------------- */


/* ========BASIC======== */
* {
   font-family:"Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"ヒラギノ角ゴ Pro W3","メイリオ", Meiryo,"MS P ゴシック",verdana,sans-serif;
   color:#000000;
   margin: 0; padding: 0;
}

body {
   margin:0;
   padding:0;
   letter-spacing:1px;
   background:#ffffff;
   background-attachment:fixed;
   border-top:3px solid #253c93;	
}

br {
   letter-spacing:normal;
}

a {
   color:#000000;
   text-decoration:none;
}

a:hover {
   color:#253c93;
   text-decoration:underline;
}

img {
   border:0;
}


h1,h2,h3,h4,h5,h6 {
   margin:0;
}


/* ========TEMPLATE LAYOUT======== */
div#container {
   width:780px;
   margin:0 auto;
   padding:0;
   background:#ffffff;
}

div#header {
   width:780px;
   padding:36px 0 0 0;
}


div#menu {
   width:780px;
   height:auto;
   padding-top:18px;   
}

div#icatch {
   width:780px;
   padding-top:12px;
}

div#contents {
   width:780px;
   padding:0px;
   background:#ffffff;
}

div#main {
   width:780px;
}


div#totop {
   width:780px;
   padding:42px 0px 9px 0;
   text-align:right;
   font-size:70%;/* 11px相当 */
}

div#footer {
   width:780px;
   border-top:3px solid #253c93;
   padding:9px 0 36px 0;
}


/* ========HEADER CUSTOMIZE======== */
div#header  {
   background-image: url("images/tel.png");
   background-repeat: no-repeat;
   background-position: right bottom;	  
}



/* ========MENU CUSTOMIZE======== */
div#menu ul {
   overflow:hidden;
   margin:0;
   padding:0;
   list-style:none;
}

div#menu ul span {
   display:none;
}



div#menu li {
   overflow:hidden;
   float:left;
   margin:0px;
   padding:0;
}

div#menu li a {
   display:block;
   width:156px;
   height:36px;
   outline:none;
}

div#menu li#home a {
   background:#ffffff url("images/bg_menu_top.png") 0px 0px;
}

div#menu li#home a:hover {
   background:#ffffff url("images/bg_menu_top.png") 0px 36px;
}

div#menu li#home_active a {
   background:#ffffff url("images/bg_menu_top.png") 0px 36px;
}


div#menu li#corporate a {
   background:#ffffff url("images/bg_menu_corporate.png") 0px 0px;
}

div#menu li#corporate a:hover {
   background:#ffffff url("images/bg_menu_corporate.png") 0px 36px;
}

div#menu li#corporate_active a {
   background:#ffffff url("images/bg_menu_corporate.png") 0px 36px;
}

div#menu li#service a {
   background:#ffffff url("images/bg_menu_service.png") 0px 0px;
}

div#menu li#service a:hover {
   background:#ffffff url("images/bg_menu_service.png") 0px 36px;
}

div#menu li#service_active a {
   background:#ffffff url("images/bg_menu_service.png") 0px 36px;
}

div#menu li#recruit a {
   background:#ffffff url("images/bg_menu_recruit.png") 0px 0px;
}

div#menu li#recruit a:hover {
   background:#ffffff url("images/bg_menu_recruit.png") 0px 36px;
}

div#menu li#recruit_active a {
   background:#ffffff url("images/bg_menu_recruit.png") 0px 36px;
}

div#menu li#contact a {
   background:#ffffff url("images/bg_menu_contact.png") 0px 0px;
}

div#menu li#contact a:hover {
   background:#ffffff url("images/bg_menu_contact.png") 0px 36px;
}

div#menu li#contact_active a {
   background:#ffffff url("images/bg_menu_contact.png") 0px 36px;
}





/* ========MAINCONTENTS CUSTOMIZE======== */
div#main a {
   color:#253c93;
}

div#main a:hover {
   color:#253c93;
   text-decoration:underline;
}

div#main h2 {
   padding:36px 0px 7px 0px;
}

div#main h3 {
   padding:18px 0px 0px 22px;
   line-height:1.8;
   font-size:80%;/* 88 14px相当 */
   color:#253c93;
}



div#main p {
   margin:13px 22px 0 22px;
   line-height:1.8em;
   font-size:82%;/* 13px相当 */
   text-align:justify;
   text-justify:inter-ideograph;
}

div#main p strong {
   display:block;
   text-align:right;
   font-size:110%;
   font-weight:normal;
}


div#main dl {
   margin:8px 22px 0 22px;
   text-align:justify;
   text-justify:inter-ideograph;
}

div#main dl dt {
   font-size:82%;/* 13px相当 */
   padding:7px 0px 7px 0px;
   color:#253c93;
   float:left;
   line-height:1.5em;
   text-align:justify;
   text-justify:inter-ideograph;
}

div#main dl dd {
   font-size:82%;/* 13px相当 */
   padding:7px 0px 7px 134px;
   line-height:1.5em;
   text-align:justify;
   text-justify:inter-ideograph;
   background:url("images/bg_dotline.gif") 0 100% repeat-x;
}

/* ========TOTOP CUSTOMIZE========= */
div#totop a {
   padding:0 0 0 12px;
   background:url("images/bg_totop.gif") 0 50% no-repeat;
}


/* ========FOOTER CUSTOMIZE======== */
div#footer img {
   float:left;
   border:0;
   margin-right:9px;
}


div#footer ul {
	float:left;
	margin:0px;
	padding:0 6px;
}

div#footer li {
	display:table-cell;
	font-size:63%;/* 10px相当 */
	list-style:none;
    margin:0px;
	padding:0px 0px;
}

div#footer li a:hover {
   color:#666666;
   text-decoration:underline;
}

div#footer li span {
				padding:0 3px;
			}

div#footer h1 {
    float:right;
	padding : 6px 3px 0px 0px;
	font-size:94%;/* 15px相当 */
	font-style:normal;
	color:#253c93;
	letter-spacing:0px;
}

address {
   clear:both;
   font-style:normal;
   font-size:50%;
   color:#999999;
   text-align:right;
}

/*-------------------------------*/
/*--- 2023.07.31　DIK CSS追加 ---*/
/*-------------------------------*/

/* list ----------------------------------------------*/
.tagBox ul.ul1, .tagBox ol.ol1,
ol.blacket1, ol.blacket2,
ol.alphabet1, ol.alphabet2,
.tagBox ul.float2col1,
.tagBox ul.float3col1, .tagBox ul.float3col2,
.tagBox ul.float4col1, .tagBox ul.float4col2,
.tagBox ul.float5col1, .tagBox ul.float5col2,
.tagBox ul.float6col2,
ul.ul1, ol.ol1, 
ul.float2col1,
ul.float3col1, ul.float3col2,
ul.float4col1, ul.float4col2,
ul.float5col1, ul.float5col2,
ul.float6col2 {
	margin-bottom: 25px;
    overflow: hidden;
}

/*デフォルト*/
.tagBox ul, .tagBox ol {
	margin-bottom: 25px;
	overflow: hidden;
}
.tagBox ul li,
ul.ul1 li{
	list-style-type: disc;
	margin: 0 0 10px 20px;
}
.tagBox ol li,
ol.ol1 li {
	list-style-type: decimal;
	margin: 0 0 10px 30px;
}
.tagBox ul li ul, .tagBox ol li ul {
	margin-bottom: 0;
}
.tagBox ul li ul li, .tagBox ol li ul li,
ul.ul1 li ul li, ol.ol1 li ul li {
	list-style-type: circle;
}

/* 装飾ありリスト */

/* blacket1 （1） */
/* blacket2 1） */
ol.blacket1 li, ol.blacket2 li {
    list-style-type: none;
	margin: 0 0 10px 0;
    counter-increment: cnt;
    position: relative;
}
ol.blacket1 li{
    padding-left: 30px;
}
ol.blacket2 li {
    padding-left: 25px;
}
ol.blacket1 li::before, ol.blacket2 li::before {
    position: absolute;
    left: 0;
}
ol.blacket1 li::before {
	content: "(" counter(cnt) ") ";
}
ol.blacket2 li::before {
	content: counter(cnt) ") ";
}

/* alphabet1 a. */
/* alphabet2 A. */
ol.alphabet1 li {
    list-style-type: lower-alpha;
}
ol.alphabet2 li {
    list-style-type: upper-alpha;
}

/*リストの飾り不要時*/
.tagBox ul.listNonStyle li,
.tagBox ol.listNonStyle li {
    list-style-type: none;
	margin: 0 0 10px 0;
}

/* 2つ並びのリスト 999px以下で1列に */
.tagBox ul.float2col1 > li,
ul.float2col1 > li{
    list-style-type: none;
	width: calc((100% - 25px) / 2);
	float: left;
    margin: 0 24.9px 15px 0;
}
.tagBox ul.float2col1 > li:nth-child(odd), ul.float2col1 > li:nth-child(odd) {clear: left;}
.tagBox ul.float2col1 > li:nth-child(even), ul.float2col1 > li:nth-child(even) {margin-right: 0;}
@media only screen and (max-width:999px) {
    .tagBox ul.float2col1 > li,
    ul.float2col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
}

/* 3つ並びのリスト 999px以下で1列に */
.tagBox ul.float3col1 > li,
ul.float3col1 > li{
    list-style-type: none;
	width: calc((100% - 50px) / 3);
	float: left;
	margin: 0 24.9px 15px 0;
}
.tagBox ul.float3col1 > li:nth-child(3n), ul.float3col1 > li:nth-child(3n) {margin-right: 0;}
.tagBox ul.float3col1 > li:nth-child(3n+1), ul.float3col1 > li:nth-child(3n+1) {clear: left;}
@media only screen and (max-width:999px) {
	.tagBox ul.float3col1 > li,
    ul.float3col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
	}
}

/* 3つ並びのリスト 999px以下で1列に Flex版 */
.tagBox ul.float3col2,
ul.float3col2 {
    display: flex;
    flex-wrap: wrap;
}
.tagBox ul.float3col2 > li,
ul.float3col2 > li{
    list-style-type: none;
	width: calc((100% - 50px) / 3);
	margin: 0 24.9px 15px 0;
}
.tagBox ul.float3col2 > li:nth-child(3n), ul.float3col2 > li:nth-child(3n) {margin-right: 0;}

@media only screen and (max-width:999px) {
    ul.float3col2 > li,
    .tagBox ul.float3col2 > li{
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float3col2 li:nth-child(3n), .tagBox ul.float3col2 li:nth-child(3n) {margin:0 0 15px 0;}
    
	ul.float3col2 li:nth-child(2n), .tagBox ul.float3col2 li:nth-child(2n) {float: right; margin-left: 15px;}
	ul.float3col2 li:nth-child(2n+1), .tagBox ul.float3col2 li:nth-child(2n+1) {float: left; clear: right;}
}

/* 4つ並びのリスト 999px以下で1列に */
ul.float4col1 > li,
.tagBox > ul.float4col1 li{
    list-style-type: none;
	width: calc((100% - 75px) / 4);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float4col1 > li:nth-child(4n), .tagBox ul.float4col1 > li:nth-child(4n) {margin: 0 0 15px 0;}
ul.float4col1 > li:nth-child(4n+1), .tagBox ul.float4col1 > li:nth-child(4n+1) {clear: left;}
@media only screen and (max-width:999px) {
    ul.float4col1 > li,
    .tagBox ul.float4col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
}

/* 4つ並びのリスト 999px以下で2列に */
ul.float4col2 > li,
.tagBox ul.float4col2 > li{
    list-style-type: none;
	width: calc((100% - 75px) / 4);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float4col2 > li:nth-child(4n), .tagBox ul.float4col2 > li:nth-child(4n) {margin: 0 0 15px 0;}
ul.float4col2 > li:nth-child(4n+1), .tagBox ul.float4col2 > li:nth-child(4n+1) {clear: left;}
@media only screen and (max-width:999px) {
    ul.float4col2 > li,
    .tagBox ul.float4col2 > li{
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float4col2 > li:nth-child(4n), .tagBox ul.float4col2 > li:nth-child(4n) {margin:0 0 15px 0;}
    ul.float4col2 > li:nth-child(4n+1), .tagBox ul.float4col2 > li:nth-child(4n+1) {float: none;}
    
	ul.float4col2 > li:nth-child(2n), .tagBox ul.float4col2 > li:nth-child(2n) {float: right;}
	ul.float4col2 > li:nth-child(2n+1), .tagBox ul.float4col2 > li:nth-child(2n+1) {float: left; clear: right;}
}

/* 5つ並びのリスト 999px以下で1列に */
ul.float5col1 > li,
.tagBox ul.float5col1 > li {
    list-style-type: none;
	width: calc((100% - 100px) / 5);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float5col1 > li:nth-child(5n), .tagBox ul.float5col1 > li:nth-child(5n) { margin: 0 0 15px 0; }
ul.float5col1 > li:nth-child(5n+1), .tagBox ul.float5col1 > li:nth-child(5n+1) { clear: left; }
@media only screen and (max-width:999px) {
    ul.float5col1 > li,
    .tagBox ul.float5col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
}

/* 5つ並びのリスト 999px以下で2列に */
ul.float5col2 > li,
.tagBox ul.float5col2 > li {
    list-style-type: none;
	width: calc((100% - 100px) / 5);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float5col2 > li:nth-child(5n), .tagBox ul.float5col2 > li:nth-child(5n) { margin: 0 0 15px 0; }
ul.float5col2 > li:nth-child(5n+1), .tagBox ul.float5col2 > li:nth-child(5n+1) { clear: left; }
@media only screen and (max-width:999px) {
    ul.float5col2 > li,
    .tagBox ul.float5col2 > li {
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float5col2 > li:nth-child(5n), .tagBox ul.float5col2 > li:nth-child(5n) { margin:0 0 15px 0; }
    ul.float5col2 > li:nth-child(5n+1), .tagBox ul.float5col2 > li:nth-child(5n+1) { float: none; clear: unset; }
    
	ul.float5col2 > li:nth-child(2n), .tagBox ul.float5col2 > li:nth-child(2n) { float: right; }
	ul.float5col2 > li:nth-child(2n+1), .tagBox ul.float5col2 > li:nth-child(2n+1) { float: left; clear: right; }
}

/* 6つ並びのリスト 999px以下で2列に */
ul.float6col2 > li,
.tagBox ul.float6col2 > li{
    list-style-type: none;
	width: calc((100% - 100px) / 6);
	float: left;
	margin: 0 20px 15px 0;
}
ul.float6col2 > li:nth-child(6n), .tagBox ul.float6col2 > li:nth-child(6n) {margin: 0 0 15px 0;}
ul.float6col2 > li:nth-child(6n+1), .tagBox ul.float6col2 > li:nth-child(6n+1) {clear: left;}
@media only screen and (max-width:999px) {
    ul.float6col2 > li,
    .tagBox ul.float6col2 > li{
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float6col2 > li:nth-child(6n), .tagBox ul.float6col2 > li:nth-child(2n) {margin:0 0 15px 0;}
    ul.float6col2 > li:nth-child(6n+1), .tagBox ul.float6col2 > li:nth-child(2n+1) {float: none;}
    
	ul.float6col2 > li:nth-child(2n), .tagBox ul.float6col2 > li:nth-child(2n) {float: right;}
	ul.float6col2 > li:nth-child(2n+1), .tagBox ul.float6col2 > li:nth-child(2n+1) {float: left; clear: right;}
}

/* 横並びリストの画像はPCでも自動で幅最大100%に設定 */
.tagBox ul.float2col1 img,
.tagBox ul.float3col1 img, .tagBox ul.float3col2 img,
.tagBox ul.float4col1 img, .tagBox ul.float4col2 img,
.tagBox ul.float5col1 img, .tagBox ul.float5col2 img,
.tagBox ul.float6col2 img,
ul.float2col1 img,
ul.float3col1 img, ul.float3col2 img,
ul.float4col1 img, ul.float4col2 img,
ul.float5col1 img, ul.float5col2 img,
ul.float6col2 img {
	max-width: 100%;
	height: auto;
}

/*横に並ぶ背景色付きのリスト*/
.tagBox ul.boxList1,
.tagBox ul.boxList2 {
    display: flex;
    flex-wrap: wrap;
}
.tagBox ul.boxList1 li,
.tagBox ul.boxList2 li{
    list-style: none;
    margin: 0 10px 10px 0;  
    display: flex;
    align-items: center;
    background: #f5f5f5;
    padding: 15px 5px;
    border-radius: 5px;
    text-align: center;
    justify-content: center;
}
.tagBox ul.boxList1 li{width: calc((100% - 30px) / 4);}
.tagBox ul.boxList2 li{width: calc((100% - 30px) / 3);}
.tagBox ul.boxList1 li:nth-of-type(4n),
.tagBox ul.boxList2 li:nth-of-type(3n){margin-right: 0;}
@media only screen and (max-width:999px) {
    .tagBox ul.boxList1,
    .tagBox ul.boxList2 {
        display: block;
    }
    .tagBox ul.boxList1 li,
    .tagBox ul.boxList2 li{
        display: block;
        width: 100%;
        margin: 0 0 5px 0;
        padding: 10px 5px;
        background: none;
        border-bottom: 1px dotted #ccc;
    }
}

/*flexBox1 左右50%*/
/*flexBox2 左260px*/
/*flexBox3 右260px*/
/*flexBox4 均等3つ並び*/
/*flexBox5 左355px*/
/*flexBox6 右355px*/
.flexBox1,
.flexBox2,
.flexBox3,
.flexBox4,
.flexBox5,
.flexBox6{
    display: flex;
    margin-bottom: 25px;
}
.flexBox1 > div:nth-of-type(1),
.flexBox2 > div:nth-of-type(1),
.flexBox3 > div:nth-of-type(1),
.flexBox5 > div:nth-of-type(1),
.flexBox6 > div:nth-of-type(1){
    margin-right: 25px;
}
.flexBox1 > div {width: calc((100% - 25px) / 2);}
.flexBox2 > div:nth-of-type(1),
.flexBox3 > div:nth-of-type(2){
    width: 260px;
}
.flexBox5 > div:nth-of-type(1),
.flexBox6 > div:nth-of-type(2){
    width: 355px;
}
.flexBox2 > div:nth-of-type(2),
.flexBox3 > div:nth-of-type(1){
    width: calc(100% - 285px);
}
.flexBox5 > div:nth-of-type(2),
.flexBox6 > div:nth-of-type(1){
    width: calc(100% - 380px);
}
.flexBox4 > div {
    width: calc((100% - 50px) / 3);
    margin-right: 24.9px;
}
.flexBox4 > div:nth-of-type(3) {margin-right: 0;}
@media only screen and (max-width:999px) {
    .flexBox1,
    .flexBox2,
    .flexBox3,
    .flexBox4,
	.flexBox5,
	.flexBox6{
        display: block;
    }
    .flexBox1 > div:nth-of-type(1),
    .flexBox2 > div:nth-of-type(1),
    .flexBox3 > div:nth-of-type(1),
    .flexBox4 > div,
	.flexBox5 > div:nth-of-type(1),
	.flexBox6 > div:nth-of-type(1){
        width: 100%;
        margin: 0 0 15px 0;
    }
    .flexBox1 > div:nth-of-type(2),
    .flexBox2 > div:nth-of-type(2),
    .flexBox3 > div:nth-of-type(2),
    .flexBox4 > div:nth-of-type(3),
	.flexBox5 > div:nth-of-type(2),
    .flexBox6 > div:nth-of-type(2){
        width: 100%;
        margin-bottom: 0;
    }
}

/* display */
.dispinline {display: inline;}
.dispb {display: block!important;}
.dispinlineb {display: inline-block;}
.dispnone {display: none;}
.nonePc {display: none;}
.oHidden {overflow: hidden;}

.dk img {
	max-width: 100%;
	height:auto;
}

/* margin */
.mauto {margin-left: auto;margin-right: auto;}
.mb0 {margin-bottom: 0px!important;}
.mb1 {margin-bottom: 1px!important;}
.mb5 {margin-bottom: 5px!important;}
.mb10 {margin-bottom: 10px!important;}
.mb15 {margin-bottom: 15px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb25 {margin-bottom: 25px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb35 {margin-bottom: 35px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb45 {margin-bottom: 45px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb55 {margin-bottom: 55px!important;}
.mb60 {margin-bottom: 60px!important;}
.mb65 {margin-bottom: 65px!important;}
.mb70 {margin-bottom: 70px!important;}
.mb75 {margin-bottom: 75px!important;}
.mb80 {margin-bottom: 80px!important;}
.mb85 {margin-bottom: 85px!important;}
.mb90 {margin-bottom: 90px!important;}
.mb95 {margin-bottom: 95px!important;}
.mb100 {margin-bottom: 100px!important;}

/* width */
.w100 {width: 100%;}
.w50, .w50sp100 {width: 50%;}
@media only screen and (max-width:999px) {
    .w50sp100 {width: 100%;}
}
/* vertical align */
.vaTop {vertical-align: top;}
.vaBottom {vertical-align: bottom;}
.vaMiddle {vertical-align: middle;}
.aiCenter {align-items: center;}
/* font ---------------------------------------------------*/

/* font style */
strong, .bold {font-weight: bold;}
.nbold {font-weight: normal;}
.underLine {text-decoration: underline;}

/* font size */
.small1 {font-size: 1.4rem;}
.small2 {font-size: 1.2rem;}
.big1 {font-size: 1.8rem;}
.big2 {font-size: 2.0rem;}

/* text align */
.txtRight {text-align: right;}
.txtLeft {text-align: left;}
.txtCenter, .txtCenter2 {text-align: center;}
@media only screen and (max-width:999px) {
    .txtCenter2{text-align: left;}
}
/* table ----------------------------------------------*/
.table1, .table1 td, .table1 th,
.tagBox table, .tagBox table td, .tagBox table th{
	border: 1px solid #ccc;
	box-sizing: border-box;
}
table caption {
	margin-bottom: 10px;
}
.table1,
.tagBox table{
	border-collapse: collapse;
	margin-bottom: 25px;
}
.table1 th, .table1 td,
.tagBox table th, .tagBox table td {
	padding: 10px;
}
.table1 th,
.tagBox table th {
	background-color: #f5f5f5;
    vertical-align: middle;
}
.tdw {background: #fff;}
.td1 {background: #dcf5fd;}
.td2 {background: #eef6ed;}
.thw1 th {width: 180px;}

@media only screen and (max-width:999px) {
	/*639px以下で段組み解除*/
	.tableMw1 th, .tableMw1 td,
	.tagBox .tableMw1 th, .tagBox .tableMw1 td{
		display: block;
		border: none;
		width: 100%;
	}
    .thw1 th {width: 150px;}
	.tableMw1.thw1 th,
	.tagBox .tableMw1.thw1 th {width: 100%;}
}

.flexBox1.dk{
    align-items: center;
}


.hover{
    &:hover{
        opacity: 0.7;
    }
}
