@charset "utf-8";
body {
    /*font-family: 'Noto Sans JP', sans-serif;*/
    font-weight: 400;
    font-size: 16px;
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #001d2e;
    line-height: 1.8;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-backface-visibility: hidden -webkit-font-smoothing: antialiased
}

img {
    max-width: 100%;
    height: auto;
    width: auto;
    vertical-align: middle;
    line-height: 1;
}

p,div,li,span {
    overflow-wrap: break-word;
    word-wrap: break-word;
}

a {
    text-decoration: none;
    transition: 0.5s;
    color: #001d2e;
}
a:hover {
    text-decoration: none;
    color: #001d2e;
}
a.spLink { pointer-events: none;}

#content { padding: 0!important; }

.wrapper {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px; 
    box-sizing: border-box;
}
.sectionIn {
    max-width: 1120px;
    margin: 0 auto;
}

.flexBlock {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    align-items: stretch;
}
.flexBlock2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.flexBlock3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
}
.flexBlock4 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}
.reverse {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}


/**************************************

header

***************************************/
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: -moz-linear-gradient(top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.3) 5%, rgba(255,255,255,0) 100%);
    background: -webkit-linear-gradient(top, rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.3) 5%,rgba(255,255,255,0) 100%);
    background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.5) 5%,rgba(255,255,255,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80000000', endColorstr='#00ffffff',GradientType=0 );
    background-size: 100% 70px;
    background-repeat: no-repeat;
}
.headerIn {
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 0;
}
.headerIn .logo { width: 15%; }
.headerIn .logo a { display: block;}

.mainvisual {
    background: url(../images/mainImg.png) center top no-repeat;
    background-size: cover;
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: fixed;
    z-index: 777;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
}
#under .mainvisual {
    background: url(../images/mainImg02.png) center top no-repeat;
    background-size: cover;
}
#under .diving .mainvisual {
    background: url(../images/mainImg_diving.png) center top no-repeat;
    background-size: cover;
}
#under .snorkel .mainvisual {
    background: url(../images/mainImg_snorkel.png) center top no-repeat;
    background-size: cover;
}
#under .cruising .mainvisual {
    background: url(../images/mainImg_cruising.jpg) center top no-repeat;
    background-size: cover;
}

h1 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 0 0;
    font-size: 10px;
    color: #fff;
    letter-spacing: 1px;
}

header.scroll_h {
    background: #ed458c;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}


/*-----------------------------------
gNav
-----------------------------------*/
.gNavi {
	margin: 5px 0 0 0;
    width: 58%;
}
.gNavi ul li {
    text-align: center;
    font-size: 14px;
    width: 19%;
}
.gNavi ul li:first-child { width: 29%; }
.gNavi ul li:nth-child(3) { width: 24%;}
.gNavi ul li:nth-child(4) { width: 28%;}
.gNavi ul li a {
    display: block;
    color: #fff;
    margin: 0 15px;
    letter-spacing: 2px;
}
.gNavi ul li a:hover {
    color: #ffff00;
    border-bottom: 1px solid #ffff00;
}

.subNavi {
    display: none;
    position: absolute;
    top: 81px;
    left: 0;
    background: rgba(247,122,174,0.98);
    width: 100%;
}
.subNavi ul {
    width: 100%;
    margin: 0 auto;
    padding: 10px 0 5px 20px;
    text-align: left;
}
.subNavi ul li {
    width: 24%!important;
    display: inline-block;
    text-align: left;
}
.subNavi ul li a {
    display: table;
    margin: 0;
    letter-spacing: 0;
}
.subNavi ul li a:hover {
    background: rgba(255,255,255,0.4);
    border-bottom: none;
    color: #3e2000;
}
.subNavi ul li a .subNimg {
    display: table-cell;
    width: 30%;
}
.subNavi ul li a .subNttl {
    display: table-cell;
    text-align: left;
    font-size: 14px;
    line-height: 1.3;
    padding: 0 0 0 15px;
    vertical-align: middle;
}

.headerIn ul.contact { width: 26%;}
.headerIn ul.contact li { font-size: 14px;}
.contact li:last-child a { width: 160px!important; padding: 5px 10px 5px 0!important;}
.contact li:last-child a:after { top: -2px!important; right: 13px!important;}
.contact li:last-child a { font-size: 12px!important;}
.contact li:last-child a:before {width: 15px!important; height: 20px!important; left: -20px!important;}



/**************************************

footer

***************************************/
footer {
    background: url(../images/bg_footer.jpg) center bottom no-repeat;
    background-size: cover;
    padding: 120px 0 0;
    position: relative;
    z-index: 888;
}
.footerIn {
    float: right;
    margin-bottom: 40px;
}
address {
    display: block;
    color: #fff;
    margin-bottom: 30px;
}
address dl.adr {
    display: table;
    height: 90px;
}
address dl.adr dt {
    font-size: 15px;
    line-height: 1.4;
    display: table-cell;
    height: 90px;
    vertical-align: middle;
    padding: 0 20px 0 0;
}
address dl.adr dt span {
    display: block;
    font-size: 20px;
    margin-top: 3px;
}
address dl.adr dd {
    display: table-cell;
    font-size: 13px;
    line-height: 1.6;
    vertical-align: middle;
}

.f_con li,.contact li {
    width: 50%;
    text-align: center;
}
.f_con li a,.contact li a {
	color: #fff;
	position: relative;
	letter-spacing: 1px;
}
.f_con li:last-child a:hover,
.contact li:last-child a:hover { background: #f44f4f;}
.f_con li:last-child a,
.contact li:last-child a {
    border: 3px solid #ff4343;
    background: #e32121;
    display: inline-block;
    width: 220px;
    padding: 8px 15px 8px 0;
}
.f_con li:last-child a:after,
.contact li:last-child a:after {
    content: '';
    height: 6px;
    width: 6px;
    display: block;
    border: 2px solid #fff;
    border-left-width: 0;
    border-top-width: 0;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    position: absolute;
    top: -3px;
    right: 18px;
    bottom: 0;
    margin: auto;
}
.f_con li:first-child a,
.contact li:first-child a {
	display: inline-block;
    position: relative;
    font-size: 16px;
    padding: 5px 0 0;
}
.f_con li:first-child a:before,
.contact li:first-child a:before {
    content: "";
    position: absolute;
    background: url(../images/telIcon.png) center center no-repeat;
    background-size: 100% auto;
    width: 15px;
    height: 20px;
    top: 3px;
    left: -20px;
    bottom: 0;
    margin: auto;
}
.f_con li:first-child a:before {
    background: url(../images/telIcon03.png) center center no-repeat;
    background-size: 100% auto;
}
.f_con li:first-child a {
	font-size: 24px;
    letter-spacing: 2px;
    color: #fff;
}
.f_con li:first-child a:before {
    width: 20px;
    height: 25px;
    top: 5px;
    left: -25px;
}

.copy {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 10px;
    padding: 5px;
    clear: both;
}


/**************************************

main

***************************************/
#contentIn {
    position: relative;
    z-index: 888;
    margin-top: 100vh;
    background: #fff;
}

h3 {
    text-align: center;
    color: #fff;
    border-bottom: 1px solid #fff;
    padding: 0 0 8px;
    font-size: 20px;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.slick-slider { margin-bottom: 0!important;}


/*-----------------------------------
tours
-----------------------------------*/
.tours {
    background: url(../images/bgImg.png) 0 0 repeat #f7abcb;
    padding: 30px 0;
}
.tours .sectionIn { max-width: 100%; }
.tours .sectionIn h3 {
    max-width: 1200px;
    margin: 0 auto 15px; 
}
.tours dl {
    border: 1px solid rgba(255,255,255,0.6);
    padding: 2px;
    background: rgba(243,142,175,0.3);
    margin-right: 15px;
}
.tours dl a {
    display: table;
    width: 100%;
    height: 100%;
    min-height: 120px;
    vertical-align: middle;
}
.tours dl a:hover { background: rgba(255,255,255,0.25)}
.tours dl dt.tourImg {
    display: table-cell;
    max-width: 120px;
    width: 30%;
    vertical-align: middle;
}
.tours dl dd {
    color: #fff;
    display: table-cell;
    max-width: 180px;
    width: 42%;
    margin: 0;
    padding: 0;
    vertical-align: middle;
}
.tours dl dd .tour_ttl {
    font-size: 15px;
    line-height: 1.3;
    padding: 0 5px 0 10px;
    margin-bottom: 0;
}
/*.tours dl dd .tour_txt {
    font-size: 13px;
    line-height: 1.4;
    padding-right: 18px;
    margin-bottom: 0;
}*/
span.txt_small { font-size: 70%;}

.slick-prev,
.slick-next { display: none!important; }


/*-----------------------------------
itemBlock
-----------------------------------*/
section.itemBlock {
    padding: 80px 0 0;
    background: url(../images/bgImg02.png) left top no-repeat,url(../images/bgImg03.png) right top no-repeat;
}
.font01 {
    color: #612ce9;
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 1px;
}
.font01 + p {
    font-size: 18px;
    margin-bottom: 40px;
}

section.itemBlock .sectionIn {
    background: url(../images/idxBg02.jpg) center bottom no-repeat #dae7ff;
    background-size: 100% auto;
    max-width: 100%;
    padding: 40px 0 70px;
}
.itemBlockIn {
    max-width: 1200px;
    margin: 0 auto;
}
.itemBlockIn .bnr01 li {
    width: 100%;
    position: relative;
}
.itemBlockIn .bnr01 li a {
    color: #fff;
    font-size: 18px;
    display: block;
}
.itemBlockIn .bnr01 li a span {
    display: inline-block;
    position: absolute;
    right: 0;
    bottom: 0;
    background: #ed458c;
    text-align: center;
    padding: 10px 70px 10px 48px;
}
.itemBlockIn .bnr01 li a span:before {
    position: absolute;
    content: "";
    left: -60px;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 46px 60px;
    border-color: transparent transparent #ed458c transparent;
}
.itemBlockIn .bnr01 li a span:after,
.itemBlockIn .bnr02 li a span:after {
    content: '';
    height: 12px;
    width: 12px;
    display: block;
    border: 2px solid #fff;
    border-left-width: 0;
    border-top-width: 0;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    position: absolute;
    top: 0;
    right: 18px;
    bottom: 0;
    margin: auto;
}

.itemBlockIn .bnr02 li a {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 18px;
}
.itemBlockIn .bnr02 li a span {
    display: block;
    background: #ed458c;
    padding: 12px 0;
    margin: 0 2px;
    position: relative;
}

.bnr01 li a:hover,
.bnr02 li a:hover {
    filter: alpha(opacity=70);
    opacity: 0.7;
}

.linkBtn a {
    display: inline-block;
    background: #3e2000;
    color: #fff;
    padding: 18px 50px;
    font-size: 18px;
    position: relative;
}
.linkBtn a:hover { background: #6f4415;}
.linkBtn a:after {
    content: '';
    height: 12px;
    width: 12px;
    display: block;
    border: 2px solid #fff;
    border-left-width: 0;
    border-top-width: 0;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    position: absolute;
    top: 0;
    right: 18px;
    bottom: 0;
    margin: auto;
}



/*-----------------------------------
menuBlock
-----------------------------------*/
section.menuBlock {
    padding: 60px 0;
    background: url(../images/bgImg01.png) 0 0 repeat;
}

h3.ttl01 {
    color: #3d2000;
    font-size: 28px;
    line-height: 1.5;
    margin-bottom: 40px;
    letter-spacing: 2px;
}
h3.ttl01 span {
    display: block;
    font-size: 15px;
    letter-spacing: 1px;
}

h4 {
    color: #3d2000;
    font-size: 26px;
    line-height: 1.6;
    text-align: center;
    letter-spacing: 3px;
    margin-bottom: 20px;
}
h4 span {
    display: block;
    font-size: 13px;
    letter-spacing: 1px;
}

.bnr01 li { width: 49%;}
.bnr02 li { width: 32%;}

.infoIn02 { margin-bottom: 60px;}
.infoIn02 dl {
    display: table;
    width: 100%;
    height: 200px;
    table-layout: auto;
    background: #fff;
    padding: 30px 0 0;
}
.infoIn02 dl dt,
.infoIn02 dl dd {
    display: table-cell;
    vertical-align: middle;
    background: url(../images/ttlBg02.gif) 0 top repeat-x;
}
.infoIn02 dl dt {
    border-right: 40px solid #fff;
    width: 300px;
    text-align: center;
}
.infoIn02 dl dt h4 { border-top: none;}
.other .infoIn02 dl dt h4:before { display: none; }

p.txtBtn a {
    display: block;
    border: 1px solid #adadad;
    padding: 8px 0;
}
p.txtBtn a:hover { background: rgba(173,173,173,0.5);}

.infoIn02 dl dd ul li {
    border-bottom: 1px solid #bababa;
    padding: 5px;
    font-size: 14px;
}
.infoIn02 dl dd ul li:last-child { border-bottom: none; }
.infoIn02 dl dd ul li .cate {
    display: inline-block;
    background: #bf9e7b;
    color: #fff;
    width: 10em;
    text-align: center;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding: 2px 0;
    margin-right: 15px;
}
.infoIn02 dl dd ul li .date {
    display: inline-block;
    margin-right: 10px;
}

/*-----------------------------------
invitation
-----------------------------------*/
.invitation01 {
    padding: 15px 0 100px;
    background: url(../images/idxBg01.jpg) center top no-repeat;
    background-size: cover;
}
.invitation01 .h3Block {
    background-size: cover;
    padding: 0;
    width: 100%;
    height: 240px;
    display: table;
}
.invitation01 .h3Block h3 {
    display: block;
    color: #8a6653;
    border-bottom: none;
    margin-bottom: 0;
    vertical-align: middle;
    text-shadow: 0 0 2px #fff;
    padding-top: 80px;
    font-size: 30px;
}
.invitation01 .h3Block h3 span { color: #897367; }
.invitation02 {
    padding: 90px 0 70px;
    background: url(../images/idxBg03.jpg) center top no-repeat;
    background-size: cover;
}


.blockIn {
    width: 850px;
    margin: 0 auto;
    background: rgba(255,255,255,0.45);
    padding: 40px 0 50px;
}

p.ttl_txt {
    text-align: center;
    text-shadow: 1px 1px 2px #fff, 1px 1px 3px #fff, 1px 1px 4px #fff;
    color: #333;
    font-weight: 700;
    font-size: 35px;
    padding: 0 0 0;
    letter-spacing: 1px;
    margin: 0 auto 20px;
}
p.ttl_txt span {
    display: inline-block;
    border-top: 1px solid #bbb;
    margin-top: 18px;
    font-size: 20px;
    padding: 15px 100px 0;
    letter-spacing: 1.5px;
}
p.txt_area {
    font-size: 18px;
    color: #363636;
    margin-bottom: 30px;
    line-height: 1.7;
    text-shadow: 0 0 3px #fff, -1px 2px 10px #fff, 2px -1px 10px #fff;
    letter-spacing: 0.5px;
}

.blockIn p.txtBtn a {
    text-align: center;
    color: #fff;
    width: 300px;
    font-size: 18px;
    margin: 0 auto;
    padding: 15px 0;
    background: rgba(90,90,90,0.65);
    border: 1px solid #fff;
    position: relative;
}
.blockIn p.txtBtn a:after {
    content: '';
    height: 12px;
    width: 12px;
    display: block;
    border: 2px solid #fff;
    border-left-width: 0;
    border-top-width: 0;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}
.blockIn p.txtBtn a:hover {
    background: rgba(90,90,90,0.3);
    color: #333;
}
.blockIn p.txtBtn a:hover:after {
    border: 2px solid #333;
    border-left-width: 0;
    border-top-width: 0;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
}

/*-----------------------------------
service
-----------------------------------*/
.service { padding: 60px 0;}
.service h3.ttl01 {
    border-top: 2px solid #e1cc93;
    padding: 30px 0 10px;
    position: relative;
}
.service h3.ttl01:before,
.service h3.ttl01:after {
    content: "";
    border-top: 2px solid #3d2000;
    width: 280px;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
}
.service h3.ttl01:before { top: -2px;}
.service h3.ttl01:after { top: -10px;}

.service dl {
    width: 48%;
    padding: 10px;
    background: url(../images/idxBg04.jpg) center top no-repeat;
    background-size: cover;
    height: 800px;
}
.service dl:last-child {
    background: url(../images/idxBg05.jpg) center top no-repeat;
    background-size: cover;
}
.service dl a {
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid #fff;
}
.service dl a:hover { background: rgba(255,255,255,0.2) }

.service dl a dt { padding: 120px 0;}
.service dl a dd {
    font-size: 14px;
    padding: 15px 18px;
    color: #fff;
}
.service dl a dd .txtBtn02 {
    font-size: 15px;
    padding: 15px 18px;
    background: rgba(62,32,0,0.8);
    text-align: center;
    width: 300px;
    margin: 0 auto;
    position: relative;
}
.service dl a dd .txtBtn02:after {
    content: '';
    height: 8px;
    width: 8px;
    display: block;
    border: 2px solid #fff;
    border-left-width: 0;
    border-top-width: 0;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}

/*-----------------------------------
other
-----------------------------------*/
.other { padding: 40px 0 80px;}
.other h4 {
    position: relative;
    text-align: left;
    border-top: 1px solid #e5e3e4;
    padding: 25px 0 10px;
    font-size: 22px;
    margin-bottom: 15px;
}
.other h4:before {
    content: "";
    border-left: 200px solid #383838;
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
}
.other h4 span {
    display: inline-block;
    margin-left: 30px;
    font-size: 12px;
    font-weight: 400;
}

.jobIn {
    background: url(../images/idxJob.png) 0 0 no-repeat;
    background-size: 100% auto;
    padding: 40px 30px;
    margin-bottom: 100px;
    display: table;
    table-layout: auto;
    width: 100%;
}
.jobIn dl {
    color: #555;
    display: table-cell;
    vertical-align: bottom;
    width: 80%;
}
.jobIn dl dt {
    float: left;
    border-right: 2px solid #ffde00;
    line-height: 1.4;
    letter-spacing: 1.5px;
    font-size: 28px;
    text-align: center;
    padding: 3px 25px 1px 0;
    margin-right: 25px;
}
.jobIn dl dt span:first-child {
    display: block;
    font-size: 16px;
    margin-bottom: 3px;
}
.jobIn dl dd {
    float: left;
    font-size: 20px;
    line-height: 1.5;
}
.jobIn dl dd span { display: block;}
.jobIn dl dd span:first-child { margin-bottom: 3px}
.jobIn dl dd span:last-child {
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 2px;
}
.jobIn p.txtBtn {
    display: table-cell;
    vertical-align: bottom;
    width: 200px;
}
.jobIn p.txtBtn a {
    border: none;
    background: #3e2000;
    color: #fff;
    position: relative;
    width: 100%;
    text-align: center;
    font-size: 15px;
}
.jobIn p.txtBtn a:hover { background: #613b12; }
.jobIn p.txtBtn a:after {
    content: '';
    height: 8px;
    width: 8px;
    display: block;
    border: 2px solid #fff;
    border-left-width: 0;
    border-top-width: 0;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}

.contents,.facebook { width: 47%; }

.contents ul li {
    float: left;
    width: 49.9%
}
.contents ul li a {
    display: block;
    margin-bottom: 8px
}
.contents ul li:nth-child(odd) a { margin-right: 4px}
.contents ul li:nth-child(even) a { margin-left: 4px}


/*-----------------------------------------------*/
/*------------------------------------- underPage*/
#under .mainvisual { height: 40vh;}
#under .mainvisual h2 {
    margin: 50px auto 0;
    display: inline-block;
    color: #fff;
    font-size: 20px;
    background: rgba(0,0,0,0.18);
    text-align: center;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.6), 0 0 3px rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.6);
    padding: 15px 35px;
    letter-spacing: 2px;
    box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
#under #contentIn {
    margin-top: 40vh;
    padding: 0 0 60px;
}

h3#ttl01 {
    color: #333;
    font-size: 26px;
    border-bottom: none;
    position: relative;
    padding: 20px 0;
    margin-bottom: 30px;
}
h3#ttl01:after {
    content: "";
    position: absolute;
    border-bottom: 2px solid #2863b5;
    width: 80px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
h3#ttl01 span {
    display: block;
    color: #acacac;
    margin-bottom: 15px;
}

h3#ttl02 {
    color: #333;
    font-size: 28px;
    border-bottom: none;
    position: relative;
    padding: 20px 0;
    margin-bottom: 30px;
    line-height: 1.5;
}
h3#ttl02 span {
    display: block;
    color: #acacac;
    font-size: 12px;
    margin-bottom: 15px;
}

h4.underH4 {
    color: #fff;
    font-size: 34px;
    font-weight: 400;
    text-align: left;
    letter-spacing: 1px;
    margin-bottom: 10px;
    text-shadow: 0 0 5px #968b87, 1px 1px 1px #968b87;
}
h4.underH4 span {
	display: inline-block;
	font-size: 16px;
	margin-left: 20px;
}

h4.guide_ttl {
    border-bottom: 2px solid #ed458c;
    padding: 0 0 8px 10px;
    position: relative;
}
h4.guide_ttl span {
    font-size: 20px;
    margin-bottom: 8px;
}
h4.guide_ttl:before {
    content: "";
    position: absolute;
    background: url(../images/ttlIcon.gif) 0 center no-repeat;
    background-size: cover;
    width: 26px;
    height: 35px;
    top: 0;
    margin: 0px auto auto -38px;
}

h5.underH5 {
    font-size: 20px;
    letter-spacing: 1px;
    text-align: left;
    line-height: 1.4;
    margin-bottom: 10px;
}


/*----------
news
----------*/
.navigation,
.post-navigation {
    margin: 0 auto!important;
    padding: 0 0 40px!important;
    max-width: 900px;
}

.news {
    display: block;
    margin: 0 auto;
    max-width: 900px;
    font-size: 14px;
}

/* カテゴリー表示の共通設定 */
.post-thumbnail .thumbnail-category-tag {
    position:absolute;
    top: 0px;
    color: #fff;
    font-size: 0.8em;
    padding: 5px 8px;
    font-weight:400;
}
 
.post-thumbnail{
    position:relative;
}
.post-thumbnail a {
    display: inline-block;
}
.post-thumbnail a:hover {
    display: inline-block;
    background: #000;
}
 
/* 以下、スラッグ名毎に色を指定 */
.post-thumbnail .shop { background-color: rgba(45,135,226,0.8);}
.post-thumbnail .toursinfo { background-color: rgba(255,204,123,0.8);}
.post-thumbnail .media { background-color: rgba(200,184,100,0.8);}

.news.newsAll {
    display: flex;
    max-width: 980px;
}
.newsAll article {
    width: 24%;
    margin-right: 10px;
    margin-bottom: 15px;
    position: relative;
    overflow: hidden;
    max-width: 235px;
    max-height: 260px;
}
.news.newsAll.flexBlock2 { justify-content: flex-start;}
.newsAll article .post-thumbnail {
    margin-bottom: 0!important;
    max-height: 180px;
    overflow: hidden;
}
.newsAll article a {
    display: block;
    color: #333;
    font-size: 10px;
}
.newsAll article a .entry-header {
    display: block;
    background: rgba(0,0,0,0.6);
    position: absolute;
    bottom: 0;
    text-decoration: none;
    padding: 8px 8px 5px!important;
    margin: 0 auto!important;
    right: 0;
    left: 0;
    opacity: 0;
}
.newsAll article .entry-header span {
    display: block;
    margin-bottom: 3px;
}
.newsAll article .entry-header span.entry-title {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.newsAll article a .entry-header:hover {
    opacity: 1;
    display: block!important;    
}
.newsAll article a .entry-header {
    -webkit-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
    -moz-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
    -o-transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
    transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
}

a.thumb_link { display: block;}

#under .mainvisual h2.newsH2 {
    max-width: 90%;
    padding: 10px;
    min-width: 300px;
}
#under .mainvisual h2.newsH2 span {
    font-size: 20px;
}

h3#ttl02, h3#ttl03 {
    color: #333;
    font-size: 28px;
    border-bottom: none;
    position: relative;
    padding: 20px 0;
    margin-bottom: 30px;
    line-height: 1.5;
}
h3#ttl03 span {
    display: block;
    font-size: 36px;
}

.news.newsAll h3.news_ttl {
    text-align: left;
    font-size: 14px!important;
    line-height: 1.3;
    color: #555;
}
.post-thumbnail {
    position: relative;
    height: 180px;
}
.post-thumbnail img {
    position: absolute;
    bottom: 0;
    top: 0;
    left: 50%;
    max-width: 100%;
    transform: translate(-50%,0);
}
.news.newsAll .news_txt {
    display: none;
}


/*----------
tour
----------*/
.tour { background: url(../images/bgImg02.png) 0 0 no-repeat #fff!important;}
.tour .tourIn {
    background: url(../images/ybj_mapImg.png) right bottom no-repeat;
    background-size: 190px auto;
}

.tourBlock {
    max-width: 1200px;
    margin: 0 auto 80px;
    padding: 40px 0;
    background: url(sunayamabeach.com_wp_wp-content_themes_sunayama_images_tourImg01.jpg) right center no-repeat;
    background-size: 640px auto;
}
.tourBlock.tour02 {
    background: url(sunayamabeach.com_wp_wp-content_themes_sunayama_images_tourImg02.jpg) left center no-repeat;
    background-size: 640px auto;
}
.tourBlock.tour03 {
    background: url(sunayamabeach.com_wp_wp-content_themes_sunayama_images_tourImg03.jpg) right center no-repeat;
    background-size: 640px auto;
}
.tourBlock.tour04 {
    background: url(sunayamabeach.com_wp_wp-content_themes_sunayama_images_tourImg04.jpg) left center no-repeat;
    background-size: 640px auto;
}
.tourBlock.tour05 {
    background: url(sunayamabeach.com_wp_wp-content_themes_sunayama_images_tourImg04.jpg) right center no-repeat;
    background-size: 640px auto;
}

.tourBlockIn {
    float: left;
    background: #fff;
    padding: 30px 40px 40px;
    width: 55%;
}
.tourBlockIn.rBlock { float: right;}



p.tourTxt {
    font-size: 14px;
    line-height: 2.0;
    margin-bottom: 20px;
}
p.underLink a {
    display: inline-block;
    position: relative;
    text-align: center;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    border: 2px solid #2863b5;
    color: #2863b5;
    width: 420px;
    padding: 8px 0;
    background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(40,100,180,1) 50%);
    background-position: 0 0;
    background-size: 200% auto;
    transition: .3s;
}
p.underLink a:after {
    content: '';
    height: 10px;
    width: 10px;
    display: block;
    border: 2px solid #2863b5;
    border-left-width: 0;
    border-top-width: 0;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}
p.underLink a:hover {
    background-position: -100% 0;
    color: #fff;
}
p.underLink a:hover:after {
	border: 2px solid #fff;
    border-left-width: 0;
    border-top-width: 0;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
}


/*----------
tour kayac
----------*/
h4.ttlh4 {
    color: #003089;
    font-size: 24px;
    letter-spacing: 0;
    padding: 30px 0 5px;
    position: relative;
    margin-bottom: 45px;
}
h4.ttlh4:after {
    content: "";
    border-bottom: 2px solid #ed458c;
    width: 70px;
    height: 2px;
    position: absolute;
    bottom: -10px;
    right: 0;
    left: 0;
    margin: auto;
}

.contArea .contAreatxt_img {
    width: 40%!important;
    position: relative;
}
.contArea .contAreatxt_txt {
    width: 56%!important;
    font-size: 16px!important;
    line-height: 1.9;
}

ul.itemUl li { width: 33%;}
ul.itemUl li span {
    font-size: 14px;
    text-align: center;
    display: block;
    padding: 5px 0 0;
}

section.contactBlock {
    background: #ed458c;
    padding: 20px 10px 40px;
}
section.contactBlock h3#ttl01 {
    color: #fff;
    font-size: 28px;
    padding: 10px 0 15px;
    margin-bottom: 18px;
}
section.contactBlock h3#ttl01:after { border-bottom: 2px solid #fff;}

.contactBlock ul.flexBlock { justify-content: center;}
.contactBlock ul li {
    width: 35%;
    text-align: center;
    display: table;
    margin: 0 10px;
}
.contactBlock ul li:last-child { background: rgba(255,65,65,0.15); }
.contactBlock ul li a {
    display: table-cell;
    position: relative;
    text-align: center;
    -webkit-border-radius: 4px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: 2px solid #fff;
    color: #fff;
    padding: 0 0 0 30px;
    background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(105,150,220,1) 50%);
    background-position: 0 0;
    background-size: 200% auto;
    transition: .3s;
    font-size: 25px;
    letter-spacing: 1px;
    line-height: 1.25;
    height: 80px;
    vertical-align: middle;
}
.contactBlock ul li a:hover {
    background-position: -100% 0;
    color: #fff;
}
.contactBlock ul li:last-child a {
	font-size: 24px;
	border: 2px solid #ff4343;
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(220,30,30,1) 50%);
}
.contactBlock ul li a:before {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    background: url(../images/telIcon02.png) 0 0 no-repeat;
    background-size: 100% auto;
    top: 5px;
    bottom: 0;
    left: -250px;
    right: 0;
    margin: auto;
}
.contactBlock ul li:last-child a:before {
    background: url(../images/pcIcon.png) 0 0 no-repeat;
    background-size: 100% auto;
    left: -250px;
}

span.smalltxt04 {
    display: inline-block;
    font-size: 16px;
}
span.smalltxt05 {
    display: block;
    font-size: 14px;
    letter-spacing: 0;
}
span.smalltxt06 {
    display: block;
    font-size: 15px;
    letter-spacing: 2px;
}

.infoIn { width: 49%;}
.infoIn dl { margin-bottom: 15px;}
.infoIn dl dt {
    background: #ed458c;
    color: #fff;
    padding: 5px 18px;
    margin-bottom: 10px;
}
.infoIn dl dd { font-size: 15px; }
.infoIn dl dd ul li {
    border-bottom: 1px dotted #2863b5;
    padding: 8px 0;
}
.infoIn dl dd ul li:last-child { border-bottom: none; }

.infoIn dl dd p.fl { width: 28%;}
.infoIn dl dd p.fr {
    width: 70%;
    text-align: left;
    font-size: 14px;
    line-height: 1.5;
}
.infoIn dl dd p.txt_red {
    font-size: 14px;
    line-height: 1.5;
}

.infoTable {
    display: table;
    vertical-align: middle;
    width: 100%;
}
.infoTable p {
    display: table-cell;
    vertical-align: middle;
}
li.infoTable .txtL {
    font-size: 14px;
    line-height: 1.5;
    width: 65%;
}
li.infoTable .txtR {
    width: 42%;
    font-size: 22px;
    line-height: 1.3;
    letter-spacing: 1px;
}
li.infoTable .txtR span:first-child {
    display: block;
    font-size: 13px;
}
li.infoTable .txtR span:last-child { font-size: 15px;}

.infoIn table {
    width: 100%;
    table-layout: fixed;
}
.infoIn table tr th, .infoIn table tr td {
    border: 1px dotted #2863b5;
    padding: 5px;
    text-align: center;
}

p.bgBlue {
    background: rgba(40,100,180,0.15);
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 10px 15px;
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.7;
}

table[summary="施設情報"] tr th {
    font-size: 13px;
    width: 20%;
}


/*----------
menu
----------*/
#tips h3.ttl01 {
    font-size: 26px;
    padding-bottom: 20px;
    margin-bottom: 30px;
    letter-spacing: 1px;
    position: relative;
}
#tips h3.ttl01:after {
    content: "";
    position: absolute;
    border-bottom: 2px solid #612ce9;
    width: 100px;
    right: 0;
    bottom: 5px;
    left: 0;
    margin: auto;
}

ul.menuList li {
    width: 24%;
    margin-bottom: 30px;
    margin-left: 10px;
}
ul.menuList li a {
    display: block;
    position: relative;
}
ul.menuList li span.menu_tag {
    display: inline-block;
    position: relative;
    width: 5em;
    margin-left: -10px;
    margin-bottom: -15px;
}
ul.menuList li span.menu_tag span {
    display: block;
    position: absolute;
    text-align: center;
    font-size: 11px;
    color: #fff;
    z-index: 5;
    top: -15px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
ul.menuList li span.menu_tag span:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    height: 50px;
    width: 50px;
    background: transparent;
    z-index: -1;
    transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

ul.menuList li span.menu_tag.no1 span:after { background: #FF0066;}
ul.menuList li span.menu_tag.no2 span:after { background: #FF0099;}
ul.menuList li span.menu_tag.no3 span:after { background: #CC0099;}
ul.menuList li span.menu_tag.first span:after { background: #007bff;}
ul.menuList li span.menu_tag.super span:after { background: #CC3300;}

ul.menuList li span.menu_img {
    display: block;
    margin-bottom: 10px;
}
ul.menuList li span.menu_ttl {
    display: block;
    font-size: 14px;
    padding: 0 5px;
}

h3.singleH3 {
    color: #612ce9;
    font-size: 30px;
    line-height: 1.6;
    position: relative;
    margin-bottom: 60px;
    padding-top: 30px;
    border-bottom: none;
}
h3.singleH3:after {
    content: "";
    position: absolute;
    bottom: -20px;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 180px;
    height: 12px;
    background: url(../images/single_h3_line.png) 0 bottom repeat-x;
}

#singlePage .post-navigation {
    padding: 0 0 60px;
    position: relative;
    z-index: 999;
    background: #fff;
    margin: 0;
}
#singlePage .post-navigation .nav-links {
    padding: 0;
    max-width: 800px;
    margin: 0 auto;
}

.columnInnr.single dl dt {
    width: 40%;
    margin-bottom: 30px;
}
.columnInnr.single dl dd:nth-child(2) {
    width: 52%!important;
    font-size: 17px;
}
.columnInnr.single dl dd:last-child {
    display: block;
    width: 90%;
    margin: 0 auto;
}
.columnInnr.single dl dd > p:nth-child(n+2) { margin-bottom: 8px; }
p.menu_text {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 20px;
}
p.menu_price {
    font-weight: 700;
    color: #aa4400;
    padding-bottom: 5px;
}
p.menu_price span:first-child { margin-top: 5px;}
p.menu_price span:last-child {
    font-size: 24px;
    letter-spacing: 1px;
}
span.tax_txt {
    font-size: 60%!important;
    display: inline-block;
    margin-left: -5px;
}

p.menu_rsv span.fl > span {
    display: block;
    font-size: 80%;
}

.columnInnr.single dl dd.imgBlock {
    width: 91%;
    margin-bottom: 30px;
}
.columnInnr.single dl dd.imgBlock ul li { width: 24%; }
/*#post-71 .columnInnr.single dl dd.imgBlock ul li {
    width: 19%;
    margin: 0 5px;
}*/

.display03 { display: none; }
#post-71 .display03 { display: block; }

.columnInnr.single dl dd:nth-child(2) p > span.fl:first-child {
    font-size: 80%;
    background: #ed458c;
    color: #fff;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    padding: 2px 10px;
    text-align: center;
    margin-right: 10px;
}

span.nav-subtitle { display: none;}

/*----------
tips
----------*/
#tips .mainvisual {
    height: 60vh;
    background: url(../images/mainImg_sunayama.png) center top no-repeat;
    background-size: cover;
}
#tips .mainvisual h2,
#singlePage .mainvisual h2 {
    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
    padding: 35px 30px;
    background: rgba(52,110,242,0.55);
    letter-spacing: 0.5px;
}
#tips .mainvisual h2 span {
    display: block;
    font-size: 25px;
    margin-top: 15px;
    letter-spacing: 0;
}
#singlePage .mainvisual h2 {
    font-size: 28px;
    padding: 20px 30px;
}

#tips #contentIn {
    margin-top: 50vh;
    padding: 0 0 60px;
}

#tips h4 {
    color: #ff4457;
    margin-bottom: 30px;
}

.article div.txtarea { width: 52%;}
.article div.txtarea p {
    line-height: 2.2;
    font-size: 17px;
    letter-spacing: 0.02em;
}
.article p.img-box {
    width: 45%;
    height: auto;
    margin-bottom: 1em;
}
.article ul.ulImg { width: 45%;}
.article ul.ulImg li { margin-bottom: 1em;}
.article ul.ulImg li:first-child { margin-left: 60px;}
.article ul.ulImg li:last-child { margin-left: 150px;}

#tips .block01 {
    display: block;
    background: url(../images/bg_sunayama01.png) center bottom no-repeat #79a5fe;
    background-size: 100% auto;
    padding: 140px 0 0;
    height: 1100px;
}
#tips .block01 h3 {
    border-bottom: none;
    font-size: 28px;
    margin-bottom: 30px;
    line-height: 1.8;
    letter-spacing: 2px;
}
#tips .block01 h3 span {
    display: block;
    font-size: 80%;
}
#tips .block01 p {
    color: #fff;
    font-size: 18px;
    line-height: 2.0;
    letter-spacing: 0.05em;
    text-shadow: 0 0 2px rgba(0,0,0,0.3), 1px 1px 3px rgba(0,0,0,0.3);
}

#tips .block02 { padding: 80px 0 60px;}
#tips .block02 h3 {
    display: block;
    background: url(../images/bg_sunayama02.png) center top no-repeat;
    background-size: cover;
    text-align: center;
}
#tips .block02 h3 span {
    display: inline-block;
    color: #3b3b3b;
    padding: 70px 0 60px;
    font-size: 26px;
}

.lp_h2_font {
    display: inline-block;
    margin-right: -5px;
    text-indent: -5px;
    letter-spacing: 0.5px;
    font-size: 105%;
}


/*----------
company
----------*/
.accessInfo {
    text-align: center;
    font-size: 18px;
    margin-bottom: 40px;
}
.accessInfo p { margin-bottom: 10px;}

.accessInfo table {
    width: 100%;
    table-layout: fixed;
}
.accessInfo table {
    max-width: 740px;
    margin: 0 auto;
}
.accessInfo table tr th,
.accessInfo table tr td {
    border: 1px dotted #ed458c;
    padding: 5px;
    text-align: center;
}

.guide_push dl { width: 48%;}
.guide_push dl dt { width: 45%;}
.guide_push dl dd {
    width: 52%;
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
}
.guide_push dl dd span {
    display: block;
    font-size: 16px;
}
.guide_push dl dd span:first-child {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 8px;
}

/*----------
form
----------*/
table#booking-option-table td input+label.field-item {
    display: inline!important;
    padding-right: 10px;
}
span.option-note.kids_item {
    display: block;
    font-size: 90%;
    margin-top: 5px;
    color: red;
}

table.mailform.tableStyle--type01 {
    display: block;
    margin: 0 auto 30px;
    max-width: 900px;
}
.mailform th {
    border-right: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    text-align: center;
    background: #f0f0f0;
    font-weight: 400;
    padding: 16px 10px;
    width: 240px;
}
.mailform tr:first-child th {
    border-top: 3px solid #ed458c;
}
table.mailform div.fmail_must {
    float: right;
    width: 30px;
    height: 16px;
    overflow: hidden;
    margin: 0px 0px 0px 5px;
    background-image: url(../images/mfp_must.gif);
    text-indent: -50000px;
}
.mailform td {
    border-bottom: 1px solid #dcdcdc;
    padding: 15px 20px;
    width: 73%;
}
.mailform tr:first-child td {
    border-top: 3px solid #dcdcdc;
}

.info {
    padding: 0px !important;
    color: #009900;
}
.confirm .info,
.confirm table.mailform div.fmail_must,
.confirm .mailform td > br { display: none; }

input.p-postal-code {
    width: auto!important;
    display: inline-block!important;
    margin-left: 5px!important;
}
input#birthday,
input#age { width: auto!important; display: inline-block!important;}
input#age { margin-right: 5px!important;}

.mailform label { display: inline-block;}
.mailform label input[value="女性"] { margin-left: 15px;}


/*----------
joboffer
----------*/
.lp_main01,.lp_main02 { position: relative;}
.lp_main01 > h1.lp_h1 {
    position: absolute;
    right: 0;
    top: 340px;
}

.lp_txt01 {
    background: url(../images/main_catch.png) 0 0 no-repeat #fff;
    background-size: cover;
    position: absolute;
    display: block;
    right: 0;
    bottom: 0;
    width: 80%;
}
h2.lp_h2 {
    font-size: 58px;
    padding: 60px 12% 60px 5%;
    display: block;
}

.lp_txt02 {
    position: absolute;
    background: #ed458c;
    top: 0;
    left: 0;
    width: 75%;
    color: #fff;
    padding: 55px 5% 55px 12%;
}
.lp_txt02 p {
    font-size: 25px;
    letter-spacing: 2px;
    line-height: 1.7;
}
.lp_txt02 > p:first-child { margin-bottom: 20px; }

h3.lp_h3 {
    font-size: 30px;
    color: #212121;
    letter-spacing: 0;
    border-bottom: none;
    padding: 60px 0 0;
    margin: 0 auto 80px;
}
.pink { color: #f50c6f; }
.lpBold {
    font-size: 115%;
    margin-left: -10px;
    margin-right: -10px;
}

.lp_point { margin: 0 auto 70px;}
.lp_point dl { width: 30%;}
.lp_point dl dt {
	position: relative;
    background: url(../images/point_bg.png) center top no-repeat;
    background-size: 100% auto;
    max-width: 330px;
    margin: 0 auto 10px;
    padding: 20px 24px 52px;
    font-size: 28px;
    font-weight: 700;
}
.lp_point dl dt span.lpp {
	display: inline-block;
    position: absolute;
    top: -37px;
    left: -2px;
    background: #ed458c;
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    padding: 3px 15px;
}
.lp_point dl dd {
    font-size: 18px;
    padding: 0 10px;
    line-height: 1.7;
}

h4.lp_h4 {
    display: block;
    background: #ed458c;
    color: #fff;
    padding: 10px 0;
}
h5.lp_h5 {
    font-size: 18px;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.lp_job .section p {
    margin-bottom: 20px;
    font-size: 16px;
}
p.job_info span {
    display: block;
    margin-bottom: 18px;
}

span.ji {
    position: relative;
    padding-left: 24px;
}
span.ji:first-line { font-weight: 700; }
span.ji:before {
    content: "⓵";
    position: absolute;
    top: 0;
    left: 0;
}
span.ji:nth-child(3):before { content: "⓶";}
span.ji:nth-child(4):before { content: "⓷";}

.lp_job { margin-bottom: 80px;}

h3#ttlH3 {
    color: #333;
    font-size: 30px;
    line-height: 1.4;
    position: relative;
    margin-bottom: 10px;
    padding-top: 40px;
}
section.contactBlock h3#ttlH3 {
    border-bottom: none;
    color: #fff;
    margin-bottom: 40px;
    padding-bottom: 0;
    padding-top: 10px;
}
h3#ttlH3:after {
    content: "";
    position: absolute;
    bottom: -20px;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 120px;
}
section.contactBlock h3#ttlH3:after {
    border-bottom: 2px solid #fff;
    bottom: -15px;
    width: 100px;
}

.joboffer .contactBlock ul li:first-child a {
    font-size: 32px;
}
.joboffer .contactBlock ul li a:before {
    left: -300px;
}
.joboffer .contactBlock ul li:first-child a .txt_small {
    display: block;
    font-size: 46%;
    letter-spacing: 0;
}
