@charset "UTF-8";

body {
    position: relative;
}
body::before {
    content:"";
    display:block;
    position:fixed;
    top:0;
    left:0;
    z-index:-1;
    width:100%;
    height:100vh;
    background-repeat: no-repeat;
    background-position: center center;
    background-image:url('../img/bg-sp.jpg');
    background-size: cover;
}


/*
body { 
	background: url("../img/bg-sp.jpg") no-repeat top center;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
}
*/

a{
    color: #333333!important;
}

a:visited {
    color: #333333;
}

p{
    font-size: 16px;
}



/* ご挨拶 */

#wrapper-message{
	padding: 20px 20px 0px 20px;
	z-index: 10;
	border: none;
	background-color: #edf3f7;
}
#wrapper-message{
    background-color: #fff;
}

.matsumura_message {
	margin: 0 auto 0 auto;
	padding: 0 2px 10px 2px;
	background-color: rgba(255,255,255,1.0);
	background: linear-gradient(00deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.6));
	text-align: center;
	
}
.matsumura_message_lead{
    line-height: 24px;
}

.matsumura_message .section-body{
}
.matsumura_message-footer {
	width: 200px;
	height: 100px;
	display:  block;
	margin: 0 auto 40px auto;	
	background: url(../img/top/arrow_down_white.png) no-repeat top center;

	opacity: 1;
}
.grad-wrap {
  position: relative;
}
.grad-wrap + .grad-wrap {
  margin-top: 40px;
}
.grad-trigger {
    color: #333333;
    font-size: 16px;
	cursor: pointer;
	padding-top: 10px;
    padding-bottom: 10px;
	display: block;
	margin-bottom: 0;
    border: 1px solid #CCCCCC;
}
.grad-trigger a {
    color: #333333;
}
.grad-trigger:hover {
	background: #479bc5;
}
.grad-item {
  position: relative;
  overflow: hidden;
}
.grad-item.is-hide {
  height: 180px; /*隠した後の高さ*/
}
.grad-item p + p {
  margin-top: 1em;
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 140px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
.grad-trigger.is-show + .grad-item::before {
  display: none;
}




#wrapper-message h3{
    display: inline-block;
    color: #fff;
    background-color: #4A4B4C;
    padding:10px;
    font: normal normal normal 16px/20px Hiragino Mincho ProN;
    letter-spacing: 1.32px;
}




/* メイン
---------------------------------*/

#wrapper-top {
	width: 100%;
	background-size:640px auto;
}
#wrapper-top #main {
	width: 100%;
	background-size: 640px auto;
}
#wrapper-top #main #visual {
	margin: 0 auto;
	width: 90%;
    padding-top: 20px;
    padding-bottom: 20px;
}
#wrapper-top #main #visual h1 {
}
#wrapper-top #main #visual p {
	display: none;
}

#top .gnav {
	display: none;
}
#top .gnav ul#menu {
	border-top: solid #53b4e5 4px;
}
#top .gnav ul#menu li {
}
#top .gnav ul#menu li a {
	color: #333;
	padding: 0.5em 1em;
	display: block;
	border-bottom: 1px solid #53b4e5;
	font-size: 140%;
}
#top .gnav ul#menu li:nth-child(even) a{ background: #edf3f7; }


#gnav {	
	display: block;
}
#gnav ul#menu{
    list-style-type: none;
    color: #333;	
	margin: 10px 0;
}
#gnav ul#menu li{
    margin: 0;
	padding: 0;
	cursor : pointer;
	font-weight: bold;	
	font-size: 140%;
}
#gnav ul#menu li a {
	color: #333;
    display: block;
	border-bottom: 1px solid #53b4e5;
	padding: 0.5em 1em;
}
#gnav ul#menu li a:hover {
	color: #52b4e5;
}
#gnav ul.child{
	padding: 0;
}
#gnav ul.child li a{
    padding: 0;
    display: block;
    color: #333;
	font-size: 70%;
	font-weight: normal;
	background-color: #fff;
	padding-left: 2em!important;
}

.greeting {
	margin: 0 auto;
	background-color: rgba(255,255,255,0.8);
	padding: 10px;
	
}
.greeting .section-body {
	background: url("../img/top/bg_logo.png") no-repeat bottom right;
}
.greeting-footer {
	width: 200px;
	height: 100px;
	display:  block;
	margin: 0 auto 40px auto;	
	background: url(../img/top/arrow_down_white.png) no-repeat top center;
	opacity: 0.8;
}

.btnContents {}
.btnContents h3 { padding-left: 30px; padding-right: 30px;}

.btnContents .column3 {}
.btnContents .column3 div { width: 100%;}
.btnContents .column2 {}
.btnContents .column2 div { width: 100%;}
.btnContents .column1 {}
.btnContents .column1 div { /*width: 100%;*/s }

/*
.btnContents .btnBonestretch {	
	background: url(../img/top/btnbg_bonestretch.png) no-repeat 0 0;
	background-size: cover;
	padding: 20px 0;
}
.btnContents .btnWtlineshoes {	
	background: url(../img/top/btnbg_wtlineshoes.png) no-repeat 0 0;
	background-size: cover;
	padding: 20px 0;
}

.service_online_tutoring {
	width: 90%;
	background: linear-gradient(-45deg, rgba(255,255,255, 0.0), rgba(255,255,255, 0.0)),
  url("../online_tutoring/img/bg_lightwatercolor.jpg") 0 0 no-repeat;
	
	background-size: cover;
	border: 1px solid #fff;
	margin: 0 auto;
}
.service_lesson {
	width: 90%;
	background: linear-gradient(-45deg, rgba(255,255,255, 0.0), rgba(255,255,255, 0.0)),
  url("../lesson/img/bg_main.jpg") center center no-repeat;
	background-size: cover;
	border: 1px solid #fff;
	margin: 0 auto;
}
.btnContents .btnOnline .service_bonestretch  {
	width: 90%;
	background: linear-gradient(-45deg, rgba(255,255,255, 0.0), rgba(255,255,255, 0.0)),
  url("../bone_stretch/img/bg_main.jpg") center center no-repeat;
	background-size: cover;
	border: 1px solid #fff;
	margin: 0 auto;
}
*/

.service_first {
	width: 100%;
	background: linear-gradient(-45deg, rgba(0, 0, 0, 0), rgba(51, 175, 4, .4)),
  url("../first/img/bg_first_world_sp.jpg") 0px 0px no-repeat;
	background-size: cover;
	border: 1px solid #fff;
	margin: 0 auto;
}

.btnContents a.btnDetail{
	background: #52b4e5;
	color: #fff;
	padding: 10px 40px;	
}


/* コンテンツ
---------------------------------*/

#wrapper #content {
	clear: both;
}

.container_contents {
    flex-direction: column;
    align-items: center;
}
.item_contents {
    width: 100%;
    max-width: calc(100% - 20px); /* 横スクロールが出ないように調整 */
    margin: 10px auto; /* 上下に10pxの余白を追加 */
    box-sizing: border-box; /* パディングとボーダーを含めた幅計算 */
}
.box_contents{
    background-color: #FFFFFF;
    border: 1px solid #CCCCCC;
}
.box_contents p{
    padding: 10px;
    text-align: center;
}
.box_contents-btm{
    background: #3C8DB5 0% 0% no-repeat padding-box;
    opacity: 1;
}
.box_contents-btm p{
    color: #ffffff;
    text-align: center;
    line-height: 24px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.container_sns {
    display: flex;
    flex-wrap: wrap; /* 要素を折り返す */
    justify-content: space-between;
}
.item_sns {
    width: calc(50% - 10px); /* 2つずつ2列に配置 */
    margin-bottom: 20px; /* 下部に余白を追加 */
}
.item_sns:nth-child(odd) {
    margin-right: 10px; /* 奇数番目のアイテムの右に余白を追加 */
}






.bnn_campaign {
	margin: 10px 10px;
}


#intro {
	margin: 10px auto 20px auto;
	padding: 0 20px;
}

.hotbnn {
	width: 90%;
	margin: 10px auto 30px auto;
}
.hotbnn ul li {
	margin-bottom: 10px;
}
.hotbnn ul li a {
	display: block;
	width: 100%;
}
.hotbnn ul li a img {
	width: 100%;
	margin-bottom: 15px;
}


/* ボックス */
#wrapper #content .box {
	border:2px solid #ddd;
	margin: 0 10px 10px 10px;
	overflow: hidden;
	_zoom: 1;
}
#wrapper #content .box h2 {
	background-color: #52b4e5;
	color: #fff;
	padding: 8px 5px 6px 10px;
	font-size: 140%;
	font-weight: bold;
	letter-spacing: 0.5px;
	border-bottom: 4px solid #bae1f5;
	font-weight: bold;
}
#wrapper #content .box h2 a {
	font-weight: normal;
	margin:  0 5px 0 0;
	padding: 0 6px 0 10px;
	color: #333;
	background: url(../common/img/ico_outlink.gif) no-repeat 8px 5px #fff;
	float: right;
	text-indent: -9999px;
	
	 border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}
#wrapper #content .box h2 a:hover {
	background: url(../common/img/ico_outlink.gif) no-repeat 8px 5px #dceffa;
}


/* lecture */
#wrapper-lecture {
    background-color: #fff;
    /*
	margin: 0 auto;
	width: 980px;
	position: relative;	
	z-index: 30;
    */
}

#wrapper-lecture h3{
    font-size: 16px;
    color: #fff;
    background: linear-gradient(-45deg, #3D8DB5 0%, #3D8DB5 50%, #4EB3E5 50%, #4EB3E5 100%);
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

#wrapper-lecture #lecture-info{
    border: none;
    margin-top: 0;
    padding: 0 0;
}

/* News メディア出演 SNS */
.container_news{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.item_news{
    width: 100%;
    
}
.box_news{
}




/*メディア出演 SNS内 トピックス*/
#media {
}
#wrapper #content #media.box {
	background-color: #fff7f7;
	background-color: #f5f8fa;
}
#wrapper #content #media.box h2 {
	background-color: #f44b4b;
	border-bottom: 4px solid #f4c1c1;
}

#media .mediaset {
	padding: 16px 19px;
	height:300px;
	overflow-y: scroll;
}
#media .mediaset .mediainfo {
}

#media .mediaset .mediainfo dl {
	margin-bottom: 10px;
	overflow: hidden;
}
#media .mediaset .mediainfo dl dt {
	font-size: 14px;
	margin-bottom: 0.5em;
    color: #4EB3E5;
    float: left;
    padding-top: 20px;
}

#media .mediaset .mediainfo dl dt .label {
    display: inline-block;
    vertical-align: middle;
	font-weight: bold;
    text-align: center;
    background: #4EB3E5 0% 0% no-repeat padding-box;
    color: white;
    padding: 5px 15px;
    margin-right: 10px;
    margin-left: 10px;
}
#media .mediaset .mediainfo dl dt .date {
    display: inline-block;
    vertical-align: middle;
}

#media .mediaset .mediainfo dl dt strong {
	color: #f44b4b;
}
#media .mediaset .mediainfo dl dd {
    font-size: 14px;
    border-bottom: 1px solid #ccc;
    padding: 5px 10px 10px;
    clear: both;
}

#media .mediaset .mediainfo dl dd span {
	color: #f56c1a;
	font-size: 8px;
}
#media .mediaset .mediainfo dl dd a {
}
#media .mediaset .mediainfo dl dd a:hover {
	font-weight: bold;
	background-color:#fff;
}




/* ピックアップ */
/*#pickup {
}
#pickup .bookset  {
	padding: 10px 10px;
}
#pickup .bookset dl {
	overflow:hidden;
	_zoom:1;
	margin-bottom: 15px;
}
#pickup .bookset dl dt {
	float: left;
	margin-right: 10px;
}
#pickup .bookset dl dd {
}
#pickup .bookset dl dd.bookname {
	font-weight: bold;
	font-size: 120%;
	margin-bottom:6px;
}
#pickup .bookset dl dd.bookname span {
	font-size: 80%;
	font-weight: normal;
	color: #4eb3e5;
	display: block;
}
#pickup .bookset dl dd.booktext {
	font-size: 90%;
}

#pickup .bookset .bookinfo {
}
#pickup .bookset .bookinfo ul {
}
#pickup .bookset .bookinfo ul.spec {
	margin-bottom: 10px;
}
#pickup .bookset .bookinfo ul.spec li {
	border-bottom: 1px dotted #ccc;
	font-size: 100%;
	margin-bottom: 2px;
	padding-bottom: 2px;
}
#pickup .bookset .bookinfo ul.spec li span {
	background-color: #4eb3e5;
	color: #fff;
	width: 70px;
	text-align:center;
	display:inline-block;
	margin-right: 10px;
}
#pickup .bookset .bookinfo ul.btn {
	background-color: #f2f2f2;
	padding-top:5px;
	padding-bottom:5px;
}
#pickup .bookset .bookinfo ul.btn li {
	line-height:0;
	margin-bottom:5px;
	text-align: center;
}
#pickup .bookset .bookinfo ul.btn li a {
	width: 260px;
	height: 40px;
	display: block;
	text-indent: -9999px;
	margin: 0 auto;
}
#pickup .bookset .bookinfo ul.btn li.amazon a {
	background: url(../img/top/btn_amazon_l_off.gif) no-repeat top left;
	background-size: 260px 40px;
}
#pickup .bookset .bookinfo ul.btn li.seven a {
	background: url(../img/top/btn_seven_l_off.gif) no-repeat top left;
	background-size: 260px 40px;
}
#pickup .bookset .bookinfo ul.btn li.detail a {
	background: url(../img/top/btn_detail_l_off.gif) no-repeat top left;
	background-size: 120px 36px;
}
*/


/* 新着情報 */
#info {
}
#info .infoset {
	padding: 10px;
}

#info dl:nth-child(n+4) {
	display: none;
}

#info dl  dt {
	color: #4eb3e5;
	margin-bottom:4px;
	font-size: 120%;
	background: url(../common/img/icon.gif) no-repeat 0 5px;
	padding-left: 14px;
}
#info dl  dt span {
	display: inline-block;
	color:#fff;
	margin-left: 5px;
	padding:0 6px;
}
#info dl  dt span.info {	background-color: #6ec01f;}
#info dl  dt span.cp {	background-color: #f96a6a;}
#info dl  dt span.item {	background-color: #666666;}
#info dl  dt span.sportcare {	background-color: #3ba6df;}

#info dl  dd {
	border-bottom: 1px dotted #ccc;
	margin-bottom: 8px;
	padding-bottom: 8px;
	font-size: 120%;
}
#info dl  dd a {
	color: #333;
	display: block;
	padding:4px;
}
#info dl  dd a.outlink {
	padding-left : 22px;
	background: url(../common/img/ico_outlink.gif) no-repeat 0px 8px;
}


/* スポーツケア整体研究所 雑記帳 */
#blog {
}
#blog #rss {
	height: 36em;
	overflow-y: scroll;
}
#blog #rss ul {
	padding: 10px;
}
#blog #rss ul li {
	border-bottom: 1px dotted #ccc;
	margin-bottom: 8px;
	padding-bottom: 8px;
	font-weight: normal;
}
#blog #rss ul li a {
	color: #333;
	display: block;
	padding:4px 4px 4px 0px;
	font-weight: bold;
}
#blog #rss ul li a:hover {
	font-weight: bold;
	background-color:#ecf5fa;
}
#blog #rss ul li a:last-child {
	display: none;
}

/* Facebook */
#facebook {
    margin: 0 auto;
}

#facebook .setfb #fb-root {
}
#facebook .setfb .fbcomments,
#facebook .setfb .fb_iframe_widget,
#facebook .setfb .fb_iframe_widget[style],
#facebook .setfb .fb_iframe_widget iframe[style],
#facebook .setfb .fbcomments iframe[style],
#facebook .setfb .fb_iframe_widget span{
    width: 100%!important;
}

#facebook {
    background-color: #fff;
    padding: 10px;
    margin: 15px;
}
#facebook .img-container {
    width: 100%;
    height: 180px;
    overflow: hidden;
}
#facebook img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
#facebook p.lead_fb {
    font-size: 16px;
/*    border: 1px solid #f1f1f1;*/
    padding: 0 5px;
    margin-top: 10px;
}
#facebook p.btn_fb {
    font-size: 12px;
    color: #ffffff;
    background-color: #1877F2;
    text-align: center;
    padding: 5px;
    margin-top: 10px;
    border-radius: 3px;
}



/* リンク */
#link  {
	padding: 10px 20px;
	color: #333;
	font-size: 120%;
}
#link a {
	color: #333;
	display: block;
	padding:4px 4px 4px 20px;
	background: url(../common/img/ico_outlink.gif) no-repeat 0px 8px;
}

.container_contents-links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap; /* 要素を折り返す */
    justify-content: space-between;
}

.container_contents-links .item_contents {
    flex: 0 0 calc(50% - 10px); /* 上段の2つの要素の幅を設定 */
    box-sizing: border-box;
    margin-bottom: 20px; /* 下部に余白を追加 */
}

.container_contents-links .item_contents:nth-child(3) {
    flex: 0 0 50%; /* 下段の1つの要素の幅を設定 */
}




/* Youtube */
#youtube {
}
#youtube .player {
	display: none;
}
#youtube ul {
	padding: 10px;	
}
#youtube ul li.rssRow {
	border-bottom: 1px dotted #ccc;
	margin-bottom: 8px;
	padding-bottom: 8px;
}

#youtube ul li.rssRow:nth-child(n+4) {
	display: none;
}

#youtube ul li.rssRow h4 {
	font-size: 120%;
}
#youtube ul li.rssRow h4 a {
	color: #333;
	display: block;
	padding:4px 4px 4px 30px;
	background: url(../common/img/ico_outlink.gif) no-repeat 12px 8px;
}
#youtube ul li.rssRow div {
	color: #4eb3e5;
	margin-bottom:4px;
	font-size: 120%;
	background: url(../common/img/icon.gif) no-repeat 16px 6px;
	padding-left: 30px;
}
#youtube ul li.rssRow p {
	display: none;
}

/* フッター
---------------------------------*/

#wrapper #footer {
	clear: both;
	width: 100%;
	margin-top: 20px;
}
#wrapper #footer .pagetop {
	width: 100%;
	background-color:#fff;
}
#wrapper #footer .pagetop p {
	width: 100%;
	margin: 20px auto 10px auto;
	text-align: center;
	font-size: 140%;
}
#wrapper #footer .pagetop p a {
	color: #333;
}
#wrapper #footer .pagetop p a:hover {
	color: #ffa51f;
}
#wrapper #footer #footnav {
	width: 100%;
	background-color:#ecf5fa;
}
#wrapper #footer #footnav ul {
	width: 100%;
	margin: 0 auto;
	overflow:hidden;
	_zoom:1;
}
#wrapper #footer #footnav ul li {
	text-align: center;	
	border-bottom: 2px solid #c2ddeb;
	font-size: 140%;
}
#wrapper #footer #footnav ul li a {
	color: #333;
	display: block;
	padding:10px 0;	
	background-color:#ecf5fa;
}

#wrapper #footer #footsub {
	width: 100%;
	background-color:#333;
}
#wrapper #footer #footsub p.menu {
	letter-spacing: 0.5px;
	text-align: center;
	color: #fff;
	font-size: 98%;	
	padding: 20px 0 10px 0;
	width: 100%;
	margin: 0 auto;
	color: #999;
}
#wrapper #footer #footsub p.copyright {
	letter-spacing: 0.5px;
	text-align: center;
	color: #fff;
	font-size: 84%;	
	padding: 0 0 20px 0;
	width: 100%;
	margin: 0 auto;
	color: #ccc;
}
#footer #footsub p.menu a {
    color: #f6b554!important;
}

.tr{
    display: none;
}


#back-top{
    position: fixed;
    bottom: 0;
    right: 0;
}

i.fa{
    color: #52b4e5;
}

    #facebook .setfb {
        padding: 16px auto;
        overflow: auto;
        height: 340px;
    }
        .setfb {
            text-align: center; /* 中央揃え */
        }
        .fb-group {
            display: inline-block; /* インラインブロック要素として扱う */
        }

