@charset "utf-8";


@media screen and (max-width: 767px) {

	
/* smt menu
==============================================*/
	.smt-fixed {
		position: fixed;
		width: 100%;
		height: 100%;
		overflow-y: hidden;
	}

    
    
	/* オーバーレイ */
	.smt-overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		visibility: hidden;
		opacity: 0;
		transition: .3s;
		background-color: #000000;
		z-index: 5;
	}
    
    
    
	/* アクティブ */
	.smt-fixed .smt-overlay {
		visibility: visible;
		opacity: .7;
	}

    
	/* ヘッダー */
	nav  {
		/*position:fixed;
		top:0;
		left:0;*/
		width:100%;
		background-color:#ffffff;
		box-shadow: 0 1px 4px rgba(0,0,0,0.26);
		z-index:9;
		-webkit-user-select:none;
		-moz-user-select:none;
		user-select:none;
	}
	nav .inner {
		position:relative;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
	}
    

	/* スマート hed */
    .smt-hed {
        position: relative;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        height: 52px;
        overflow: hidden;
	}
    .smt-hed .logo {
        align-self: center;
        padding-left: 10px;
    }
    .smt-hed .logo a {
    }
    .smt-hed .logo h1 {
        color: #d45c9d;
        font-weight: bold;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
    
    .smt-hed .tel {
        align-self: center;
        margin-right: 60px;
    }
    .smt-hed .tel a {
        width: 36px;
        height: 36px;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        color: #ffffff;
        background-color: #b3316b;
        border-radius: 50%;
    }
    .smt-hed .tel a i {
        font-size: 22px;
    }
    
    
    
	/* ナビゲーション */
	nav .smt-nav {
		position: fixed;
		/*top: 52px;*/
        top: 0;
		right: 0;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		width: 80vw;
		height: 100%;
		/*max-width: 300px;*/
		/*height: 100vh;*/
		-webkit-tap-highlight-color: rgba(0,0,0,0);
		z-index:9999;
		padding-top: 55px;
		background-color: #fff;

        contain: paint;
		pointer-events: auto;
		will-change: transform;
		-webkit-backface-visibility:hidden;

        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        transition: all 0.5s;
        -webkit-transform: translate3d(100%, 0, 0);
        -moz-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
	}
    
	nav.smt-open .smt-nav {
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
	}
	
	nav .smt-navare {
		position: relative;
		width: 100%;
		height: 100%;
		overflow-y: scroll;
		padding-left: 10px;
		padding-right: 10px;
		padding-top: 0px;
		padding-bottom: 70px;
	}


    
	/* ナビゲーションアイコン */
	nav .smt-butn {
        /*position: fixed;*/
		position: absolute;
        z-index: 99999;
		top: 5px;
        right: 5px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		-webkit-appearance: none;
		border: 0;
		background: transparent;
		border-radius: 0;
		height: 46px;
        width: 48px;
        padding: 0 8px;
        background-color: #429aca;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
		/*cursor: pointer;*/
		pointer-events: auto;
		contain: paint;
		touch-action: manipulation;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        transition: all 0.5s;
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        transform: translate(0, 0);
	}
    
	nav.smt-open .smt-butn {
		/*width: 26px;*/
        background: none;
	}
    
	
	.icon-bar {
		display: block;
		width: 100%;
		height: 3px;
		background-color: #cecece;
		transition: .3s;
		margin-top: 15px;
	}
	.icon-bar + .icon-bar {
		margin-top: 6px;
	}
	.icon-txt {
		font-family: 'Lato', sans-serif !important;
		font-weight: 400;
		position: absolute;
		right: auto;
        top: 10px;
		white-space: nowrap;
		transition: .3s;
		font-size: 1.0rem;
		letter-spacing: normal;
		line-height: 1;
        color: #ffffff;
	}
	
	
    
	/* アクティブ */
	.smt-open .icon-bar {
		background-color: #808080;
        /*background-color: #cecece;*/
	}
	nav.smt-open .smt-butn .button {
		pointer-events: none;
	}
	nav.smt-open .smt-butn .icon-txt:nth-of-type(1) {
		opacity: 0;
	}
	nav.smt-open .smt-butn .icon-bar:nth-of-type(2) {
		transform: translate(0,0px) rotate(45deg);
	}
	nav.smt-open .smt-butn .icon-bar:nth-of-type(3) {
		transform: translate(0,-9px) rotate(-45deg);
	}
    
    
    
	/* menu-hed */
	.menu-hed {
        background-color: #ffffff;
    }
	.menu-hed ul {
        display: -webkit-flex;
        display: flex;
        padding-top: 13px;
        padding-bottom: 13px;
    }
	.menu-hed li {
        padding-left: 10px;
        padding-right: 10px;
    }
    .menu-hed li a {
        display: -webkit-flex;
        display: flex;
        letter-spacing: normal;
        font-size: 1.45rem;
        font-weight: bold;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
    .menu-hed li a i {
        font-size: 2.0rem;
    }
    .menu-hed li a span {
        align-self: center;
    }
    .menu-hed li a:hover span {
        background-color: #ffdee6;
    }
    
    
    
	/* menu-list */
	.menu-list {
		display: block;
		width: 100%;
		background-color: white;
		overflow-y: auto;
		overflow-x: hidden;
		z-index: 999;
		font-size: 1.45rem;
		letter-spacing: normal;
		margin-top: 1px;
	}

	.menu-list li.toggle {
		padding: 15px 10px;
		text-transform: uppercase;
		border-bottom: 1px solid #ddd;
	}
	.menu-list li:first-of-type {
		border-top: 1px solid #ddd;
	}
	.menu-list li.toggle a {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
    
	.menu-list li.toggle a p {
		font-weight: bold;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
    
	.menu-list li.toggle.active-tab {
		background-color: #c5e6f7;
	}
	.menu-list li.toggle.active-tab a p {
		/*color: #ffffff;*/
	}
    
    .menu-list li.toggle a.yaji:after {
        content: "\e90c";
        font-family: 'icomoon' !important;
        font-size: 2.7rem;
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        position: absolute;
        right: 8px;
        top: 50%;
        transform: translate(0, -50%);
        color: #aaaaaa;
    }
    
    

	/* サブmenu */
	.menu-list .menu-submenu {
		padding-top: 5px;
		padding-bottom: 5px;
		padding-left: 15px;
		padding-right: 15px;
		background-color: #fffce8;
		font-size: 1.4rem;
		
		contain: paint;
		touch-action: manipulation;
		pointer-events: auto;
		-webkit-backface-visibility:hidden;
	}
	.menu-list .menu-submenu li {
		border-bottom: 1px solid #d6d6d6;
	}
	.menu-list .menu-submenu li:last-of-type {
		border-bottom: none;
	}

	.menu-list .menu-submenu li a {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		position: relative;
		padding-top: 12px;
		padding-bottom: 12px;
        padding-left: 5px;
		line-height: 1.2;
		color: #2d2b2b;
	}
	.menu-list .menu-submenu li a i {
        font-size: 1.6rem;
		color: #429aca;
	}
	.menu-list .menu-submenu li a:hover {
		background-color: #c5e6f7;
	}
	
    
	
	/* ナビゲーション：accordion */
	.accordion-toggle,
	.accordion-content {
		cursor: pointer;
		position: relative;
	}
	.accordion-content {
		display: none;
	}
	.accordion-toggle a.pras:before,
	.accordion-toggle a.pras:after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		right: 15px;
		width: 15px;
		height: 2px;
		margin-top: -1px;
		background-color: #aaaaaa;
		-webkit-transform-origin: 50% 50%;
		-ms-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s ease-out;
		
	}
	.accordion-toggle a.pras:before {
		-webkit-transform: rotate(-90deg);
		-ms-transform: rotate(-90deg);
		transform: rotate(-90deg);
		opacity: 1;
		z-index: 2;
	}
	.accordion-toggle.active-tab {
		transition: all 0.3s ease;
	}
	.accordion-toggle a.pras.active {
	}
	.accordion-toggle a.pras.active:before {
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
		/*background-color: #ffffff !important;*/
	}
	.accordion-toggle a.pras.active:after {
		-webkit-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		transform: rotate(180deg);
		opacity: 0;
		/*background-color: #ffffff !important;*/
	}

    
    
	/* 矢印 */
	.toggle {
		cursor: pointer;
		position: relative;
	}
	.toggle a.sarw::before,
	.toggle a.sarw::after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 10px;
		height: 2px;
		margin-top: -1px;
		background-color: #aaaaaa;
		-webkit-transform-origin: 2% 45%;
		-ms-transform-origin: 2% 45%;
		transform-origin: 2% 45%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s ease-out;
		transform: rotate(135deg);
	}
	.toggle a.sarw::before {
		-webkit-transform: rotate(225deg);
		-ms-transform: rotate(225deg);
		transform: rotate(225deg);
		opacity: 1;
		z-index: 2;
	}
    
    
    
    /* 中部メニュー */
	.menu-fot {
        margin-top: 3px;
        padding-bottom: 15px;
		background-color: #ffffff;
	}
	.menu-fot ul {
		display: -webkit-flex;
		display: flex;
		flex-flow: wrap;
        padding-top: 15px;
	}
	.menu-fot li {
		padding-left: 10px;
	}
	.menu-fot li a {
		font-size: 1.4rem;
		letter-spacing: normal;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
        font-weight: bold;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
		padding-right: 8px;
	}
	
    
    /* 下部メニュー */
	.menu-comp {
        margin-top: 3px;
		background-color: #ffffff;
	}
    .menu-comp {
        padding-top: 10px;
        padding-bottom: 15px;
    }
    .menu-comp .txt {
        font-size: 1.3rem;
        letter-spacing: normal;
        line-height: 1.5;
        padding-left: 10px;
        display: block;
    }
    .menu-comp .txt strong {
        font-size: 1.45rem;
        line-height: 1.8;
    }
    .menu-comp .txt a {
        font-size: 1.5rem;
        display: inline-block;
        color: #b3316b;
        text-decoration: underline!important;
    }
    
    
    /* 下部メニュー btm */
	.menu-btm {
		padding-top: 10px;
	}
	.menu-btm h6 {
		padding-left: 10px;
	}
	
	
	

}




@media screen and (max-width: 575px) {

	nav .smt-nav {
        min-width: 290px;
    }
    .smt-fixed .smt-pusher {
        -webkit-transform: translate3d(-290px, 0, 0);
        -moz-transform: translate3d(-290px, 0, 0);
        transform: translate3d(-290px, 0, 0);
    }
    
    
}




