@charset "UTF-8";

/*----------------------
 * 1. GENERAL
 *   1.1  Margin
 *   1.2  Text
 *   1.3  Titles and Subtitles
 *   1.4  Tables
 *   1.5  Buttons
 *   1.6  Lists
 *   1.7  Other Elements
 *        1.7.1 plugins
 *        1.7.2 page top
 *        1.7.3 modal
 *   1.8  SNS
 * 2. HEADER
 * 3. CONTENTS
 *    3.1 Main
 *    3.2 Btn
 *    3.3 About
 *    3.4 Voice
 *    3.5 Reason
 *    3.6 Item
 *    3.7 Grade
 *    3.8 Cost
 *    3.9 Voice Gokaku
 *    3.10 Book
 *    3.11 Challenge
 * 4. FOOTER
 * 5. NOTICEBAR
 */

/*-------------------------------
 * 1.GENERAL
 * ----------------------------*/
html,
body {
	overflow-x: hidden;
}
body {
    font-family: '游ゴシック', YuGothic, sans-serif;
    margin: 0;
    padding: 0;
    font-size: 16px;
	background: #fff;
	color: #444444;
	line-height: 1.8;
	overflow: hidden;
}

a {
    color: #444444;
    text-decoration: underline;
}
a:hover {
    cursor: pointer;
    color: #444444;
    text-decoration: none;
}
a:focus {
  outline: none;
  overflow: hidden;
  text-decoration: none;
}

a[href^="tel:"] {
	cursor: default;
	text-decoration: none;
	color: #444444;
}
a[href^="tel:"]:hover {
	text-decoration: none;
}
@media screen and (max-width: 767px) {
	a[href^="tel:"] {
		cursor: pointer;
	}
}

hr {
     border-top: 1px solid #ccc;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

strong {
    font-weight: 600;
}

.flex-box {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
}
.flex-box.center {
    justify-content: center;
}
.flex-box.start {
    justify-content: flex-start;
}

.opacity:hover {
    opacity: 0.8;
    transition: 0.7s;
}

/* 1.1  Margin
 * ------------------------------*/
.mt00 { margin-top: 0 !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }

.mb00 { margin-bottom: 0 !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }

.pt00 { padding-top: 0 !important; }
.pb00 { padding-bottom: 0 !important; }

/* 1.2 Text
 * ------------------------------*/
.txt-red,
.txt-red a,
.txt-red a:hover {
    color: #f00 !important;
}
.txt-white,
.txt-white a,
.txt-white a:hover {
    color: #fff !important;
}
.txt-blue,
.txt-blue a,
.txt-blue a:hover {
    color: #0086cd !important;
}
.txt-pink,
.txt-pink a,
.txt-pink a:hover {
    color: #ee3399 !important;
}

.txt-border {
    display: inline;
    border-bottom: 1px solid #fff;
}

a.txt-underline,
.txt-underline {
    text-decoration: underline !important;
}
a.txt-underline:hover {
    text-decoration: none !important;
}

.txt-indent {
    text-indent: -1em;
    padding-left: 1em;
}

.txt-left {
    text-align: left !important;
}
.txt-center {
    text-align: center !important;
}
.txt-right {
    text-align: right !important;
}

.f10 { font-size: 10px !important; }
.f11 { font-size: 11px !important; }
.f12 { font-size: 12px !important; }
.f13 { font-size: 13px !important; }
.f14 { font-size: 14px !important; }
.f15 { font-size: 15px !important; }
.f16 { font-size: 16px !important; }
.f17 { font-size: 17px !important; }
.f18 { font-size: 18px !important; }
.f19 { font-size: 19px !important; }
.f20 { font-size: 20px !important; }
.f21 { font-size: 21px !important; }
.f22 { font-size: 22px !important; }
.f23 { font-size: 23px !important; }
.f24 { font-size: 24px !important; }
.f25 { font-size: 25px !important; }
.f30 { font-size: 30px !important; }

/* 1.3 Titles and Subtitles
 * ------------------------------*/
h1, h2, h3, h4 {
    margin: 0;
    font-weight: 400;
    line-height: 2;
}

.sub {
    margin-bottom: 30px;
    font-size: 24px;
    line-height: 1.5;
    font-weight: 600;
    font-family: “メイリオ”, Meiryo, serif;
    text-align: center;
}

.subsub {
    font-size: 24px;
    line-height: 1.5;
    font-weight: 400;
    text-align: center;
    font-family: “メイリオ”, Meiryo, serif;
}

/* 1.4 Tables
 * ------------------------------*/
table {
    width: 970px;
    border-collapse: separate;
	border-spacing: 20px;
	margin: 0 auto 30px;
	line-height: 1.6;
}

table .bg-none {
    background: none !important;
}

table .waku {
    padding: 7px;
    position: relative;
    z-index: 0;
    background: none !important;
    vertical-align: top;
}
table .waku:before {
    background: url(../img/bg-yellow.png) 0 0 repeat;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -2;
}
/* IE11 */
@media all and (-ms-high-contrast:none) {
     *::-ms-backdrop, table .waku:before {
        height:  334px !important;
     }
}
table .waku:after{
    background: #fff;
    content: '';
    position: absolute;
    top: 7px;
    bottom: 7px;
    left: 7px;
    right: 7px;
    z-index: -1;
}
/* IE11 */
@media all and (-ms-high-contrast:none) {
     *::-ms-backdrop, table .waku:after {
        height:  320px !important;
     }
}
table .waku .sub {
    margin: 30px 0 60px;
    font-size: 16px;
    font-weight: 600;
    font-family: '游ゴシック', YuGothic, sans-serif;
    color: #f60;
}
table .waku span {
    display: inline-block;
}
table .waku .price {
    margin-top: -15px;
    margin-bottom: -5px;
}
table .waku .price span:last-of-type {
    margin-left: 80px;
}

table .txt-left {
    text-align: left !important;
}
table .txt-center {
    text-align: center !important;
}

table tr.ttl th {
    padding: 5px;
    font-size: 16px;
    color: #fff;
    background: #c1bb2a;
    border-radius: 0;
    vertical-align: middle;
    text-align: center;
    font-weight: 600;
    left: 0;
}
table tr.ttl.gray th {
    background: #9fa6ab;
}

table th {
    padding: 15px 5px;
    font-size: 18px;
    color: #fff;
    border-radius: 10px;
    position: relative;
    left: -20px;
}
table th .icon {
    display: block;
    position: absolute;
    top: -14px;
    left: -7px;
    margin: 0;
}
table th.grade01 {
    background: #ea4866;
}
table th.grade02 {
    background: #1a81c8;
}
table th.grade03 {
    background: #40b537;
}
table th.grade-basic {
    background: #ff8b3e;
}

table td {
	padding: 15px 5px;
	background: #fff;
	text-align: center;
	vertical-align: middle;
	position: relative;
}
table td .icon-arrow {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -53px;
    margin: auto;
}

/* 1.5 Buttons
 * ------------------------------*/
/* 1.6 Lists
 * ------------------------------*/
dl.dl-list {
    width: 100%;
    display: table;
    margin: 0;
    padding: 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
dl.dl-list + dl.dl-list {
    border-top: none;
}
dl.dl-list dt {
    width: 17%;
    display: table-cell;
    padding: 20px 10px;
    background: #eeeeee;
    font-weight: normal;
    line-height: 2;
    vertical-align: middle;
    text-align: center;
}
dl.dl-list dd {
    width: 83%;
    display: table-cell;
    padding: 20px 30px;
    line-height: 2;
    vertical-align: middle;
}

ul.disc-list {
    list-style: disc;
    margin: 0 0 30px 25px;
}

/* 1.7 Other Elements
 * ------------------------------*/
/* 1.7.1 plugins ------------*/
.google-maps {
    margin: 20px auto 0;
}
.google-maps iframe {
	margin: 0;
	padding: 0;
}

.fb_iframe_widget, .fb_iframe_widget span, .fb_iframe_widget span iframe[style] {
  width: 100% !important;
}
.fb_iframe_widget {
  margin: 20px 0;
}

/* 1.7.2 page top ------------*/
#pagetop {
    position: fixed;
    bottom: 40px;
    right: 20px;
    width: 44px;
    height: 44px;
    border-radius: 22px;
    z-index: 20;
    transition: background-color 400ms;
    background: rgba(0,134,202,1) url(../img/pagetop.png) 50% 45% no-repeat;
    text-indent: 100% !important;
	white-space: nowrap;
	overflow: hidden;
}
#pagetop:hover {
    cursor: pointer;
    background: rgba(0,134,202,0.7) url(../img/pagetop.png) 50% 45% no-repeat;
}

/* 1.7.3 modal ------------*/
.modal-cont {
    width: 740px;
    margin: 0;
    padding: 35px 35px 30px;
    box-sizing: border-box;
    overflow: hidden;
    color: #000;
}
.modal-inner {
    padding: 0 20px;
}

.modal-cont .sub {
    margin-bottom: 30px;
    padding: 7px 10px 4px;
    font-size: 20px;
    color: #fff;
    border-radius: 10px;
}
#modal-human .modal-cont .sub {
    background: #3ca892;
}
#modal-corporate .modal-cont .sub {
    background: #3b98d8;
}
#modal-financial .modal-cont .sub {
    background: #1a81c8;
}
#modal-management .modal-cont .sub {
    background: #8457c9;
}
#modal-system .modal-cont .sub {
    background: #ea4866;
}
#modal-sales .modal-cont .sub {
    background: #ff8b3e;
}
#modal-logistics .modal-cont .sub {
    background: #ffb400;
}
#modal-production .modal-cont .sub {
    background: #40b537;
}

.modal-cont .subsub {
    font-size: 16px;
    margin: 20px 0 10px;
    padding: 3px 10px 4px;
    font-family: '游ゴシック', YuGothic, sans-serif;
    color: #444444;
    border: 1px solid #000;
}

.modal-cont dl.dl-modal {
    width: 100%;
    display: table;
    margin: 5px 0;
}
.modal-cont dl.dl-modal dt {
    display: table-cell;
    width: 150px;
    font-weight: 600;
    vertical-align: middle;
    box-sizing: border-box;
}
.modal-cont dl.dl-modal dd {
    display: table-cell;
    padding-left: 30px;
    vertical-align: middle;
}

.modal-cont dl.dl-modal.color {
    margin: 10px 0;
}
.modal-cont .subsub + dl.dl-modal.color {
    margin-top: 20px;
}
.modal-cont dl.dl-modal.color dt {
    padding: 20px 10px;
    text-align: center;
}
.modal-cont dl.dl-modal.color dt.orange {
    background: #ffcc8e;
}
.modal-cont dl.dl-modal.color dt.green {
    background: #b7dca3;
}
.modal-cont dl.dl-modal.color dt.pink {
    background: #fbc2c3;
}
.modal-cont dl.dl-modal.color dd {
}

/*--- Color Box ---*/
#colorbox, #cboxOverlay, #cboxWrapper {
    z-index: 10010 !important;
}

#cboxOverlay {
    background: rgba(0,0,0,0.8);
}

#cboxLoadedContent {
    border: none;
    position: relative;
}

#cboxClose {
    width: 17px;
    height: 17px;
    top: 10px;
    right: 10px;
    outline: none;
    background: url(../img/icon-close.svg) 0 0 no-repeat;
    background-size: 17px 17px;
}
#cboxClose:hover {
    opacity: 0.7;
    transition: 0.7s;
    background-position: 0 0;
}

/* 1.8 SNS
 * ------------------------------*/
.knt_general-set .icon_social {
    min-width: 220px;
    position: absolute;
    right: -50px;
    bottom: 20px;
    z-index: 3;
}
.knt_general-set .icon_social iframe {
    margin-left: 10px;
    max-width: 120px !important
}
.knt_general-set .icon_social .twitter-share-button {
    height: 25px !important
}

/*-------------------------------
 * 2. HEADER
 * ----------------------------*/
header {
    height: 100px;
    margin: 0;
    padding: 30px 0 0;
}

header .icon-kentei {
    position: absolute;
    top: 15px;
    right: 15px;
    margin: 0;
    z-index: 2000;
}

header h1 {
    width: 332px;
    height: 85px;
    background: url(../img/logo.png) 0 0 no-repeat;
    text-indent: 100% !important;
	white-space: nowrap;
	overflow: hidden;
	margin: 0;
}
header h1 a {
    display: block;
    width: 332px;
    height: 85px;
}

header .logo-javada {
    position: absolute;
    top: 31px;
    left: 370px;
    margin: 0;
}
header .logo-javada .txt {
    float: right;
    font-size: 14px;
    margin: 0;
    padding-left: 20px;
    line-height: 1.7 !important;
}

/*-------------------------------
 * 3. CONTENTS
 * ----------------------------*/
.block-wrap {
    width: 100%;
    margin: 0;
    padding: 0;
}
.block-wrap .inner {
    width: 950px;
    margin: 0 auto;
    position: relative;
}

.number.right {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
}
.number.left {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}
.number.right img,
.number.left img {
    display: block;
}

/*3.1 Main
 *------------------------------*/
#tp-main {
    padding-bottom: 45px;
    background: #0086ca;
    color: #fff;
}
#tp-main a,
#tp-main a:hover {
    color: #fff;
}

#tp-main .main-cont {
    /*margin-top: 40px;*/
    margin-top: 10px;
    width: 100%;
    display: table;
    font-family: “メイリオ”, Meiryo, serif;
}
#tp-main .main-cont .left {
    /*width: 300px;*/
    width: 400px;
    display: table-cell;
    vertical-align: top;
}
#tp-main .main-cont .right {
    width: 530px;
    display: table-cell;
    /*vertical-align: top;*/
    vertical-align: middle;
    text-align: right;
}
#tp-main .main-cont .right img {
    width: 530px;
    height: auto;
    margin-top: -30px;
    margin-right: -20px;
}

#tp-main .main-cont .txt {
    font-size: 18px;
    margin-bottom: 12px;
    color: #ff0;
    line-height: 1.5;
    letter-spacing: -0.02em;
}
#tp-main .main-cont .txt span {
    display: inline-block;
    margin: 5px 0;
    font-size: 12px;
    line-height: 1.45;
    color: #fff;
    letter-spacing: 0;
}

#tp-main .main-cont .sub {
    /*margin-bottom: 30px;*/
    margin-bottom: 15px;
    font-size: 34px;
    line-height: 1.45;
    font-weight: 400;
    text-align: left;
}

#tp-main .main-cont .bg {
    width: auto;
    height: 36px;
    margin: 0 0 7px;
    font-size: 20px;
    background: #2b69b4;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.08em;
    box-sizing: border-box;
}
#tp-main .main-cont .bg span {
	display: inline-block;
	font-size: 18px;
	vertical-align: 2%;
}

#tp-main .main-cont  .day {
    font-size: 34px;
}

#tp-main .main-cont .circle {
    display: inline-block;
    margin-left: 5px;
    width: 30px;
    height: 30px;
    background: #fff;
    color: #f00;
    border-radius: 50%;
    font-size: 20px;
    vertical-align: 15%;
    line-height: 1.6;
    font-weight: 600;
    text-align: center;
}

#tp-main .main-cont .day-deadline {
    font-size: 25px;
    color: #ff0;
}

#tp-main .main-cont .waku {
    width: auto;
    height: 56px;
    margin: 7px 0 0;
    padding-top: 8px;
    font-size: 20px;
    color: #ff0;
    border: 2px solid #ff0;
    text-align: center;
    font-weight: 600;
    box-sizing: border-box;
}
#tp-main .main-cont .waku.small {
	font-size: 18px;
	padding-top: 10px;
}

/*3.2 Btn
 *------------------------------*/
#tp-btn {
    padding: 40px 0;
    background: #ffee3f;
    color: #fff;
    position: relative;
}
#tp-btn a,
#tp-btn a:hover {
    color: #fff;
}
#tp-btn:after {
	content: '';
	position: absolute;
	border-top: 20px solid #ffee3f;
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	bottom: -19px;
	left: 50%;
	margin-left: -12px;
	z-index: 10;
}

.btn-list {
    width: 655px;
    margin: 0 auto;
}
.btn-list a:hover {
    opacity: 0.8;
    transition: 0.7s;
}
.btn-list.wide {
    width: 800px;
}
.btn-list li a {
    display: block;
    width: 299px;
    height: 70px;
    text-indent: 100% !important;
	white-space: nowrap;
	overflow: hidden;
}
.btn-list.wide li a {
    width: 380px;
}
.btn-list li.btn01 a {
    background: url(../img/btn01.png) center center no-repeat;
}
.btn-list li.btn02 a {
    background: url(../img/btn02.png) center center no-repeat;
}
.btn-list li.btn03 a {
    background: url(../img/btn03.png) center center no-repeat;
}
.btn-list li.btn04 a {
    background: url(../img/btn04.png?=200722) center center no-repeat;
}
.btn-list li.btn05 a {
    background: url(../img/btn05.png) center center no-repeat;
}
.btn-list li.btn06 a {
    background: url(../img/btn06.png) center center no-repeat;
}

/*----- cbt 追加 250715 -----*/
.btn-list-2 {
	width: 800px;
	margin: 0 auto;
}
.btn-list-2 li {
	width: 100%;
	height: 70px;
	margin: 0 auto 15px;
	padding: 0;
	font-size: 21px;
	font-weight: 600;
	line-height: 1;
	position: relative;
}
#tp-challenge .btn-list-2 li {
	margin-bottom: 20px;
}
.btn-list-2 li:last-of-type {
	margin-bottom: 0 !important;
}
.btn-list-2 li a {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 72%;
    height: 70px;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    border: 5px solid #fff;
    background: #EE3499;
    text-decoration: none;
    margin: auto;
}
.btn-list-2 li.wide a {
	width: 100%;
}
.btn-list-2 li.pink a {
	background: #EE3499;
}
.btn-list-2 li.green a {
	background: #66AA66;
}
.btn-list-2 li.orange a {
	background: #FF8B3E;
}
.btn-list-2 li a:hover {
	text-decoration: none;
	opacity: 0.8;
	transition: 0.5s;
}
.btn-list-2 li i {
	display: block;
	position: absolute;
	top: 48%;
	left: 20px;
	transform: translateY(-48%);
	font-size: 30px;
	font-weight: 600;
}

/*3.3 About
 *------------------------------*/
#tp-about {
    padding: 35px 0;
    background: #96c;
    color: #fff;
    text-align: center;
}
#tp-about a,
#tp-about a:hover {
    color: #fff;
}

#tp-about .sub {
    margin-bottom: 15px;
    line-height: 2.3;
}
#tp-about .subsub {
    line-height: 2.3;
}

/*3.4 Voice
 *------------------------------*/
#tp-voice {
    padding-top: 40px;
    background: #dcdee0;
    text-align: center;
}
#tp-voice img {
    display: block;
    margin: 0 auto;
}

/*3.5 Reason
 *------------------------------*/
#tp-reason {
    padding: 50px 0;
    text-align: center;
}

#tp-reason .flex-box {
    margin-top: 40px;
    font-size: 14px;
    font-weight: 600;
}
#tp-reason .flex-box.four {
    width: 900px;
}

/*3.6 Item
 *------------------------------*/
#tp-item {
    padding: 50px 0;
    background: #dcdee0;
}

#tp-item .subsub {
    margin-bottom: 30px;
    line-height: 2.3;
}

#tp-item .flex-box {
    color: #fff;
}
#tp-item .flex-box li {
    width: 215px;
    height: 215px;
    margin-bottom: 30px;
    font-size: 24px;
    font-weight: 600;
    position: relative;
}
#tp-item .flex-box li a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 215px;
    height: 215px;
    color: #fff;
    text-decoration: none;
}
#tp-item .flex-box li:hover {
    opacity: 0.7;
    transition: 0.7s;
}
#tp-item .flex-box .more {
    position: absolute;
    right: 10px;
    bottom: 5px;
    margin: 0;
    color: #ff0;
    font-size: 16px;
    font-weight: 400;
}

#tp-item .flex-box li.human {
    background: #3ca892;
}
#tp-item .flex-box li.corporate {
    background: #3b98d8;
}
#tp-item .flex-box li.financial {
    background: #1a81c8;
}
#tp-item .flex-box li.management {
    background: #8457c9;
}
#tp-item .flex-box li.system {
    background: #ea4866;
}
#tp-item .flex-box li.sales {
    background: #ff8b3e;
}
#tp-item .flex-box li.logistics {
    background: #ffb400;
}
#tp-item .flex-box li.production {
    background: #40b537;
}

#tp-item dl.point-list {
    width: 100%;
    display: table;
    margin: 18px 0 0;
    font-size: 18px;
}
#tp-item dl.point-list dt {
    display: table-cell;
    width: 90px;
}
#tp-item dl.point-list dt span {
    display: block;
    width: 75px;
    height: 30px;
    padding-top: 6px;
    border-radius: 15px;
    box-sizing: border-box;
    background: #ee3399;
    color: #fff;
    font-weight: 600;
    text-align: center;
    line-height: 1;
}
#tp-item dl.point-list dd {
    display: table-cell;
    line-height: 1.6;
}

/*3.7 Grade
 *------------------------------*/
#tp-grade {
    padding: 50px 0;
    background: #eae675;
}

#tp-grade .subsub {
    line-height: 2.3;
}

/*3.8 Cost
 *------------------------------*/
#tp-cost {
    padding: 60px 0 40px;
    background: #dcdee0;
}

#tp-cost .subsub {
    margin-bottom: 30px;
}

#tp-cost table {
    margin-bottom: 0;
}
#tp-cost table td {
    font-size: 24px;
}

/*3.9 Voice Gokaku
 *------------------------------*/
#tp-voice-gokaku {
    padding: 50px 0 40px;
    background: #a3e1f5;
}

/*3.10 Book
 *------------------------------*/
#tp-book {
    padding: 50px 0 20px;
    position: relative;
}
#tp-book:after {
	content: '';
	position: absolute;
	border-top: 20px solid #fff;
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	bottom: -19px;
	left: 50%;
	margin-left: -12px;
	z-index: 10;
}

#tp-book .subsub {
    margin-bottom: 40px;
    line-height: 2.3;
}

#tp-book .book-list {
    width: 100%;
    display: table;
    margin: 30px 0 0;
}
#tp-book .txt {
    width: 420px;
    display: table-cell;
    text-align: center;
    vertical-align: top;
}
#tp-book .img {
    width: 530px;
    display: table-cell;
    text-align: center;
    vertical-align: top;
}
#tp-book .img .pict {
    margin-top: -70px;
    margin-left: 60px;
}

.fukidashi  {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 30px;
    width: 320px;
    font-size: 20px;
    background: #fff;
}
.fukidashi.right:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #fff;
}
.fukidashi.left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #fff;
}

.fukidashi p {
  margin: 0;
  padding: 0;
}
.fukidashi.green  {
    background: #3c9;
}
.fukidashi.green:before {
    border-left: 15px solid #3c9;
}
.fukidashi.pink  {
    background: #f18ea0;
}
.fukidashi.pink:before {
    border-right: 15px solid #f18ea0;
}
.fukidashi.blue  {
    background: #66bbee;
}
.fukidashi.blue:before {
    border-left: 15px solid #66bbee;
}

/*3.11 Challenge
 *------------------------------*/
#tp-challenge {
    padding: 50px 0;
    background: #96c;
    color: #fff;
}
#tp-challenge a,
#tp-challenge a:hover {
    color: #fff;
}

#tp-challenge .sub {
    margin-bottom: 20px;
}
#tp-challenge .subsub {
    margin-bottom: 30px;
}

/*-------------------------------
 * 4. FOOTER
 * ----------------------------*/
footer {
    /*height: 320px;*/
    margin: -1px 0 0;
    padding-top: 65px;
    padding-bottom: 20px;
    text-align: center;
    background: #96c url(../img/bg-footer.png) center bottom no-repeat;
    background-size: cover;
    color: #fff;
    box-sizing: border-box;
}
footer a,
footer a:hover {
    color: #fff;
}
footer a[href^="tel:"] {
    color: #fff;
}

footer .logo {
    width: 280px;
    height: 72px;
    margin: 0 auto;
    background: url(../img/logo.png) 0 0 no-repeat;
    background-size: contain;
    text-indent: 100% !important;
	white-space: nowrap;
	overflow: hidden;
}
footer .logo a {
    display: block;
    width: 280px;
    height: 72px;
}

footer .contact-cont {
    width: 950px;
    margin: 25px auto 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    font-size: 14px;
}
footer .contact-cont .sub {
    width: 100%;
    margin: 0 0 12px;
    padding: 10px 5px;
    font-size: 14px;
    background: #2b69b4;
}
footer .contact-cont .subsub {
    margin: 0 0 4px;
    font-size: 14px;
    letter-spacing: -0.02em;
    font-family: '游ゴシック', YuGothic, sans-serif;
    font-weight: 600;
    text-align: left;
}
footer .contact-cont p {
    margin: 0;
}
footer .contact-cont .left {
    width: 350px;
    text-align: left;
    box-sizing: border-box;
    padding-right: 15px;
}
footer .contact-cont .center {
    width: 360px;
    text-align: left;
    box-sizing: border-box;
    padding-left: 15px;
}
footer .contact-cont .right {
    width: 240px;
    text-align: right;
    box-sizing: border-box;
}

footer .contact-cont.col-three {
	gap: 0 20px;
}
footer .contact-cont.col-three .col {
	width: calc(100% / 3 - 14px );
	text-align: left;
}
footer .contact-cont.col-three .sub,
footer .contact-cont.col-three .subsub,
footer .contact-cont.col-three p {
	font-size: 12px;
}

footer .kouen-cont {
    font-size: 15px;
    margin: 0 0 20px;
    color: #ff0;
}
footer .kouen-cont .small {
    display: inline-block;
    margin: 5px 0;
    font-size: 12px;
    line-height: 1.5;
    color: #fff;
    letter-spacing: 0;
}

footer .info-cont {
    width: 950px;
    margin: 10px auto;
    padding: 15px 20px;
    font-size: 14px;
    background: #fff;
    line-height: 1.7;
    color: #000;
    text-align: left;
    box-sizing: border-box;
}
footer .info-cont p {
    margin: 0;
}

/*-------------------------------
 * 5. NOTICEBAR
 * ----------------------------*/
#knt_noticebar {
    width: 100%;
    background-color: #e6e6e6;
    /*left: 0;
    position: fixed;
    top: 0;
    z-index: 1000;
    height: 60px;
    overflow: hidden;*/
}
#knt_noticebar p {
    background: url(/common/imgs/i-attention.gif) 3% no-repeat;
    font-size: 12px;
    line-height: 1.6;
    margin: 0;
    padding: 10px 0;
    text-align: center;
}
#knt_noticebar + #tp-main {
    margin-top: 60px;
}

#knt_noticebar.h-110 {
    height: 110px;
}
#knt_noticebar.h-110 + #tp-main {
    margin-top: 110px;
}

.info-box {
    width: 950px;
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.7;
}
