@charset "UTF-8";
/*
..........................................................
..........................................................

Master.css | Maruhan Style

..........................................................
..........................................................
*/

/*
..........................................................

Base

..........................................................
*/
body {
    font-size: 11pt;
    font-family: 'Roboto', sans-serif;
    font-family: 'Roboto Condensed', sans-serif;
    letter-spacing: 0.04em;
    line-height: 2.024;
    -webkit-font-smoothing: antialiased;
    background: #fff;
}
a:hover {
    opacity: .5;
}
#container {
    width: 100%;
    overflow-x: hidden;
}
#header {
    width: 100%;
    height: 60px;
    box-sizing: border-box;
    padding: 10px;
    margin: 0 auto;
    background: #fff;
    display: table;
    position: fixed;
    top: 0;
    z-index: 100;
}
    @media screen and (min-width: 768px) {
        #header {
            padding: 10px 20px;
        }
    }
#header h1 {
    width: 100px;
    height: 40px;
    display: table-cell;
    text-indent: -9999px;
    overflow: hidden;
    background: url(../img/brand_il01.jpg) left center no-repeat;
    background-size: 100% auto;
}
    @media screen and (max-width: 320px) {
        #header h1 {
            width: 50px;
        } 
    }
    @media screen and (min-width: 321px) and (max-width: 767px) {
        #header h1 {
            width: 60px;
        }
    }
#header h1 a {
    display: block;
    width: 100%;
    height: 100%;
}
#header #head-menu {
    display: table-cell;
    letter-spacing: -0.4em;
    font-size: 0;
    text-align: left;
    vertical-align: middle;
}
    @media screen and (min-width: 768px) {
        #header #head-menu {
            text-align: left;
            padding-left: 20px;
        }
    }
#header #head-menu li {
    display: inline-block;
    letter-spacing: 0.04em;
    font-size: 10pt;
    line-height: 120%;
    margin-left: 20px;
    vertical-align: top;
}
    @media screen and (max-width: 320px) {
        #header #head-menu li {
            font-size: 8pt;
            margin-left: 15px;
            overflow: hidden;
        }
    }
    @media screen and (min-width: 321px) and (max-width: 767px) {
        #header #head-menu li {
            font-size: 8pt;
            margin-left: 15px;
        }
    }
#header #head-menu li>a {
    font-weight: 600;
}
#header #head-menu dl {
    font-weight: normal;
    position: absolute;
    top: 60px;
    left: 0;
    display: none;
}
    @media screen and (max-width: 767px) {
        #header #head-menu dl {
            width: 100%;
        }
    }
    @media screen and (min-width: 768px) {
        .head-menu-about dl {
            left: 160px!important;
        }
        .head-menu-business dl {
            left: 268px!important;
        }
    }
#header #head-menu dd {
    /*display: none;*/
    background: #f8f8f8;
    box-sizing: border-box;
    padding: 10px;
    text-align: left;
}
#header #head-menu dd a {
    display: block;
    box-sizing: border-box;
    padding: 5px;
    width: 100%;
    border-bottom: 1px solid #fff;
}
#header #side-menu {
    display: table-cell;
    letter-spacing: -0.4em;
    font-size: 0;
    text-align: right;
    vertical-align: middle;
    width: 140px;
}
#header #side-menu li span {
    display: none;
}
    @media screen and (max-width: 767px) {
        #header #side-menu {
            width: 18px;
        }
        #header #side-menu li span {
            display: block;
            width: 18px;
            height: 18px;
            margin-left: 10px;
            transform-origin: center;
            -webkit-transition: .3s;
            -moz-transition: .3s;
            -ms-transition: .3s;
            transition: .3s;
        }
        #header #side-menu li span h3 {
            display: block;
            width: 100%;
            height: 1px;
            background: #2d2d2d;
            position: relative;
            top: 8px;
        }
        #header #side-menu li span:before {
            content: '';
            display: block;
            width: 100%;
            height: 1px;
            background: #2d2d2d;
            position: relative;
            top: 3px;
            -webkit-transition: .3s;
            -moz-transition: .3s;
            -ms-transition: .3s;
            transition: .3s;
        }
        #header #side-menu li span:after {
            content: '';
            display: block;
            width: 100%;
            height: 1px;
            background: #2d2d2d;
            position: relative;
            top: 13px;
            -webkit-transition: .3s;
            -moz-transition: .3s;
            -ms-transition: .3s;
            transition: .3s;
        }
        .sidemenu-active #header #side-menu li span h3 {
            display: none;
        }
        .sidemenu-active #header #side-menu li span:before {
            transform: rotate(30deg);
            top: 10px;
        }
        .sidemenu-active #header #side-menu li span:after {
            transform: rotate(-30deg);
            top: 9px;
        }
        #header #side-menu dl {
            width: 100%;
            margin-left: 0;
            text-align: left;
            background: #f8f8f8;
            position: absolute;
            top: 60px;
            left: 0;
            display: none;
        }
    }
	@media screen and (min-width: 768px) {
		#header #side-menu dl {
			display: block!important;
		}
	}
#header #side-menu dd {
    display: inline-block;
    letter-spacing: 0.04em;
    font-size: 9pt;
    line-height: 140%;
    margin-left: 20px;
    vertical-align: top;
}
    @media screen and (max-width: 767px) {
        #header #side-menu dd {
            display: block;
            margin-left: 0;
            font-size: 8pt;
        }
        #header #side-menu dd a {
            display: block;
            width: 100%;
            box-sizing: border-box;
            padding: 10px;
            text-align: left;
            border-bottom: 1px solid #fff;
        }
    }
#header #region-menu {
    display: table-cell;
    letter-spacing: -0.4em;
    font-size: 0;
    text-align: right;
    vertical-align: middle;
    width: 155px;
}
    @media screen and (min-width: 768px) {
        #header #region-menu {
            background: url(../img/icon_region.svg) no-repeat;
            background-size: 18px 18px;
            background-position: 35px 12px;
        }
    }
#header #region-menu li span {
    display: none;
}
    @media screen and (max-width: 767px) {
        #header #region-menu {
            width: 36px;
        }
        #header #region-menu li span {
            display: block;
            width: 21px;
            height: 21px;
            background: url(../img/icon_region.svg) center no-repeat;
            margin-left: 15px;
        }
        #header #region-menu dl {
            width: 100%;
            margin-left: 0;
            text-align: left;
            background: #f8f8f8;
            position: absolute;
            top: 60px;
            left: 0;
            display: none;
        }
    }
	@media screen and (min-width: 768px) {
		#header #region-menu dl {
			display: block!important;
		}
	}
#header #region-menu dd {
    display: inline-block;
    letter-spacing: 0.04em;
    font-size: 8pt;
    line-height: 140%;
    margin-left: 5px;
    padding-right: 5px;
    vertical-align: top;
    border-right: 1px solid #ccc;
}
#header #region-menu dd {
    border-right: 1px solid #ccc;
}
#header #region-menu dd:last-child {
    border: none;
}
    @media screen and (max-width: 767px) {
        #header #region-menu dd {
            display: block;
            margin-left: 0;
            font-size: 8pt;
        }
        #header #region-menu dd a {
            display: block;
            width: 100%;
            box-sizing: border-box;
            padding: 10px;
            text-align: left;
            border-bottom: 1px solid #fff;
        }
    }
#content {
    width: 100%;
    margin: 0 auto;
    margin-top: 60px;
    overflow-x: hidden; 
}
#content section {
    width: 100%;
    background: #fff;
}
#content section .section-inner {
    width: 100%;
}
#content section .section-inner article {
    width: 100%;
    max-width: 1024px;
    box-sizing: border-box;
    padding: 60px 40px;
    margin: 0 auto;
    clear: both;
}
    @media screen and (max-width: 767px) {
        #content section .section-inner article {
            padding: 40px 40px;
        }
    }
.category #content section .section-inner article {
    padding: 40px 40px;
}
.top #content section:nth-child(1) {
    background: #fff;
    position: relative;
    z-index: 0;
}
.top #content section:nth-child(2) {
    background: #222a35;
    color: #fff;
    position: relative;
    z-index: 1;
}
.top #content section:nth-child(2) .section-inner article {
    padding: 60px 40px;
}
    @media screen and (max-width: 767px) {
        .top #content section:nth-child(2) .section-inner article {
            padding: 40px 40px;
        }
    }
.top #content section:nth-child(3) {
    position: relative;
    z-index: 1;
}
.top #content section:nth-child(3) .section-inner article {
    padding: 60px 40px;
}
    @media screen and (max-width: 767px) {
        .top #content section:nth-child(3) .section-inner article {
            padding: 40px 40px;
        }
    }
.top #content section h3 {
    font-weight: 600!important;
}
.category #content section:nth-child(1) {
    background: #fff;
}
.category #content section:nth-child(2) {
    background: #fff;
    padding: 20px 0;
}
    @media screen and (max-width: 767px) {
        .category #content section:nth-child(2) {
            padding: 0;
        }
    }
.category #content section:nth-child(3) {
    background: #f8f8f8;
    padding: 20px 0;
}
    @media screen and (max-width: 767px) {
        .category #content section:nth-child(3) {
            padding: 0;
        }
    }
.category #content section:last-child h3 {
    font-weight: 600!important;
}
.detail #content section:nth-child(1) {
    background: #fff;
}
.detail #content section:nth-child(2) {
    background: #fff;
}
.detail #content section:nth-child(3) {
    background: #222a35;
    color: #fff;
}
.detail #content section:last-child {
    background: #f8f8f8;
    color: #000;
}
.detail #content section:last-child h3 {
    font-weight: 600!important;
}
.top .key-visual {
    width: 100%;
    height: 36vw;
    background: #fff;
    background-size: cover;
}
    @media screen and (max-width: 767px) {
        .top .key-visual video {
            display: none;
        }
        .top .key-visual {
            background: url(../img/keyvisual_top.jpg) center no-repeat;
            background-size: cover;
            height: 70vh;
        }
    }
.top .key-visual video {
    width: 100%;
    position: relative;
    top: -18vw;
    z-index: 0;
    background-color: #fff;
}
.category .key-visual {
    width: 100%;
    height: 24vw;
}
    @media screen and (max-width: 767px) {
        .category .key-visual {
            height: 40vw;
        }
    }
.category.biz .key-visual {
    background: url(../img/keyvisual_biz.jpg) top center no-repeat;
    background-size: cover;
}
.category.about .key-visual {
    background: url(../img/keyvisual_about.jpg) top center no-repeat;
    background-size: cover;
}
.detail .key-visual {
    width: 100%;
    height: 120px;
    background: #e70012;
    background-size: cover;
}
    @media screen and (max-width: 767px) {
        .detail .key-visual {
            height: 90px;
            padding: 20px;
        }
    }
.top #content section .copy {
    width: 100%;
    overflow: hidden; 
    position: absolute;
    top: 50%;
    z-index: 1;
    -webkit-transform: translateY(-50%); 
    -moz-transform: translateY(-50%); 
    -ms-transform: translateY(-50%); 
    transform: translateY(-50%);
}
.top #content section .copy-inner {
    display: block;
    width: 100%;
    padding: 40px 0;
    background: rgba(231,0,18,.8);
    position: relative;
    top: 0;
    z-index: 1;
    -webkit-animation: bgfadein 4s;
    -moz-animation: bgfadein 4s;
    animation: bgfadein 4s;
}
    @media screen and (max-width: 767px) {
        .top #content section .copy-inner {
            padding: 20px 0;
        }
    }
    @-webkit-keyframes bgfadein {
        0% {background: rgba(231,0,18,0);}
        80% {background: rgba(231,0,18,0);}
        100% {background: rgba(231,0,18,.8);}
    }
    @-moz-keyframes bgfadein {
        0% {background: rgba(231,0,18,0);}
        80% {background: rgba(231,0,18,0);}
        100% {background: rgba(231,0,18,.8);}
    }
    @keyframes bgfadein {
        0% {background: rgba(231,0,18,0);}
        80% {background: rgba(231,0,18,0);}
        100% {background: rgba(231,0,18,.8);}
    }
.top #content section .copy:before {
    display: block;
    content:"";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
    z-index: 0;
    border-top: 1px solid #e70012;
    -webkit-animation: bdrightin 4s ease-in;
    -moz-animation: bdrightin 4s ease-in;
    animation: bdrightin 4s ease-in;
}
    @-webkit-keyframes bdrightin {
        0% {width: 0%;right: 0;}
        70% {width: 0%;right: 0;}
        80% {width: 100%;right: 0;}
        90% {width: 100%;right: 100%;}
        100% {width: 100%;right: 100%;}
    }
    @-moz-keyframes bdrightin {
        0% {width: 0%;right: 0;}
        70% {width: 0%;right: 0;}
        80% {width: 100%;right: 0;}
        90% {width: 100%;right: 100%;}
        100% {width: 100%;right: 100%;}
    }
    @keyframes bdrightin {
        0% {width: 0%;right: 0;}
        70% {width: 0%;right: 0;}
        80% {width: 100%;right: 0;}
        90% {width: 100%;right: 100%;}
        100% {width: 100%;right: 100%;}
    }
.top #content section .copy:after {
    display: block;
    content:"";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 0;
    border-bottom: 1px solid #e70012;
    -webkit-animation: bdleftin 4s ease-in;
    -moz-animation: bdleftin 4s ease-in;
    animation: bdleftin 4s ease-in;
}
    @-webkit-keyframes bdleftin {
        0% {width: 0%;left: 0;}
        70% {width: 0%;left: 0;}
        80% {width: 100%;left: 0;}
        90% {width: 100%;left: 100%;}
        100% {width: 100%;left: 100%;}
    }
    @-moz-keyframes bdleftin {
        0% {width: 0%;left: 0;}
        70% {width: 0%;left: 0;}
        80% {width: 100%;left: 0;}
        90% {width: 100%;left: 100%;}
        100% {width: 100%;left: 100%;}
    }
    @keyframes bdleftin {
        0% {width: 0%;left: 0;}
        70% {width: 0%;left: 0;}
        80% {width: 100%;left: 0;}
        90% {width: 100%;left: 100%;}
        100% {width: 100%;left: 100%;}
    }
    @media screen and (max-width: 767px) {
        .top #content section .copy {
        }
    }
.top .key-visual h1 {
    display: inline-block;
    width: 100vw;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    text-align: center;
    color: #fff;
    letter-spacing: 0.02em;
    font-size: 300%;
    font-weight: 400;
    line-height: 100%;
    opacity:  1;
    -webkit-animation: hfadein 4s ease-out;
    -moz-animation: hfadein 4s ease-out;
    animation: hfadein 4s ease-out;
    vertical-align: middle;
}
    @media screen and (max-width: 767px) {
        .top .key-visual h1 {
            font-size: 240%;
        }
    }
    @-webkit-keyframes hfadein {
        0% {opacity: 0; left: 0;}
        40% {opacity: 1; left: 0;}
        100% {opacity: 1; left: 0;}
    }
    @-moz-keyframes hfadein {
        0% {opacity: 0; left: 0;}
        40% {opacity: 1; left: 0;}
        100% {opacity: 1; left: 0;}
    }
    @keyframes hfadein {
        0% {opacity: 0; left: 0;}
        40% {opacity: 1; left: 0;}
        100% {opacity: 1; left: 0;}
    }
.category .key-visual h1, .detail .key-visual h1 {
    display: block;
    width: 100%;
    position: relative;
    top: 50%;
    z-index: 1;
    -webkit-transform: translateY(-50%); 
    -moz-transform: translateY(-50%); 
    -ms-transform: translateY(-50%); 
    transform: translateY(-50%);
    text-align: center;
    color: #fff;
    font-size: 400%;
    font-weight: 400;
    line-height: 140%;
}
    @media screen and (max-width: 767px) {
        .category .key-visual h1, .detail .key-visual h1 {
            font-size: 240%;
        }
    }
.top .key-visual span {
    display: inline-block;
    padding: 0 1vw 0 2vw;
}
@media screen and (max-width: 767px) {
    .top .key-visual p {
        display: block;
        width: 80vw;
        height: auto;
        margin: 0 auto;
        overflow: hidden;
        box-sizing: border-box;
        position: relative;
        margin-top: 20px;
        z-index: 1;
        letter-spacing: 0.05em;
        font-size: 12pt;
        line-height: 160%;
        color: #fff;
        text-align: center;
        vertical-align: middle;
        opacity:  1;
        -webkit-animation: cfadein_sp 4s;
        -moz-animation: cfadein_sp 4s;
        animation: cfadein_sp 4s;
    }
}
    @-webkit-keyframes cfadein_sp {
        0% {opacity: 0;height: 0em;margin-top: 0px;}
        50% {opacity: 0;height: 0em;margin-top: 0px;}
        70% {opacity: 0;height: auto;margin-top: 20px;}
        80% {opacity: 1;height: auto;margin-top: 20px;}
        100% {opacity: 1;height: auto;margin-top: 20px;}
    }
    @-moz-keyframes cfadein_sp {
        0% {opacity: 0;height: 0em;margin-top: 0px;}
        50% {opacity: 0;height: 0em;margin-top: 0px;}
        70% {opacity: 0;height: auto;margin-top: 20px;}
        80% {opacity: 1;height: auto;margin-top: 20px;}
        100% {opacity: 1;height: auto;margin-top: 20px;}
    }
    @keyframes cfadein_sp {
        0% {opacity: 0;height: 0em;margin-top: 0px;}
        50% {opacity: 0;height: 0em;margin-top: 0px;}
        70% {opacity: 0;height: auto;margin-top: 20px;}
        80% {opacity: 1;height: auto;margin-top: 20px;}
        100% {opacity: 1;height: auto;margin-top: 20px;}
    }
@media screen and (min-width: 768px) {
    .top .key-visual p {
        display: inline-block;
        width: 40vw;
        max-height: 6.4em;
        overflow: hidden;
        box-sizing: border-box;
        position: relative;
        top: -0.3em;
        z-index: 1;
        letter-spacing: 0.05em;
        font-size: 14pt;
        line-height: 160%;
        color: #fff;
        text-align: left;
        vertical-align: middle;
        opacity:  1;
        -webkit-animation: cfadein 4s;
        -moz-animation: cfadein 4s;
        animation: cfadein 4s;
    }
}
    @-webkit-keyframes cfadein {
        0% {opacity: 0;width: 0vw;}
        50% {opacity: 0;width: 0vw;}
        70% {opacity: 0;width: 40vw;}
        80% {opacity: 1;width: 40vw;}
        100% {opacity: 1;width: 40vw;}
    }
    @-moz-keyframes cfadein {
        0% {opacity: 0;width: 0vw;}
        50% {opacity: 0;width: 0vw;}
        70% {opacity: 0;width: 40vw;}
        80% {opacity: 1;width: 40vw;}
        100% {opacity: 1;width: 40vw;}
    }
    @keyframes cfadein {
        0% {opacity: 0;width: 0vw;}
        50% {opacity: 0;width: 0vw;}
        70% {opacity: 0;width: 40vw;}
        80% {opacity: 1;width: 40vw;}
        100% {opacity: 1;width: 40vw;}
    }
.top .key-visual .circle {
	display: block;
	width: 60vw;
	height: 60vw;
    position: absolute;
    top: 50%;
    left: 20%;
    opacity: 0;
	border-radius: 50%;
    -webkit-transform: translateY(-50%); 
    -moz-transform: translateY(-50%); 
    -ms-transform: translateY(-50%); 
    transform: translateY(-50%);
	background: #e70012;
    -webkit-animation: cmove 16s infinite;
    -moz-animation: cmove 16s infinite;
    animation: cmove 16s infinite;
}
    @media screen and (max-width: 767px) {
        .top .key-visual .circle {
            width: 80vw;
            height: 80vw;
        }
    }
    @-webkit-keyframes cmove {
        0% {opacity: 0;top: 50%;left: 20%;}
        21% {opacity: 0;}
        25% {opacity: .9;top: 0;left: -10%;}
        50% {opacity: .9;top: 50%;left: 30%;}
        75% {opacity: 0;top: 0;left: 50%;}
        100% {opacity: 0;top: 50%;left: 20%;}
    }
    @-moz-keyframes cmove {
        0% {opacity: 0;top: 50%;left: 20%;}
        21% {opacity: 0;}
        25% {opacity: .9;top: 0;left: -10%;}
        50% {opacity: .9;top: 50%;left: 30%;}
        75% {opacity: 0;top: 0;left: 50%;}
        100% {opacity: 0;top: 50%;left: 20%;}
    }
    @keyframes cmove {
        0% {opacity: 0;top: 50%;left: 20%;}
        21% {opacity: 0;}
        25% {opacity: .9;top: 0;left: -10%;}
        50% {opacity: .9;top: 50%;left: 30%;}
        75% {opacity: 0;top: 0;left: 50%;}
        100% {opacity: 0;top: 50%;left: 20%;}
    }
.detail .key-visual h1 {
    font-size: 200%;
}
    @media screen and (max-width: 767px) {
        .detail .key-visual h1 {
            font-size: 140%;
        }
    }
#content section h3 {
    font-size: 120%;
    font-weight: 400;
    line-height: 140%;
}
.detail #content section h3 {
    margin-bottom: 30px!important;
    font-weight: 600;
}
.detail #content section:nth-child(3) h3 {
    margin-top: 0!important;
    margin-bottom: 0!important;
    font-weight: 400;
}
.detail #content section .text {
    font-size: 100%;
    clear: both;
}
.top #content section .desc {
    width: 100%;
    margin-top: 20px;
    display: block;
}
.top #content section:nth-child(2) a {
    color: #fff;
}
.top #content .biz-list {
    width: 100%;
    letter-spacing: -0.4em;
    font-size: 0;
}
.top #content .biz-list li {
    display: inline-block;
    width: 50%;
    letter-spacing: normal;
    font-size: 10pt;
    box-sizing: border-box;
    margin-top: 40px;
    vertical-align: top;
}
.top #content .biz-list li:nth-child(2n+1) {
    padding-right: 20px;
}
.top #content .biz-list li:nth-child(2n+2) {
    padding-left: 20px;
}
    @media screen and (max-width: 767px) {
        .top #content .biz-list li:nth-child(2n+1) {
            padding-right: 10px;
        }
        .top #content .biz-list li:nth-child(2n+2) {
            padding-left: 10px;
        }
    }
.top #content .biz-list li .thumb {
    display: table-cell;
    width: 140px;
    vertical-align: middle;
}
    @media screen and (max-width: 767px) {
        .top #content .biz-list li .thumb {
            display: block;
            padding: 0;
            padding-bottom: 10px;
            margin: 0 auto;
        }
    }
.top #content .biz-list li .thumb img {
    width: 100%;
    height: 80px;
}
.top #content .biz-list li .caption {
    display: table-cell;
    box-sizing: border-box;
    line-height: 140%;
    padding-left: 20px;
    vertical-align: middle;
}
    @media screen and (max-width: 767px) {
        .top #content .biz-list li .caption {
            display: block;
            padding: 0;
        }
    }
.top #content .biz-list li .caption h5 {
    font-size: 120%;
    line-height: 160%;
    margin-bottom: 15px;
}
    @media screen and (max-width: 767px) {
        .top #content .biz-list li .caption h5 {
            width: 100%;
            text-align: center;
        }
    }
#content .info-list {
    width: 100%;
    letter-spacing: -0.4em;
    font-size: 0;
    margin-top: 20px;
}
    @media screen and (max-width: 767px) {
        #content .info-list {
            margin-top: 0;
        }
    }
#content .info-list li {
    display: inline-block;
    letter-spacing: normal;
    font-size: 10pt;
    box-sizing: border-box;
    margin-top: 20px;
    vertical-align: top;
}
    @media screen and (max-width: 767px) {
        #content .info-list li {
            margin-top: 40px;
        }
    }
#content .info-list li .thumb {
    display: table-cell;
    width: 60px;
    vertical-align: middle;
}
    @media screen and (max-width: 767px) {
        #content .info-list li .thumb {
            display: block;
            padding: 0;
            padding-bottom: 10px;
            margin: 0 auto;
        }
    }
#content .info-list li .thumb img {
    width: 100%;
    height: 60px;
}
#content .info-list li .caption {
    display: table-cell;
    box-sizing: border-box;
    line-height: 140%;
    padding-left: 20px;
    vertical-align: middle;
}
    @media screen and (max-width: 767px) {
        #content .info-list li .caption {
            display: block;
            padding: 0;
            text-align: center;
        }
    }
#content .info-list li .caption h5 {
    font-size: 120%;
    line-height: 160%;
    margin-bottom: 5px;
}

    @media screen and (max-width: 767px) {
        #content .info-list li {
            width: 50%;
        }
        #content .info-list li:nth-child(2n+1) {
            padding-right: 10px;
        }
        #content .info-list li:nth-child(2n+2) {
            padding-left: 10px;
        }
        #content .info-list li .thumb {
            width: 40px;
        }
        #content .info-list li .thumb img {
            height: 40px;
        }
    }
    @media screen and (min-width: 768px) {
        #content .info-list li {
            width: 30%;
        }
        #content .info-list li:nth-child(3n+1) {
            margin-right: 5%;
        }
        #content .info-list li:nth-child(3n+3) {
            margin-left: 5%;
        }
    }
@media screen and (min-width: 768px) {
    .floatl {
        float: left;
        width: 50%;
        margin: 40px;
        margin-left: 0;
        margin-top: 0;
        vertical-align: top;
    }
}
@media screen and (max-width: 767px) {
    .floatl {
        width: 100%;
        margin-bottom: 30px;
    }
}
.clear {
    clear: both;
}
    @media screen and (max-width: 767px) {
        .CSR .clear {
            display: none;
        }
    }
.about .text img {
    width: 280px;
    margin-right: 40px;
    margin-bottom: 1em;
    vertical-align: top;
    float: left;
}
    @media screen and (max-width: 767px) {
        .about .text img {
            width: 100%;
            margin-right: 0;
            margin-bottom: 20px;
            float: none;
            clear: both;
        }
    }
.about .text img[class=large] {
    width: 480px;
}
.vision .text-feature img {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    float: none;
    clear: both;
}
.biz .text img {
    width: 100%;
    margin-bottom: 40px;
    clear: both;
}
    @media screen and (max-width: 767px) {
        .biz .text img {
            margin-bottom: 30px;
        }
    }
.biz .text img[class=insert] {
    width: 50%;
    max-width: 280px;
    margin: 0;
    margin-left: 40px;
    margin-bottom: 1em;
    float: right;
    vertical-align: top;
    position: relative;
    top: 10px;
}
    @media screen and (max-width: 767px) {
        .biz .text img[class=insert] {
            width: 100%;
            max-width: 100%;
            margin: 0;
            margin-bottom: 30px;
            clear: both;
            position: relative;
            top: 0;
        }
    }
.pachinko .text img[class=insert] {
    max-width: 220px;
    margin-bottom: 40px!important;
    position: relative;
    top: 20px;
}
    @media screen and (max-width: 767px) {
        .pachinko .text img[class=insert] {
            width: 100%;
            max-width: 100%;
            margin: 0;
            margin-bottom: 30px!important;
            clear: both;
            position: relative;
            top: 0;
        }
    }
@media screen and (max-width: 767px) {
    .biz .photo-tbl {
        width: 100%;
        display: block;
        margin-top: 30px;
        margin-bottom: 0;
    }
    .biz .photo-tbl li {
        width: 100%;
        box-sizing: border-box;
        display: block;
    }
}
@media screen and (min-width: 768px) {
    .biz .photo-tbl {
        width: 100%;
        display: table;
        margin-top: 40px;
        margin-bottom: 0;
    }
    .biz .photo-tbl li {
        width: 50%;
        box-sizing: border-box;
        display: table-cell;
    }
    .biz .photo-tbl li:nth-child(2n+1) {
        padding-right: 20px;
    }
    .biz .photo-tbl li:nth-child(2n+2) {
        padding-left: 20px;
    }
}
.article-visual {
    width: 100%;
    display: block;
    margin-bottom: 60px;
    letter-spacing: -0.4em;
    font-size: 0;
}
    @media screen and (max-width: 767px) {
        .article-visual {
            margin-bottom: 30px;
        }
    }
.article-visual img {
    width: 100%;
    vertical-align: top;
    clear: both;
}
@media screen and (max-width: 767px) {
    .article-visual div {
        display: block;
        font-size: 11pt;
        line-height: 180%;
        box-sizing: border-box;
    }
    .article-visual .photo {
        width: 100%;
        margin-bottom: 20px;
    }
    .article-visual .photo img {
        width: 100%;
    }
    .article-visual .profile {
        width: 100%;
    }
}
@media screen and (min-width: 768px) {
    .article-visual div {
        display: inline-block;
        letter-spacing: 0.05em;
        font-size: 11pt;
        box-sizing: border-box;
        vertical-align: top;
    }
    .article-visual .photo {
        width: 30%;
    }
    .article-visual .photo img {
        width: 100%;
    }
    .article-visual .profile {
        width: 70%;
        padding-left: 40px;
    }
}
.article-visual h3 p {
    margin-top: 5px;
    font-weight: 400;
    font-size: 80%;
}
.article-visual h6 {
    font-weight: 400;
    font-size: 120%;
    line-height: 180%;
    margin-bottom: 10px;
    margin-top: 30px;
}
.article-visual h6:first-child {
    margin-top: 0;
}
.vision .article-visual {
    margin-top: 30px;
    margin-bottom: 40px!important;
    padding-bottom: 20px;
    text-align: center;
}
.info-tbl ul {
    width: 100%;
}
.info-tbl ul li {
    width: 100%;
    display: table;
    margin-bottom: 40px;
}
    @media screen and (max-width: 767px) {
        .info-tbl ul li {
            display: block;
            margin-bottom: 20px;
        }
    }
.info-tbl ul li:last-child {
    margin-bottom: 0;
}
.info-tbl ul li div {
    display: table-cell;
    box-sizing: border-box;
    vertical-align: top;
}
    @media screen and (max-width: 767px) {
        .info-tbl ul li div {
            display: block;
        }
    }
.info-tbl ul li .tbl-title {
    width: 20%;
    border-right: 1px solid #ccc;
    font-weight: bold;
}
    @media screen and (max-width: 767px) {
        .info-tbl ul li .tbl-title {
            width: 100%;
            border: none;
            border-bottom: 1px solid #ccc;
            padding-bottom: 10px;
        }
    }
.info-tbl ul li .tbl-content {
    width: 80%;
    padding-left: 40px;
}
.info-tbl ul li .tbl-content a {
    display: inline-block;
    line-height: 180%;
    text-decoration: underline; 
}
    @media screen and (max-width: 767px) {
        .info-tbl ul li .tbl-content {
            width: 100%;
            padding: 0;
            margin-top: 10px;
        }
        .info-tbl ul li .tbl-content a {
            display: inline-block;
        }
    }
/*.site a:after {
    content: "[ Site ]";
    margin-left: 5px;
    font-size: 8pt;
    font-weight: 400!important;
    display: inline-block;
}*/
@media screen and (max-width: 767px) {
    .inner-tbl {
        width: 100%;
        padding: 0 5px;
    }
    .inner-tbl li {
        width: 100%;
        display: block;
        margin-bottom: 0!important;
    }
    .inner-tbl li div {
        display: block;
        box-sizing: border-box;
        vertical-align: top;
        padding: 10px;
    }
    .inner-tbl li .inner-tbl-title {
        width: 100%;
        font-weight: bold;
        font-size: 90%;
        text-align: left;
        padding-bottom: 0!important;
    }
    .inner-tbl li .inner-tbl-content {
        width: 100%;
        padding-top: 0!important;
    }
}
@media screen and (min-width: 768px) {
    .inner-tbl li {
        width: 100%;
        display: table;
        margin-bottom: 0!important;
    }
    .inner-tbl li:last-child {
        border-bottom: 1px solid #ccc;
    }
    .inner-tbl li div {
        display: table-cell;
        box-sizing: border-box;
        vertical-align: top;
        padding: 10px;
        border-left: 1px solid #ccc;
        border-top: 1px solid #ccc;
    }
    .inner-tbl li .inner-tbl-title {
        width: 15%;
        font-weight: bold;
        font-size: 90%;
        text-align: center;
    }
    .inner-tbl li .inner-tbl-content {
        width: 85%;
        border-right: 1px solid #ccc;
    }
}

.info-tbl img {
    margin-bottom: 20px;
}
.info-tbl h5 {
    margin-bottom: 10px;
}
.info-tbl .link {
    font-size: 70%;
    margin-left: 5px;
}
.report-tbl {
    width: 100%;
}
.text-indent {
    width: 80%;
    margin: auto;
    margin-top: 60px;
    margin-bottom: 60px;
}
.text-feature h3 {
    margin-bottom: 0;
    font-size: 160%!important;
}
.text-feature h5 {
    font-size: 110%;
    font-weight: 600!important;
    margin-top: 40px;
    margin-bottom: 20px;
}
.vision .text-feature h5 {
    font-size: 120%;
    font-weight: 600!important;
    margin-top: 40px;
    margin-bottom: 0;
}
.vision .text-feature h6 {
    font-size: 120%;
    font-weight: 400!important;
    line-height: 160%;
    margin-top: 20px;
    margin-bottom: 10px;
}
.text-feature img {
    margin-top: 40px;
}
.IR .text-feature img {
    width: 100%;
    margin-top: 0;
    clear: both;
    margin-bottom: 40px;
}
.IR .text-feature img[class="small"] {
    width: 100%;
    max-width: 480px;
    float: none;
    clear: both;
    margin: auto;
    margin-top: 0;
    margin-bottom: 0;
}
.text-feature dd:before {
    content: "・";
    margin-right: 5px;
}
.vision .text-feature dd:before {
    display: none;
    content: "";
    margin-right: 0;
}
@media screen and (min-width: 768px) {
    .vision .text-feature dl {
        letter-spacing: normal;
        font-size: 0;
    }
    .vision .text-feature dd {
        display: inline-block;
        width: 50%;
        font-size: 10pt;
        letter-spacing: 0.05em;
        vertical-align: top;
        box-sizing: border-box;
    }
    .vision .text-feature dd:nth-child(2n+1) {
        padding-right: 20px;
    }
    .vision .text-feature dd:nth-child(2n+2) {
        padding-left: 20px;
    }
}
.text-feature ul {
    margin-top: 0;
}
.IR .text-feature ul li {
    text-align: center;
}
@media screen and (max-width: 767px) {
    .IR .text-feature ul li .list {
        display: block;
        width: 100%;
    }
    .IR .text-feature ul li .list li {
        display: block;
        width: 100%;
        letter-spacing: 0.05em;
        font-size: 11pt;
        line-height: 180%;
    }
}
@media screen and (min-width: 768px) {
    .IR .text-feature ul li .list {
        display: block;
        width: 100%;
        letter-spacing: -0.4em;
        font-size: 0;
    }
    .IR .text-feature ul li .list li {
        display: inline-block;
        width: 50%;
        letter-spacing: 0.05em;
        font-size: 11pt;
        vertical-align: top;
    }
    .IR .text-feature ul li .list li:nth-child(2n+1) {
        padding-right: 20px;
    }
    .IR .text-feature ul li .list li:nth-child(2n+2) {
        padding-left: 20px;
    }
}
.IR .text-feature h5 {
    text-align: left;
}
.report-tbl li{
    border-right: 1px solid #ccc;
}
.report-tbl li:first-child {
    background: #f8f8f8;
    font-weight: 600;
}
.report-tbl li:last-child {
    border-bottom: 1px solid #ccc;
}
.report-tbl dl {
    width: 100%;
    display: table;
    line-height: 180%;
}
/*
.report-tbl dl dt {
    width: 200px;
    display: table-cell;
    box-sizing: border-box;
    vertical-align: top;
    padding: 10px;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
}
*/
.report-tbl dl dt {
    width: 20%;
    display: table-cell;
    box-sizing: border-box;
    vertical-align: top;
    padding: 10px;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
}
.report-tbl dl dt.label{
    width: 20%;
    display: table-cell;
    box-sizing: border-box;
    vertical-align: top;
    padding: 10px;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
}

    @media screen and (max-width: 767px) {
        .report-tbl dl dt {
            width: 110px;
        }
    }
/*
.report-tbl dl dd {
    display: table-cell;
    box-sizing: border-box;
    vertical-align: top;
    padding: 10px;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
}
*/
.report-tbl dl dd {
    width: 40%;
    display: table-cell;
    box-sizing: border-box;
    vertical-align: top;
    padding: 10px;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
}
.report-tbl dl dd.label {
    width: 80%;
    display: table-cell;
    box-sizing: border-box;
    vertical-align: top;
    padding: 10px;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
}
.report-tbl dl dd:before {
    content: ""!important;
    margin-right: 0!important;
}
.report-tbl dl dd a:after {
    content: "[ PDF ]";
    margin-left: 5px;
    font-size: 8pt;
}
.top-caption {
    font-size: 120%;
    font-weight: 400;
    line-height: 220%;
}
    @media screen and (max-width: 767px) {
        .top-caption {
            font-size: 110%;
            line-height: 200%;
        }
    }
.CSR .text-feature ul {
    clear: both;
    line-height: 180%;
}
.CSR .text-feature ul li {
    clear: both;
    margin-top: 20px;
}
.CSR .text-feature ul li:last-child {
    margin-bottom: 0;
}
@media screen and (max-width: 767px) {
    .CSR .text-feature ul li {
        margin-bottom: 10px;
    }
    .CSR .text-feature .list {
        width: 100%;
    }
    .CSR .text-feature .list>li {
        display: block;
        width: 100%;
        box-sizing: border-box;
        font-size: 100%;
        margin: 0;
    }
}
@media screen and (min-width: 768px) {
    .CSR .text-feature .list {
        width: 100%;
        letter-spacing: -0.4em;
        font-size: 0;
    }
    .CSR .text-feature .list>li {
        display: inline-block;
        width: 50%;
        box-sizing: border-box;
        letter-spacing: 0.04em;
        font-size: 11pt;
        line-height: 180%;
        margin: 0;
        margin-bottom: 20px;
        vertical-align: top;
    }
    .CSR .text-feature .list>li:nth-child(2n+1) {
        padding-right: 20px;
    }
    .CSR .text-feature .list>li:nth-child(2n+2) {
        padding-left: 20px;
    }
}
@media screen and (max-width: 767px) {
    .CSR .text-feature .list>dd {
        display: block;
        width: 100%;
        box-sizing: border-box;
        font-size: 11pt;
        line-height: 180%;
        margin: 0;
        margin-bottom: 0;
    }
    .CSR .text-feature .num-list>dd {
        margin-bottom: 20px!important;
    }
    .CSR .text-feature .num-list {
        margin-bottom: 20px;
    }
}
@media screen and (min-width: 768px) {
    .CSR .text-feature .list>dd {
        display: inline-block;
        width: 50%;
        box-sizing: border-box;
        letter-spacing: 0.04em;
        font-size: 11pt;
        line-height: 180%;
        margin: 0;
        margin-bottom: 20px;
        vertical-align: top;
    }
    .CSR .text-feature .num-list>dd {
        margin-bottom: 20px!important;
    }
    .CSR .text-feature .num-list {
        margin-bottom: 60px;
    }
    .CSR .text-feature .list>dd:nth-child(2n+1) {
        padding-right: 20px;
    }
    .CSR .text-feature .list>dd:nth-child(2n+2) {
        padding-left: 20px;
    }
}
    @media screen and (max-width: 767px) {
        .CSR .text-feature li .list>li {
            display: block;
            margin-bottom: 20px;
            line-height: 180%;
        }
    }
.CSR .text-feature ul li dl {
    clear: both;
}
.CSR .text-feature ul li dl dd {
    clear: both;
}
.CSR .text-feature ul li dl dd:before {
    content: ""!important;
    margin-right: 0!important;
}
.CSR .text-feature ul li ol {
    width: 100%;
    box-sizing: border-box;
    padding: 0 10px;
    line-height: 180%;
    margin-top: 10px;
}
    @media screen and (max-width: 767px) {
        .CSR .text-feature ul li ol {
            margin-top: 20px;
            margin-bottom: 20px;
        }
    }
.CSR .text-feature ul li ol li {
    list-style-type: disc;
    list-style-position: outside;
    margin-left: 1em;
}
.CSR .text-feature img {
    width: 280px;
    vertical-align: middle;
    margin-top: 0;
    margin-right: 40px;
    margin-bottom: 40px;
}
    @media screen and (max-width: 767px) {
        .CSR .text-feature img {
            width: 100%;
            margin: 0;
            margin-bottom: 20px;
        }
    }
.CSR .text-feature ul li .list>li img, .CSR .text-feature ul li .list>dd img {
    width: 100%;
    vertical-align: middle;
    margin: 0;
    margin-bottom: 11px; 
}
.CSR .text-feature ul li .list.mgn-top {
    margin-top: 40px!important;
}
    @media screen and (max-width: 767px) {
        .CSR .text-feature ul li .list.mgn-top {
            margin-top: 30px!important;
        }
    }
.CSR .text-feature img[class="small"] {
    width: 100%;
    max-width: 180px;
    float: none!important;
    clear: both;
    margin: auto;
    margin-top: 0;
    margin-bottom: 0;
}
.CSR .text-feature .caption {
    font-size: 120%;
    line-height: 220%;
    margin-bottom: 40px;
}
    @media screen and (max-width: 767px) {
        .CSR .text-feature .caption {
            display: block;
            font-size: 100%;
            line-height: 180%;
            margin-bottom: 20px;
        }
    }
.CSR .text-feature h5 {
    font-size: 160%;
    margin: 40px 0;
    line-height: 160%;
}
    @media screen and (max-width: 767px) {
        .CSR .text-feature h5 {
            font-size: 120%;
            margin: 40px 0 20px;
        }
    }
.CSR .text-feature h6 {
    font-size: 140%;
    font-weight: 400;
    margin: 20px 0;
    line-height: 160%;
}
    @media screen and (max-width: 767px) {
        .CSR .text-feature h6 {
            font-size: 120%;
            margin: 20px 0;
        }
    }
.CSR .text img {
    vertical-align: middle;
    float: left;
}
    @media screen and (max-width: 767px) {
        .CSR .text img {
            float: none;
            clear: both;
        }
    }
.mgn-top {
    margin-top: 40px;
}
    @media screen and (max-width: 767px) {
        .mgn-top {
            margin-top: 20px;
        }
    }
.biz h5 {
    font-size: 140%;
    margin-bottom: 20px;
    line-height: 160%;
}
    @media screen and (max-width: 767px) {
        .biz h6 {
            margin-top: 40px;
        }
    }

@media screen and (max-width: 767px) {
    .financial .text-feature .list {
        width: 100%;
        margin-top: 40px;
    }
    .financial .text-feature .list>li {
        display: block;
        width: 100%;
        box-sizing: border-box;
        font-size: 11pt;
        line-height: 180%;
        margin: 0;
    }
    .financial .note {
        width: 100%;
        margin-top: 30px;
        text-align: right;
        font-size: 90%;
        font-weight: 600;
    }
}
@media screen and (min-width: 768px) {
    .financial .text-feature .list {
        width: 100%;
        letter-spacing: -0.4em;
        font-size: 0;
        margin-top: 40px;
    }
    .financial .text-feature .list>li {
        display: inline-block;
        width: 50%;
        box-sizing: border-box;
        letter-spacing: 0.04em;
        font-size: 11pt;
        margin: 0;
        margin-bottom: 0;
        vertical-align: middle;
    }
    .financial .text-feature .list>li:nth-child(2n+1) {
        padding-right: 20px;
    }
    .financial .text-feature .list>li:nth-child(2n+2) {
        padding-left: 20px;
    }
    .financial .note {
        width: 100%;
        margin-top: 40px;
        text-align: right;
        font-size: 90%;
        font-weight: 600;
        padding-top: 10px;
        border-top: 1px solid #ccc;
    }
}
.financial #content section h3 {
    margin-bottom: 5px!important;
}
.privacy .indent {
    width: 100%;
    box-sizing: border-box;
    padding: 0 10px;
    margin: 20px 0 2em; 
    font-size: 90%;
    line-height: 180%;
}
.privacy .indent ul li {
    margin-bottom: 20px; 
}
.privacy .indent ol li {
    margin-top: 10px;
    list-style-type: disc;
    list-style-position: inside;
}
/*

Form

*/
.form {
    width: 100%;
    max-width: 580px;
    margin: 0 auto;
}
form label {
    width: 100%;
    display: inline-block;
    margin-top: 40px;
}
form input {
    min-width: 320px;
    font-size: 100%;
    line-height: normal;
    padding: 8px;
    box-sizing: border-box;
}
#comments {
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
    font-size: 100%;
    border: 1px solid #ccc;
    box-shadow: none;
}
.form span {
    display: block;
    margin: 0;
    padding: 0;
    margin-top: 10px;
    border-top: 1px solid #ccc;
    padding-top: 10px;
} 
.form .btn {
    width: 100%;
    display: block;
    letter-spacing: -0.4em;
    font-size: 0;
    text-align: center;
}
button {
    display: inline-block;
    margin: 10px;
    margin-top: 40px;
    padding: 12px;
    width: 260px;
    box-sizing: border-box;
    letter-spacing: 0.05em;
    font-size: 9pt;
    background: none;
    border: 1px solid #ccc;
}
button:last-child {
    margin-right: 0;
}
.thanx {
    display: none;
    height: 200px;
    width: 100%;
    max-width: 580px;
    margin: 0 auto;
}



#footer {
    font-size: 80%;
    font-weight: normal;
    text-align: center;
    box-sizing: border-box;
    padding: 40px;
    background: #eee;
}
#footer #foot-menu {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}
#footer #foot-menu li {
    width: 100%;
    text-align: left;
}
    @media screen and (max-width: 773px) {
        #footer #foot-menu li {
            margin-top: 10px;
        }
        #footer #foot-menu li:first-child, #footer #foot-menu li li {
            margin-top: 0;
        }
    }
    @media screen and (min-width: 774px) {
        #footer #foot-menu li {
            width: 280px;
            display: inline-block;
            vertical-align: top;
            margin-top: 0;
        }
        #footer #foot-menu li:nth-child(3) {
            width: 110px;
        }
        #footer #foot-menu li:last-child {
            width: 110px;
        }
    }
#footer #foot-menu li dt {
    font-size: 110%;
    font-weight: 600;
    margin-bottom: 5px;
}
#footer #foot-menu li dd {
    display: inline-block;
    margin-right: 10px;
}
#footer .copyright {
    clear: both;
    margin-top: 80px;
}
    @media screen and (max-width: 773px) {
        #footer .copyright {
            margin-top: 20px;
            text-align: left; 
        }
    }



.Report {
    width: 100%;
    vertical-align: top;
    padding: 10px;
/*    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc; */
    border: 1px solid #ccc;
}
.Report tr {
    vertical-align: top;
    padding: 10px;
}
.Report th.s1{
    font-size: 100%;
    font: inherit;
    font-weight: bold;
    background: #F8F8F8;
    padding: 1.2em;
}
.Report th {
    border-right: 1px solid #ccc;    
}
.Report td {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    padding-left: 0.5em;
    padding-right: 0.5em;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}
.Report td a:after {
    content: "[ PDF ]";
    margin-left: 5px;
    font-size: 8pt;
}