@charset "utf-8";

#onlineContents {
    color: #000;
}

/*******************************
fonts
*******************************/
@font-face {
font-family: "gothic01";
	src: url(/online/fonts/NotoSansCJKjp-Regular.eot) format("eot"), url(/online/fonts/NotoSansCJKjp-Regular.woff) format("woff");
}

@font-face {
font-family: "gothic02";
	src: url(/online/fonts/NotoSansCJKjp-Bold.eot) format("eot"), url(/online/fonts/NotoSansCJKjp-Bold.woff) format("woff");
}

/*******************************
mainVisual
*******************************/
#mainVisual {
    background: url("/online/images/mainVisualbg01.png") 0 0 repeat-x;
}

#mainVisual h1 {
    width: 1280px;
    margin: 0 auto;
    max-width: 100%;
}

/*******************************
intro
*******************************/
#intro {
    background: #00336a;
}

#intro div {
    width: 1070px;
    margin: 0 auto;
    background: url("/online/images/introBg01.png") 100% 55% no-repeat;
    font-size: 21px;
    font-family: "gothic02";
    padding: 70px 0;
    color: #fff;
    letter-spacing: 0.02em;
}

#intro div p {
    line-height: 2;
}

/*******************************
features
*******************************/
#features {
    background: #f4f3f1;
    padding: 44px 0;
}

#features dl {
    width: 826px;
    margin: 0 auto;
    border: 1px solid #00336a;
    box-shadow: 3px 3px rgba(0,51,106,1);
}

#features dl dt {
    background: #00336a;
    text-align: center;
    color: #fff;
    font-family: "gothic02";
    font-size: 25px;
    padding: 15px 0 20px;
}

#features dl dd {
    padding: 32px 48px 15px;
    background: #fff;
}

#features dl dd ul {
    display: flex;
    justify-content: space-between;
}

#features dl dd ul li {
    width: 221px;
    position: relative;
    text-align: center;
}

#features dl dd ul li:first-child {
    color: #D91617;
}

#features dl dd ul li:nth-child(2) {
    color: #00B900;
}

#features dl dd ul li:last-child {
    color: #4A8CFF;
}

#features dl dd ul li strong {
    position: absolute;
    top: 15px;
    left: 0;
    text-decoration: underline;
    font-size: 20px;
    width: 100%;
    font-family: "gothic02";
    line-height: 1.4;
    font-weight: normal;
}

#features dl dd ul li .baloon {
    position: absolute;
    top: 25px;
    right: -40px;
    font-size: 20px;
    width: auto;
}

/*******************************
link
*******************************/
#link {
    background: url("/online/images/linkBg01.png") 0 0 repeat-x;
    padding: 70px 0 64px;
}

#link ul {
    width: 1014px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

#link ul li {
    width: 480px;
    background: url("/online/images/linkArrow01.png") 50% 100% no-repeat;
    padding-bottom: 50px;
}

#link ul li a:hover {
    opacity: 1.0!important;
}

#link ul li dl {
    padding-top: 60px;
    background: #fff;
    height: 200px;
    position: relative;
    border: 1px solid #00336a;
    box-shadow: 3px 3px rgba(0,51,106,1);
}

#link ul li a:hover dl {
    background: #f4f3f1;
}

#link ul li dl dt {
    position: absolute;
    top: -16px;
    left: 0;
    text-align: center;
    width: 100%;
}

#link ul li dl dt img {
    width: auto;
    margin: 0 auto;
}

#link ul li dl dd {
    font-size: 30px;
    text-align: center;
    font-family: "gothic02";
    line-height: 1.5;
}

#link ul li dl dd strong {
    text-decoration: underline;
}

#link ul li:first-child dl dd span {
    color: #e90000;
    font-size: 22px;
    text-decoration: none;
}

#link ul li dl dd .linkLogo {
    position: absolute;
    bottom: 38px;
    left: 0;
    text-align: center;
    width: 100%;
}

#link ul li dl dd .linkLogo img {
    width: auto;
    margin: 0 auto;
}

#link ul li #linkBox01 {
    display: flex;
    border: 1px solid #00336a;
    box-shadow: 3px 3px rgba(0,51,106,1);
}

#link ul li #linkBox01 dl {
    border: none;
    box-shadow: none;
    width: 50%;
}

#link ul li #linkBox01 dd {
    font-size: 26px;
}

#link ul li p {
    margin-top: 20px;
    color: #000;
    font-family: "gothic02";
    text-align: center;
    margin-bottom: 1em;
    font-size: 21px;
}

/*******************************
sectionYoutube
*******************************/
.sectionYoutube {
    position: relative;
    background: #f4f3f1;
}

.sectionYoutube .catch {
    position: absolute;
    top: -15px;
    left: 0;
    text-align: center;
    width: 100%;
}

.sectionYoutube .catch img {
    width: auto;
}

.sectionYoutube h2 {
    background: #00336a;
    padding: 80px 0 44px;
    text-align: center;
    font-size: 38px;
    font-weight: bold;
    color: #fff;
    text-decoration: underline;
}

.sectionYoutube h2 img {
    width: auto;
    display: inline-block;
    margin-right: 50px;
    vertical-align: middle;
}

.sectionYoutubeBox01 {
    width: 1000px;
    margin: 0 auto;
    padding: 45px 0 90px;
}

.sectionYoutubeBox01 p {
    text-align: center;
    font-family: "gothic02";
    font-size: 22px;
}

.sectionYoutube .sectionYoutubeLink01 {
    margin-top: 45px;
    display: flex;
    justify-content: space-between;
}

.sectionYoutube .sectionYoutubeLink01 li {
    width: 310px;
    border: 1px solid #00336a;
    box-shadow: 3px 3px rgba(0,51,106,1);
    background: url("/online/images/sectionYoutubeArrow01.png") 96% 50% no-repeat #fff;
}

.sectionYoutube .sectionYoutubeLink01 li a {
    display: block;
    font-size: 22px;
    color: #00336a;
    font-family: "gothic02";
    padding: 20px 15px 20px 20px;
}

.sectionYoutube section {
    max-width: 100%;
    margin: 60px auto 0;
    padding: 0;
}

.sectionYoutube section h3 {
    font-size: 23px;
    color: #00336a;
    text-align: center;
    background: #fff;
    border: 1px solid #00336a;
    padding: 15px;
    font-weight: bold;
}

.sectionYoutube ul.video {
    margin-top: 3px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.sectionYoutube ul.video li {
    width: 300px;
    margin: 45px 15px 0;
    font-size: 16px;
}

.sectionYoutube ul.video li a {
    position: relative;
    display: block;
    background: #000;
}

.sectionYoutube ul.video li img {
    margin-bottom: 8px;
    display: block;
}

.sectionYoutube ul.video li a img {
    opacity: 0.6;
}

.sectionYoutube ul.video li .playback {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 60px;
    height: auto;
    z-index: 2;
    margin: 0;
    cursor: pointer;
    opacity: 1;
}

#sectionYoutube02.sectionYoutube ul.video li {
    margin: 5px 15px 0;
}

#sectionYoutube02.sectionYoutube ul.video li dl dt {
    font-size: 22px;
    font-family: "gothic02";
    line-height: 1.4;
    color: #00336a;
    text-decoration: underline;
    padding-top: 5px;
}

#sectionYoutube02.sectionYoutube ul.video li dl dd {
    font-size: 15px;
    letter-spacing: 0;
    line-height: 1.6;
    margin-top: 12px;
}

#sectionYoutube .sectionYoutubeBnr01 {
    width: 672px;
    margin: 30px auto 0;
}

#sectionYoutube .sectionYoutubeBnr01 a {
    display: block;
}

/*******************************
sectionLineZoom
*******************************/
#sectionLineZoom {
    position: relative;
    background: #f4f3f1;
}

#sectionLineZoom .catch {
    position: absolute;
    top: -15px;
    left: 0;
    text-align: center;
    width: 100%;
}

#sectionLineZoom .catch img {
    width: auto;
}

#sectionLineZoom h2 {
    background: #00336a;
    padding: 80px 0 44px;
    text-align: center;
    font-size: 38px;
    font-weight: bold;
    color: #fff;
    text-decoration: underline;
}

#sectionLineZoom h2 img {
    width: auto;
    margin-right: 25px;
    vertical-align: middle;
}

#sectionLineZoom h2 img.pc {
    display: inline-block!important;
}

#sectionLineZoom h2 img.zoom {
    margin-left: 50px;
}

#sectionLineZoom .sectionLineZoomBox01 {
    width: 1020px;
    margin: 0 auto;
    padding: 45px 0 50px;
}

#sectionLineZoom .sectionLineZoomBox01 p {
    text-align: center;
    font-family: "gothic02";
    font-size: 22px;
    letter-spacing: 0;
    line-height: 1.8;
}

#sectionLineZoom .sectionLineZoomBox02 {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
}

#sectionLineZoom .sectionLineZoomBox02 section {
    max-width: 100%;
    margin: 0;
    padding: 0;
    width: 450px;
}

#sectionLineZoom .sectionLineZoomBox02 section:first-child {
    padding: 0 60px 0 0;
    border-right: 2px dotted #4D4D4D;
}

#sectionLineZoom .sectionLineZoomBox02 section table {
    border-collapse: collapse;
    width: 100%;
    margin-top: 30px;
}

#sectionLineZoom .sectionLineZoomBox02 section table th,
#sectionLineZoom .sectionLineZoomBox02 section table td {
    font-size: 16px;
    padding: 10px 1em;
    line-height: 1.4;
    font-family: "gothic02";
    font-weight: normal;
    vertical-align: middle;
    letter-spacing: 0;
}

#sectionLineZoom .sectionLineZoomBox02 section table th {
    background: #e1ded9;
}

#sectionLineZoom .sectionLineZoomBox02 section table tr:not(:last-child) th,
#sectionLineZoom .sectionLineZoomBox02 section table tr:not(:last-child) td {
    border-bottom: 2px dotted #4D4D4D;
}

#sectionLineZoom .sectionLineZoomBox02 section table tr:last-child th,
#sectionLineZoom .sectionLineZoomBox02 section table tr:last-child td {
    padding: 15px 1em;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow {
    margin-top: 36px;
    border: 1px solid #00336a;
    width: 100%;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow h4 {
    background: #00336a;
    color: #fff;
    text-align: center;
    font-family: "gothic02";
    font-size: 18px;
    padding: 13px 0;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow ol li {
    padding: 25px 10px 27px 72px;
    position: relative;
    line-height: 1.3;
    letter-spacing: 0;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow ol li:nth-child(odd) {
    background: #e1ded9;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow ol li img {
    width: auto;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow ol li img.number {
    position: absolute;
    top: 20px;
    left: 18px;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow ol li img.arrow {
    position: absolute;
    bottom: -15px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    z-index: 2;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow strong {
    font-size: 18px;
    display: block;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow p {
    font-family: "gothic01";
    font-size: 16px;
    line-height: 1.4;
    margin-top: 5px;
    text-align: left;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow p img {
    vertical-align: middle;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow p img.pc {
    display: inline-block!important;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow p a:not(:last-child) img {
    margin-right: 5px;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow p b {
    color: #00336a;
    font-family: "gothic02";
    font-weight: normal;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow a {
    text-decoration: underline;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow ol li.date {
    display: flex;
}

#sectionLineZoom .sectionLineZoomBox02 section .flow ol li.date p {
    margin-top: -7px;
    margin-left: 50px;
}

#sectionLineZoom .btnLine01 {
    margin-top: 30px;
}

#sectionLineZoom .btnZoom01 {
    margin-top: 37px;
}

#sectionLineZoom .btnLine01 a,
#sectionLineZoom .btnZoom01 a {
    display: block;
}

#sectionLineZoom .btnLine01 img,
#sectionLineZoom .btnZoom01 img {
    width: auto;
}

/*******************************
reservation
*******************************/
#reservation {
    width: 1020px;
    margin: 0 auto;
    padding: 70px 0 30px;
    position: relative;
}

#reservation dl {
    width: 500px;
    line-height: 1.4;
}

#reservation dl dt {
    font-size: 18px;
}

#reservation dl dt strong {
    font-size: 22px;
    color: #00336a;
    display: block;
    margin-bottom: 5px;
}

#reservation dl dt strong span {
    font-size: 24px;
}

#reservation dl dd {
    margin: 14px 0 48px;
}

#reservation dl dd a {
    display: block;
}

#reservation .photo01 {
    width: auto;
    position: absolute;
    bottom: 0;
    right: 0;
}

/*******************************
snsOnline
*******************************/
#snsOnline {
    background: #00336a;
    color: #fff;
    padding: 60px 0 70px;
    text-align: center;
	margin-bottom: 1em;
}

#snsOnline p.snsOnlineTxt01 {
    font-size: 18px;
    font-family: "gothic01";
    letter-spacing: 0.25em;
}

#snsOnline p.snsOnlineTxt01 span {
    font-size: 20px;
}

#snsOnline p.snsOnlineTxt02 {
    font-size: 22px;
    letter-spacing: 0.15em;
    font-family: "gothic02";
    margin-top: 18px;
}

#snsOnline ul {
    margin-top: 40px;
    letter-spacing: -.4rem;
}

#snsOnline ul li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 26px;
}

#snsOnline ul li a {
    display: block;
}

#snsOnline ul li a img {
    width: auto;
}

.l_movie {
    margin-top: 20px;
}


/*******************************
category
*******************************/
.faculty .category {
    margin-top: 45px;
}
.faculty .category h4 {
    font-size: 22px;
    font-family: "gothic02";
    line-height: 1.4;
    color: #00336a;
    text-decoration: underline;
    padding-top: 5px;
    font-weight: 500;
}
.faculty .category .video {
    justify-content: flex-start;
}
.faculty .category .video li {
    margin: 20px 50px 0 0;
}
.faculty .category .video li:nth-of-type(3n) {
    margin: 20px 0 0 0;
}
