@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP');

@font-face {
  font-family: 'kikuchi-icf';
  src:
    url('fonts/kikuchi-icf.ttf?57lmy3') format('truetype'),
    url('fonts/kikuchi-icf.woff?57lmy3') format('woff'),
    url('fonts/kikuchi-icf.svg?57lmy3#kikuchi-icf') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icf-"], [class*=" icf-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'kikuchi-icf' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icf-close:before {
  content: "\e906";
}
.icf-thin-down:before {
  content: "\e900";
}
.icf-thin-left:before {
  content: "\e901";
}
.icf-thin-right:before {
  content: "\e902";
}
.icf-thin-up:before {
  content: "\e903";
}
.icf-plus:before {
  content: "\e90e";
}
.icf-minus:before {
  content: "\e90f";
}
.icf-cart:before {
  content: "\e93a";
}
/*.icf-new:before {
  content: "\e904";
  color: #4b4b4b;
}*/


/* ==========================================================
*
* Basic Setting
*
========================================================== */

html,
body {
    width: 100%;
    height:100%;
    min-height:100%;
}

html {
    font-size: 62.5%;
    /* 16px x 0.625 = 10px(=1rem) */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: "palt";
}

body {
    font-size: 1.4rem;
    line-height: 125%;
    font-family: 'Noto Sans JP', Meiryo, メイリオ, Osaka, sans-serif;
    background-color:#ffffff;
}


body.locked {
    height: 100%;
    overflow: hidden;
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    /*text-decoration:none;*/
    color: #000000;
}

* a:hover {
    text-decoration: underline;
    color: #ff6400;

    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
}

a:hover > img {
    opacity: 0.5;
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
}



/* for Sp --------------------*/
@media screen and (max-width: 750px) {
    
    html,
    body {
        height:100%;
        min-height:100%;
    }

}


/* ==========================================================
*
* content frame
*
========================================================== */
#contentFrame{
    display:block;
    width:100%;
    min-width:1200px;
}


/* for Sp --------------------*/
@media screen and (max-width: 750px) {
    
    #contentFrame{
        min-width:100%;
    }

}



/* ==========================================================
*
* Page Header
*
========================================================== */
#header{
    display:block;
    overflow:hidden;
    width:100%;
    height:75px;
    background-color:#ffffff;
    position:fixed;
    top:0;
    left:0;
    z-index:50;
}

#header > p{
    display:inline-block;
    font-size:14px;
    line-height:75px;
    color:#858585;
    position:absolute;
    top:0;
    left:95px;
}


#mainlogo{
    display:inline-block;
    overflow:hidden;
    width:189px;
    position:absolute;
    top:16px;
    left:50%;
    margin-left:-94px;
}

#sublogo{
    display:inline-block;
    overflow:hidden;
    position:absolute;
    top:16px;
    right:15px;
}


/* for Sp --------------------*/
@media screen and (max-width: 750px) {

    
}


/*メニューボタン*/
#menuBtn{
    display:inline-block;
    width:75px;
    height:75px;
    position:absolute;
    top:0;
    left:0;
}

#menuBtn > a{
    display:block;
    overflow:hidden;
    width:75px;
    height:75px;
    text-decoration:none;
    background-color:#303c95;
    position:relative;
}

.pc #menuBtn > a:hover{
    opacity:0.5;
}


#menuBtn > a > span{
    display:block;
    overflow:hidden;
    width:41px;
    height:2px;
    background-color:#ffffff;
    position:absolute;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#menuBtn > a > span:nth-child(1){
    top:28px;
    left:17px;
}

#menuBtn > a > span:nth-child(2){
    top:42px;
    left:17px;
}


/* for Sp --------------------*/
@media screen and (max-width: 750px) {

    
}



/* ==========================================================
*
* Global Navi
*
========================================================== */
#nav{
    display:block;
    overflow:hidden;
    width:100%;
    height:100%;
    position:fixed;
    top:75px;
    left:-100%;
    z-index:55;
    background-color: rgba(255,255,255,0.95);
    
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}


#globalNavi{
    display:block;
    overflow:hidden;
    width:100%;
    max-width:600px;
    margin:100px auto 0;
    font-size:1.8rem;
    line-height:200%;
}

#globalNavi a{
    /*display:block;
    overflow:hidden;*/
    text-decoration:none;
    /*color:#303c95;*/
}

#globalNavi > dl{
    border-top:1px solid #303c95;
    margin:40px 0;
    padding:40px 0 0;
}

#globalNavi > dl > dt{
    font-size:1.2rem;
}


/* for Sp --------------------*/
@media screen and (max-width: 750px) {

    
}

/* ==========================================================
*
* Cotainer
*
========================================================== */
#mainContainer{
    display:block;
    overflow:hidden;
    width:100%;
    min-height:calc(100vh - 75px);
    background:url('../images/bg_tile.png');
    padding-top:75px;
}




/* for Sp --------------------*/
@media screen and (max-width: 750px) {

    
}



/* ==========================================================
*終了コンテナ
*
========================================================== */

#endContainer{
    display:block;
    /*overflow:hidden;*/
    width:100%;
    /*clear:both;*/
    text-align:center;
    background-color:#eeeeee;
    padding:20px 0;
    position:fixed;
    bottom:0;
}

.fixed #endContainer{
    position:relative;
    bottom:auto;
}


a.topBtn{
    display:block;
    overflow:hidden;
    width:60px;
    height:60px;
    line-height:60px;
    background-color:#303c95;
    text-align:center;
    color:#ffffff;
    text-decoration:none;
    
    position:absolute;
    top:-70px;
    left:50%;
    margin-left:600px;

}

.pc a.topBtn:hover{
    opacity:0.5;
}



/* for Sp --------------------*/
@media screen and (max-width: 750px) {

    
}




/* ==========================================================
*メニュー展開
*
========================================================== */
#contentFrame.opnav {
    height:100%;
    overflow:hidden;
}

.opnav #menuBtn > a > span:nth-child(1){
    top:36px;
    transform: rotate(-225deg);
    -webkit-transform: rotate(-225deg);
}

.opnav #menuBtn > a > span:nth-child(2){
    top:36px;
    transform: rotate(225deg);
    -webkit-transform: rotate(225deg);
}

.opnav #nav{
    left:0;
}


/* ==========================================================
*Shared Parts
*
========================================================== */
a.boxBtn{
    display:inline-block;
    overflow:hidden;
    line-height:125%;
    padding: 0.5em 2em;
    text-decoration:none;
    color:#ffffff;
    background-color:#303c95;
    border-radius: 5px;
    -webkit-border-radius: 5px;
}

