
@charset "utf-8";

/*------------------------------------------------------------
font-size
--------------------------------------------------------------*/
.fo09 {
    font-size: 9px !important;
}
.fo10 {
    font-size: 10px !important;
}
.fo11 {
    font-size: 11px !important;
}
.fo12 {
    font-size: 12px !important;
}
.fo13 {
    font-size: 13px !important;
}
.fo14 {
    font-size: 14px !important;
}
.fo15 {
    font-size: 15px !important;
}
.fo16 {
    font-size: 16px !important;
}
.fo17 {
    font-size: 17px !important;
}
.fo18 {
    font-size: 18px !important;
}
.fo19 {
    font-size: 19px !important;
}
.fo20 {
    font-size: 20px !important;
}
.fo21 {
    font-size: 21px !important;
}
.fo22 {
    font-size: 22px !important;
}
.fo23 {
    font-size: 23px !important;
}
.fo24 {
    font-size: 24px !important;
}
.fo25 {
    font-size: 25px !important;
}
.fo26 {
    font-size: 26px !important;
}
.fo28 {
    font-size: 28px !important;
}
.fo30 {
    font-size: 30px !important;
}
.fo32 {
    font-size: 32px !important;
}
.fo34 {
    font-size: 34px !important;
}
.fo36 {
    font-size: 36px !important;
}
.fo38 {
    font-size: 36px !important;
}
.fo40 {
    font-size: 40px !important;
}
.fo42 {
    font-size: 42px !important;
}
.fo45 {
    font-size: 45px !important;
}
.fo48 {
    font-size: 48px !important;
}
.fo50 {
    font-size: 50px !important;
}
.fo60 {
    font-size: 60px !important;
}
@media only screen and (max-width: 767px) {

/*	.fo16{
		font-size: 14px!important;
	}*/
	.fo17,.fo18{
		font-size: 16px !important;
	}
	.fo20{
		font-size: 14px!important;
	}
    .fo19, .fo21, .fo22 {
        font-size: 18px !important;
    }
    .fo23 {
        font-size: 18px !important;
    }
    .fo24 {
        font-size: 18px !important;
    }
    .fo25 {
        font-size: 21px !important;
    }
    .fo26 {
        font-size: 20px !important;
    }
    .fo28 {
        font-size: 20px !important;
    }
    .fo30 {
        font-size: 22px !important;
    }
    .fo32 {
        font-size: 24px !important;
    }
    .fo34 {
        font-size: 24px !important;
    }
    .fo36 {
        font-size: 22px !important;
    }
    .fo38 {
        font-size: 25px !important;
    }
    .fo40 {
        font-size: 25px !important;
    }
	.fo42 {
    font-size: 26px !important;
}
    .fo45 {
        font-size: 26px !important;
    }
    .fo48 {
        font-size: 28px !important;
    }
    .fo50 {
        font-size: 30px !important;
    }
	.fo60 {
    font-size: 36px !important;
}
}

/*------------------------------------------------------------
font-weight
--------------------------------------------------------------*/
.bold {
    font-weight: bold !important;
}
.bold-100{
	font-weight: 100;
}
.bold-200{
	font-weight: 200;
}
.bold-300{
	font-weight: 300;
}
.bold-400{
	font-weight: 400!important;
}
.bold-500{
	font-weight: 500;
}
.bold-600{
	font-weight: 600;
}
.bold-700{
	font-weight: 700;
}
.bold-800{
	font-weight: 800;
}

/*------------------------------------------------------------
line-height
--------------------------------------------------------------*/
.lh10 {
    line-height: 1 !important;
}

.lh12 {
    line-height: 1.2em !important;
}
.lh14 {
    line-height: 1.4em !important;
}
.lh16 {
    line-height: 1.6em !important;
}
.lh18 {
    line-height: 1.8em !important;
}
.lh20 {
    line-height: 2em !important;
}
.lh28 {
    line-height: 2.8em !important;
}
.lh32 {
    line-height: 3.2em !important;
}
@media only screen and (max-width: 767px) {
    .lh28 {
        line-height: 1.8em !important;
    }
    .lh32 {
        line-height: 1.2em !important;
    }
}

/*------------------------------------------------------------
display-block
--------------------------------------------------------------*/
.db{
	display: block;
}
.dib{
	display: inline-block;
}

/*------------------------------------------------------------
display-flex
--------------------------------------------------------------*/
.flex-box{
	display: flex;
}
.flex-between{
	justify-content: space-between;
}
.flex-around{
	justify-content: space-around;
}
.align-center{
	align-items: center;
}
.flex-reverse{
	flex-flow: row-reverse;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.flex-box{
	display: block;
}
	.flex-tb{
		display: flex!important;
	}
	.flex-tb-around{
		justify-content: space-around!important;
	}
	.flex-tb-center{
		justify-content:center!important;
	}
}
@media only screen and (max-width: 767px) {
		.flex-box{
	display: block;
}
}

/*------------------------------------------------------------
text-align
--------------------------------------------------------------*/
.text-left {
    text-align: left !important;
}
.text-right {
    text-align: right !important;
}
.text-center {
    text-align: center !important;
}
.text-left_s-center {
    text-align: left !important;
}
.text-right_s-left {
    text-align: right !important;
}
.text-right_s-center {
    text-align: right !important;
}
.text-center_s-left {
    text-align: center !important;
}
.text-center_s-right {
    text-align: center !important;
}
.text-tate {
	  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
.text-tate_s_yoko {
    writing-mode: vertical-rl;
}
.tategaki {
    writing-mode: horizontal-tb;
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
	    .text-left_s-center, .text-right_s-center {
        text-align: center !important;
    }
    .text-right_s-left {
        text-align: left !important;
    }
    .text-center_s-left {
        text-align: left !important;
    }
    .text-center_s-right {
        text-align: right !important;
    }
    .text-tate_s_yoko {
        writing-mode: horizontal-tb;
    }
}
@media only screen and (max-width: 767px) {
    .text-left_s-center, .text-right_s-center {
        text-align: center !important;
    }
	  .text-left_s-right{
        text-align: right !important;
    }
    .text-right_s-left {
        text-align: left !important;
    }
    .text-center_s-left {
        text-align: left !important;
    }
    .text-center_s-right {
        text-align: right !important;
    }
    .text-tate_s_yoko {
        writing-mode: horizontal-tb;
    }
}

/*------------------------------------------------------------
fontstyle
--------------------------------------------------------------*/
.fo-nomal {
    font-weight: normal !important;
}
.font-italic{
	font-style: italic;
}


/*------------------------------------------------------------
letter-spacing
--------------------------------------------------------------*/
.letter-2px{
	letter-spacing: 2px;
}
.letter-3px{
	letter-spacing: 3px;
}
.letter-4px{
	letter-spacing: 4px;
}
.letter-5px{
	letter-spacing: 5px;
}


/*------------------------------------------------------------
fontcolor
--------------------------------------------------------------*/
.fo-white, .fo-white:hover {
    color: #FFFFFF;
}
.fo-gray, .fo-gray:hover {
    color: #848484;
}
.fo-gray02, .fo-gray02:hover {
    color: #B8B8B8;
}
.fo-black, .fo-black:hover {
    color: #000;
}
.fo-yellow, .fo-yellow:hover {
    color: #FAF31A;
}
.fo-red, .fo-red:hover {
	color: #DC3636;
}
.fo-green, .fo-green:hover {
    color: #8AAA85;
}
.fo-blue, .fo-blue:hover {
    color: #00a0e2;
}
.fo-pink, .fo-pink:hover {
	color: #E86680;
}
.fo-pink02,.fo-pink02:hover{
	color: #FA8798;
}
.fo-orange, .fo-orange:hover {
    color: #E59200;
}
.fo-brown, .fo-brown:hover {
    color: #6D3C17;
}




/*------------------------------------------------------------
backcolor
--------------------------------------------------------------*/
.back-white {
    background-color: #FFFFFF !important;
}
.back-gray {
    background-color: #F7F7F7 !important;
}
.back-black {
    background-color: #170C03 !important;
}
.back-yellow {
    background-color: #FAF4DF !important;
}
.back-red {
    background-color: #f19696 !important;
}
.back-green {
	background-color: #31764E!important;
}
.back-blue {
	background-color: #00a0e2!important;
}
.back-blue02 {
	background-color: #E4EBF2!important;
}
.back-pink {
	background-color: #F9F3F4!important;
}
.back-orange {
    background-color: #E59200 !important;
}
.back-brown {
    background-color: #A4753C !important;
}
.back-brown02{
    background-color: #6D3C17 !important;
}
.back-cream {
    background: #FFFAF3!important;
}
.back-skyblue{
	background-color: #88D1E0!important;
}
.back-img01 {
    background: url("../images/shared/bg01.jpg");
}
.back-img02 {
    background: url("../images/shared/bg02.jpg");
}
.back-img03 {
    background: url("../images/shared/bg03.jpg");
}

/*------------------------------------------------------------
border
--------------------------------------------------------------*/
.full-border {
    border: solid 1px #A69C91;
}
.top-border {
    border-top: solid 1px #C0DFE9;
}
.right-border {
    border-right: solid 1px #C0DFE9;
}
.bottom-border {
    border-bottom: solid 1px #EBE9E4;
}
.left-border {
    border-left: solid 1px #ff8624;
}


.border-orange{
	border: 2px solid #E59200;
}
.border-brown{
	border: 2px solid #6D3C17;
}


/*------------------------------------------------------------
border-radius
--------------------------------------------------------------*/
.rad06 {
    border-radius: 6px;
    overflow: hidden;
}
.rad07 {
    border-radius: 7px;
    overflow: hidden;
}
.rad10 {
    border-radius: 10px;
    overflow: hidden;
}
.rad20 {
    border-radius: 20px;
    overflow: hidden;
}
.rad50 {
    border-radius: 1em;
    overflow: hidden;
}

/*------------------------------------------------------------
marker
--------------------------------------------------------------*/
.marker {
    background: linear-gradient(transparent 70%, rgba(255,243,160,0.8) 70%);
    padding-bottom: 0;
}


/*------------------------------------------------------------
padding
--------------------------------------------------------------*/
.padtop_120-40 {
    padding-top: 120px !important;
}
.padtop_80-40 {
    padding-top: 80px !important;
}
.padtop_60-30 {
    padding-top: 60px !important;
}
.padtop_40-20 {
    padding-top: 40px !important;
}
@media only screen and (max-width: 767px) {
    .padtop_120-40 {
        padding-top: 40px !important;
    }
    .padtop_80-40 {
        padding-top: 40px !important;
    }
    .padtop_60-30 {
        padding-top: 30px !important;
    }
    .padtop_40-20 {
        padding-top: 20px !important;
    }
}

.padbtm_120-40 {
    padding-bottom: 120px !important;
}
.padbtm_80-40 {
    padding-bottom: 80px !important;
}
.padbtm_60-30 {
    padding-bottom: 60px !important;
}
.padbtm_40-20 {
    padding-bottom: 40px !important;
}
@media only screen and (max-width: 767px) {
    .padbtm_120-40 {
        padding-bottom: 40px !important;
    }
    .padbtm_80-40 {
        padding-bottom: 40px !important;
    }
    .padbtm_60-30 {
        padding-bottom: 30px !important;
    }
    .padbtm_40-20 {
        padding-bottom: 20px !important;
    }
}

.top-pad-00 {
    padding-top: 0 !important;
}
.top-pad-05 {
    padding-top: 5px !important;
}
.top-pad-10 {
    padding-top: 10px !important;
}
.top-pad-15 {
    padding-top: 15px !important;
}
.top-pad-20 {
    padding-top: 20px !important;
}
.top-pad-30 {
    padding-top: 30px !important;
}
.top-pad-40 {
    padding-top: 40px !important;
}
.top-pad-50 {
    padding-top: 50px !important;
}
.top-pad-60 {
    padding-top: 60px !important;
}
.right-pad-00 {
    padding-right: 0 !important;
}
.right-pad-05 {
    padding-right: 5px !important;
}
.right-pad-10 {
    padding-right: 10px !important;
}
.right-pad-15 {
    padding-right: 15px !important;
}
.right-pad-20 {
    padding-right: 20px !important;
}
.right-pad-30 {
    padding-right: 30px !important;
}
.right-pad-40 {
    padding-right: 40px !important;
}
.right-pad-50 {
    padding-right: 50px !important;
}
.right-pad-60 {
    padding-right: 60px !important;
}
.right-pad-80 {
    padding-right: 80px !important;
}
.bottom-pad-00 {
    padding-bottom: 0 !important;
}
.bottom-pad-05 {
    padding-bottom: 5px !important;
}
.bottom-pad-10 {
    padding-bottom: 10px !important;
}
.bottom-pad-15 {
    padding-bottom: 15px !important;
}
.bottom-pad-20 {
    padding-bottom: 20px !important;
}
.bottom-pad-30 {
    padding-bottom: 30px !important;
}
.bottom-pad-40 {
    padding-bottom: 40px !important;
}
.bottom-pad-60 {
    padding-bottom: 60px !important;
}
.left-pad-00 {
    padding-left: 0 !important;
}
.left-pad-05 {
    padding-left: 5px !important;
}
.left-pad-10 {
    padding-left: 10px !important;
}
.left-pad-15 {
    padding-left: 15px !important;
}
.left-pad-20 {
    padding-left: 20px !important;
}
.left-pad-25 {
    padding-left: 25px !important;
}
.left-pad-30 {
    padding-left: 30px !important;
}
.left-pad-35 {
    padding-left: 35px !important;
}
.left-pad-40 {
    padding-left: 40px !important;
}
.left-pad-50 {
    padding-left: 50px !important;
}
.left-pad-60 {
    padding-left: 60px !important;
}
.left-pad-80 {
    padding-left: 80px !important;
}

.pad-top-120{
	padding-top: 120px;
}
.pad-bottom-120{
	padding-bottom: 120px;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	  .pad_s_def {
        padding-right: 15px !important;
        padding-left: 15px !important;
    }
    .pad_s_def_top-pad-00 {
        padding-top: 0 !important;
    }
	.pad_s_def_left-pad-00 {
    padding-left: 0 !important;
}
	.pad_s_def_right-pad-15 {
    padding-right: 15px !important;
}
	.pad_s_def_right-pad-00 {
    padding-right: 0 !important;
}
    .pad_s_def_top-pad-10 {
        padding-top: 10px !important;
    }
    .pad_s_def_top-pad-15 {
        padding-top: 15px !important;
    }
    .pad_s_def_top-pad-20 {
        padding-top: 20px !important;
    }
    .pad_s_def_top-pad-30 {
        padding-top: 30px !important;
    }
    .pad_s_def_top-pad-40 {
        padding-top: 40px !important;
    }
    .pad_s_def_top-pad-60 {
        padding-top: 60px !important;
    }
    .pad_s_def_bottom-pad-00 {
        padding-bottom: 0 !important;
    }
    .pad_s_def_bottom-pad-10 {
        padding-bottom: 10px !important;
    }
    .pad_s_def_bottom-pad-15 {
        padding-bottom: 15px !important;
    }
    .pad_s_def_bottom-pad-20 {
        padding-bottom: 20px !important;
    }
    .pad_s_def_bottom-pad-30 {
        padding-bottom: 30px !important;
    }
    .pad_s_def_bottom-pad-40 {
        padding-bottom: 40px !important;
    }
    .pad_s_def_bottom-pad-60 {
        padding-bottom: 60px !important;
    }
}
@media only screen and (max-width: 767px) {
	.top-pad-60{
		padding-top: 30px!important;
	}
	.bottom-pad-60{
		padding-bottom: 30px!important;
	}
		.pad-top-120{
	padding-top: 60px;
}
	.pad-bottom-120{
	padding-bottom: 60px;
}
	  .pad_s_def {
        padding-right: 15px !important;
        padding-left: 15px !important;
    }
    .pad_s_def_top-pad-00 {
        padding-top: 0 !important;
    }
	.pad_s_def_left-pad-00 {
    padding-left: 0 !important;
}
	.pad_s_def_right-pad-15 {
    padding-right: 15px !important;
}
	.pad_s_def_right-pad-00 {
    padding-right: 0 !important;
}
    .pad_s_def_top-pad-10 {
        padding-top: 10px !important;
    }
    .pad_s_def_top-pad-15 {
        padding-top: 15px !important;
    }
    .pad_s_def_top-pad-20 {
        padding-top: 20px !important;
    }
    .pad_s_def_top-pad-30 {
        padding-top: 30px !important;
    }
    .pad_s_def_top-pad-40 {
        padding-top: 40px !important;
    }
    .pad_s_def_top-pad-60 {
        padding-top: 60px !important;
    }
    .pad_s_def_bottom-pad-00 {
        padding-bottom: 0 !important;
    }
    .pad_s_def_bottom-pad-10 {
        padding-bottom: 10px !important;
    }
    .pad_s_def_bottom-pad-15 {
        padding-bottom: 15px !important;
    }
    .pad_s_def_bottom-pad-20 {
        padding-bottom: 20px !important;
    }
    .pad_s_def_bottom-pad-30 {
        padding-bottom: 30px !important;
    }
    .pad_s_def_bottom-pad-40 {
        padding-bottom: 40px !important;
    }
    .pad_s_def_bottom-pad-60 {
        padding-bottom: 60px !important;
    }
}


/*------------------------------------------------------------
margin
--------------------------------------------------------------*/
.mgbtm_80-40 {
    margin-bottom: 80px !important;
}
.mgbtm_60-30 {
    margin-bottom: 60px !important;
}
.mgbtm_40-20 {
    margin-bottom: 40px !important;
}
@media only screen and (max-width: 767px) {
    .mgbtm_80-40 {
        margin-bottom: 40px !important;
    }
    .mgbtm_60-30 {
        margin-bottom: 30px !important;
    }
    .mgbtm_40-20 {
        margin-bottom: 20px !important;
    }
}


.top-mg-00 {
    margin-top: 0px !important;
}
.top-mg-05 {
    margin-top: 5px !important;
}
.top-mg-10 {
    margin-top: 10px !important;
}
.top-mg-15 {
    margin-top: 15px !important;
}
.top-mg-20 {
    margin-top: 20px !important;
}
.top-mg-30 {
    margin-top: 30px !important;
}
.top-mg-40 {
    margin-top: 40px !important;
}
.right-mg-00 {
    margin-right: 0 !important;
}
.right-mg-05 {
    margin-right: 5px !important;
}
.right-mg-10 {
    margin-right: 10px !important;
}
.right-mg-15 {
    margin-right: 15px !important;
}
.right-mg-20 {
    margin-right: 20px !important;
}
.right-mg-30 {
    margin-right: 30px !important;
}
.right-mg-40 {
    margin-right: 40px !important;
}
.bottom-mg-00 {
    margin-bottom: 0px !important;
}
.bottom-mg-05 {
    margin-bottom: 5px !important;
}
.bottom-mg-10 {
    margin-bottom: 10px !important;
}
.bottom-mg-15 {
    margin-bottom: 15px !important;
}
.bottom-mg-20 {
    margin-bottom: 20px !important;
}
.bottom-mg-30 {
    margin-bottom: 30px !important;
}
.bottom-mg-40 {
    margin-bottom: 40px !important;
}
.bottom-mg-60 {
    margin-bottom: 60px !important;
}
.bottom-mg-80 {
    margin-bottom: 80px !important;
}
.left-mg-00 {
    margin-left: 0 !important;
}
.left-mg-05 {
    margin-left: 5px !important;
}
.left-mg-10 {
    margin-left: 10px !important;
}
.left-mg-15 {
    margin-left: 15px !important;
}
.left-mg-20 {
    margin-left: 20px !important;
}
.left-mg-30 {
    margin-left: 30px !important;
}
.left-mg-40 {
    margin-left: 40px !important;
}
.mg-top-80{
	margin-top: 80px!important;
}
.mg-top-120{
	margin-top: 120px!important;
}
.mg-bottom-120{
	margin-bottom: 120px!important;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.mg-bottom-120{
	margin-bottom: 60px!important;
}
}
@media only screen and (max-width: 767px) {
		.mg-bottom-120{
	margin-bottom: 60px!important;
}
}


/*------------------------------------------------------------
rob
--------------------------------------------------------------*/
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
*:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}



/* PC
------------------------------------------*/
@media only screen and (min-width: 768px) {
  .pc_only {
    display: inherit !important;
  }
  .tb_only {
    display: none !important;
  }
  .sp_only {
    display: none !important;
  }
  .tb_pc {
    display: inherit !important;
  }
  .sp_tb {
    display: none !important;
  }
}

/* Tablet (Portrait : 縦表示)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .pc_only {
    display: none !important;
  }
  .tb_only {
    display: inherit !important;
  }
  .sp_only {
    display: none !important;
  }
  .tb_pc {
    display: inherit !important;
  }
  .sp_tb {
    display: inherit !important;
  }
}
/* Mobile (Portrait : 縦表示)
------------------------------------------*/
@media only screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
  .tb_only {
    display: none !important;
  }
  .sp_only {
    display: inherit !important;
  }
  .tb_pc {
    display: none !important;
  }
  .sp_tb {
    display: inherit !important;
  }
}



