@charset 'UTF-8';

/* IEハック用mixin */

/* 基本設定--------------------*/

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td
{
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6
{
    font-size: 100%;
}

li
{
    list-style: none;
}

img
{
    vertical-align: top;

    border: 0;
}

strong
{
    font-weight: bold;
}

a:hover
{
    text-decoration: underline;

    color: #f5a100;
}

table
{
    border-spacing: 0;
    border-collapse: collapse;
}

/* Header--------------------*/

#header_block
{
    position: relative;

    overflow: hidden;

    width: 980px;
    height: 82px;
    margin: 0 auto;
}

#logo
{
    position: absolute;
    top: 10px;
    left: 0;
}

#head_submenu
{
    position: absolute;
    top: 0;
    right: 0;

    height: 31px;
}

#head_submenu li
{
    float: left;

    margin: 0 0 0 4px;

    _display: inline;
}

#lang_menu
{
    position: absolute;
    top: 40px;
    right: 0;

    width: 300px;
}

#lang_menu ul
{
    float: right;
}

#lang_menu li
{
    font-size: 77%;

    float: left;

    margin: 0 0 0 10px;
    padding: 0 0 0 6px;

    background: url(../../img/en/common/mark_arrow01.gif) 0 5px no-repeat;
}

#lang_menu li a
{
    text-decoration: none;

    color: #333;
}

#lang_menu li a:hover
{
    text-decoration: underline;
}

/* Menu--------------------*/

#menu
{
    width: 980px;
    height: 40px;
    margin: 0 auto;
}

#menu li
{
    float: left;

    margin: 0;
}

/* Pan--------------------*/

#pan
{
    line-height: 1.0;

    width: 960px;
    margin: 0 auto;
    padding: 38px 0 0;
}

#pan li
{
    font-size: 93%;

    float: left;

    margin-right: 5px;
    padding-left: 15px;

    background: url(../../img/en/common/pan_arrow.gif) left center no-repeat;
}

#pan li.home
{
    padding-left: 15px;

    background: url(../../img/en/common/pan_home.gif) left center no-repeat;
}

#pan a,
#pan a:visited
{
    text-decoration: none;
}

/* Contents--------------------*/

#contents_block
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 1200px;
    margin: 0 auto;
    margin-top: 40px;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

/* Main Contents--------------------*/

#main_contents
{
    float: left;

    width: 900px;
}

.last-contents
{
    margin-bottom: 120px !important;
}

/* Side Contents--------------------*/

#side_contents
{
    float: right;

    width: 280px;
    margin-left: 20px;
}

.side_banner
{
    margin: 0 0 10px;

    border: #cfcfcf solid 1px;
    border-top: none;
}

.side_banner li
{
    margin: 0 0 5px;
}

.lmenu_container
{
    border: #f6f7f8 1px solid;
    border-radius: 3px;
}

.lmenu_title_block
{
    border-bottom: 1px solid #fff;
    background-color: #f6f7f8;
}

.lmenu_title_block.current p
{
    color: #f5a100 !important;
}

.lmenu_title_block.current p a
{
    color: #f5a100 !important;
}

.lmenu_title_block p
{
    font-size: 18px;

    display: block;

    padding: 15px 10px 15px 20px;

    text-decoration: none;

    color: #004ea2;
}

.lmenu_title_block p a
{
    font-size: 18px;

    display: block;

    text-decoration: none;

    color: #004ea2;
}

.lmenu_title_block p a:hover
{
    color: #f5a100;
}

.lmenu_block
{
    background-color: #f0f0f0;
}

.lmenu_block li
{
    padding: 15px 10px 15px 20px;
}

.lmenu_block li div p
{
    font-size: 18px;

    display: block;

    text-decoration: none;

    color: #004ea2;
}

.lmenu_block li a
{
    font-size: 18px;

    display: block;

    text-decoration: none;

    color: #004ea2;
}

.lmenu_block li a:hover
{
    color: #ee9300;
}

/* Foot Contents--------------------*/

/*#foot_pagetop {
	float: right;
	padding: 7px 0 0 14px;
	background: url(../../img/en/common/mark_arrow02.gif) 0 10px no-repeat;
	font-size: 88%;
}

#foot_pagetop a {
	color: #fff;
	text-decoration: none;
}

#foot_pagetop a:hover {
	text-decoration: underline
}
*/

#footer_block
{
    clear: both;

    width: 100%;
    margin: 0 auto;

    background: url(../../img/en/common/footer_bg.gif) top repeat-x;
}

#footer_box
{
    width: 980px;
    margin: 0 auto;
    padding: 40px 0;
}

#foot_logo
{
    float: left;

    margin: 0;

    _display: inline;
}

#foot_address
{
    font-style: normal;
    line-height: 1.4;

    float: left;

    margin: 2px 0 0 8px;
    padding-top: 10px;
}

#foot_address address
{
    font-size: 77%;
    font-style: normal;

    color: #666;
}

#foot_bt
{
    float: left;

    margin: 4px 0 0 10px;
}

#foot_copy
{
    font-size: 77%;

    float: right;

    margin: 0;
}

/* 汎用クラス--------------------*/

/* float */

.float_l
{
    float: left;
}

.float_r
{
    float: right;
}

img.float_l
{
    float: left;

    margin: 0 10px 10px 20px;

    _display: inline;
    /* for IE */
}

img.float_r
{
    float: right;

    margin: 0 20px 10px 10px;

    _display: inline;
    /* for IE */
}

/* text-align */

.align_c
{
    text-align: center !important;
}

.align_l
{
    text-align: left !important;
}

.align_r
{
    text-align: right !important;
}

/* font-size */

.font10
{
    font-size: 77%;
}

.font11
{
    font-size: 85%;
}

.font12
{
    font-size: 93%;
}

.font14
{
    font-size: 108%;
}

.font15
{
    font-size: 116%;
}

.font16
{
    font-size: 123.1%;
}

.font17
{
    font-size: 131%;
}

.font18
{
    font-size: 138.5%;
}

.font19
{
    font-size: 146.5%;
}

.font20
{
    font-size: 153.9%;
}

.font_tel
{
    font-size: 277%;
}

/* font-color */

.red
{
    color: #c00;
}

.green
{
    color: #5a9500;
}

.blue
{
    color: #0078d8;
}

.orange
{
    color: #f60;
}

/*margin--------------------*/

.mb05
{
    margin-bottom: 5px;
}

.mb10
{
    margin-bottom: 10px;
}

.mb15
{
    margin-bottom: 15px;
}

.mb20
{
    margin-bottom: 20px;
}

.mb25
{
    margin-bottom: 25px;
}

.mb30
{
    margin-bottom: 30px;
}

.mb40
{
    margin-bottom: 40px;
}

.mb50
{
    margin-bottom: 50px;
}

.mb60
{
    margin-bottom: 60px;
}

.mb75
{
    margin-bottom: 75px;
}

.mb80
{
    margin-bottom: 80px;
}

.mt05
{
    margin-top: 5px;
}

.mt10
{
    margin-top: 10px;
}

.mt15
{
    margin-top: 15px;
}

.mt20
{
    margin-top: 20px;
}

.mt30
{
    margin-top: 30px;
}

.mt40
{
    margin-top: 40px;
}

.mt50
{
    margin-top: 50px;
}

.mr04
{
    margin-right: 4px;
}

.mr05
{
    margin-right: 5px;
}

.mr08
{
    margin-right: 8px;
}

.mr10
{
    margin-right: 10px;
}

.mr12
{
    margin-right: 12px;
}

.mr15
{
    margin-right: 15px;
}

.mr20
{
    margin-right: 20px;
}

.mr35
{
    margin-right: 35px;
}

.ml05
{
    margin-left: 5px;
}

.ml10
{
    margin-left: 10px;
}

.ml15
{
    margin-left: 15px;
}

.ml20
{
    margin-left: 20px;
}

.ml21
{
    margin-left: 21px;
}

.ml30
{
    margin-left: 30px;
}

.ml40
{
    margin-left: 40px;
}

.ml50
{
    margin-left: 50px;
}

/*padding--------------------*/

.pt10
{
    padding-top: 10px;
}

.pt20
{
    padding-top: 20px;
}

.pt30
{
    padding-top: 30px;
}

.pt40
{
    padding-top: 40px;
}

.pb30
{
    padding-bottom: 30px;
}

.pb40
{
    padding-bottom: 40px;
}

/* padding */

.ptb10
{
    padding-top: 10px;
    padding-bottom: 10px;
}

.plr10
{
    padding-right: 10px;
    padding-left: 10px;
}

.plr20
{
    padding-right: 20px;
    padding-left: 20px;
}

/* 「※」付きテキスト */

.asterisk
{
    margin-left: 1em;

    text-indent: -1em;
}

/* text-align */

.align_c
{
    text-align: center !important;
}

.align_l
{
    text-align: left !important;
}

.align_r
{
    text-align: right !important;
}

/* font color */

.f_red
{
    color: #c00;
}

.f_brown
{
    color: #5d2b09;
}

.f_orange_b
{
    font-weight: bold;

    color: #f60;
}

/* clearfix */

.clearfix
{
    zoom: 1;
}

.clearfix:after
{
    display: block;
    clear: both;

    content: '';
}

.clear
{
    clear: both;
}

/* 追加 */

.w90
{
    width: 90%;
}

.w80
{
    width: 80%;
}

.w70
{
    width: 70%;
}

.w60
{
    width: 60%;
}

.w50
{
    width: 50%;
}

.w40
{
    width: 40%;
}

.w30
{
    width: 30%;
}

.w20
{
    width: 20%;
}

.w10
{
    width: 10%;
}

.c-text-link.ex-window:before
{
    display: inline-block;

    width: 16.5px;
    height: 22px;
    margin-right: 7px;

    content: '';
    vertical-align: middle;

    background: transparent url(../../../assets/images/common/external-link-alt-solid.svg) 0 0 no-repeat;
    background-size: 16.5px 22px;
}

.c-text-link a:after
{
    content: none !important;
}

@media (max-width: 767px)
{
    img
    {
        display: block;

        margin: 0 auto !important;
    }

    img.sp-fit
    {
        width: 100%;
        max-width: 600px;
        height: auto;
    }

    .last-contents
    {
        margin-bottom: 80px !important;
    }

    #side_contents
    {
        width: 100%;
        margin-bottom: 60px;
        margin-left: 0;
    }

    .float_l
    {
        float: none;
    }
}

.c-inline{
  display: inline !important;
}
